Commit Graph

8325 Commits

Author SHA1 Message Date
Erik Krogh Kristensen
636d5e341c Merge pull request #11652 from erik-krogh/static-useInstanceOf
Java/C#/GO: Use instanceof in more places
2022-12-12 17:52:04 +01:00
Edward Minnix III
0ebfee8b11 Merge pull request #11241 from egregius313/egregius313/webview-file-access
Java: Query to detect Android Webview file access
2022-12-12 11:12:26 -05:00
erik-krogh
873d3553cd Merge branch 'main' into static-useInstanceOf 2022-12-12 15:36:54 +01:00
Chris Smowton
77004f3e15 Merge pull request #11258 from smowton/smowton/feature/kotlin-annotation-extraction
Kotlin: extract annotations
2022-12-12 09:52:49 +00:00
Michael Nebel
e0f1b38439 Merge pull request #11580 from michaelnebel/renamenegativemodels
C#/Java: Rename Negative Summary Model to Neutral Model
2022-12-12 07:59:06 +01:00
erik-krogh
8262fbbfb5 Java/C#/GO: Use instanceof in more places 2022-12-11 18:32:19 +01:00
Chris Smowton
5282c86158 Apply review feedback 2022-12-09 18:07:14 +00:00
Edward Minnix III
4278997a2c Reword WebView file access query description
Co-authored-by: Sam Browning <106113886+sabrowning1@users.noreply.github.com>
2022-12-09 11:36:09 -05:00
Edward Minnix III
8c8e71dd82 Grammar, concision, and style edits
Co-authored-by: Sam Browning <106113886+sabrowning1@users.noreply.github.com>
2022-12-09 11:35:02 -05:00
Michael Nebel
4835d14865 Java/C#: Delete the deprecated NeutralModelCsv class. 2022-12-09 15:11:49 +01:00
Ian Lynagh
1bf82cecfa Merge pull request #11602 from igfoo/igfoo/diaglimits
Kotlin: Improve diagnostic limit message
2022-12-09 14:05:47 +00:00
Michael Nebel
67732cbfa0 Java: Remove unneeded import for RegenerateModels.py. 2022-12-09 15:04:43 +01:00
Michael Nebel
1d103f57a0 C#/Java: Rename CaptureNegativeSummaryModels test to CaptureNeutralModels. 2022-12-09 15:04:43 +01:00
Michael Nebel
2cb88037a4 C#/Java: Rename Negative Summary Model to Neutral Model in conversion and generator tooling. 2022-12-09 15:04:43 +01:00
Michael Nebel
3af00a8f3f Java: Rename Negative Summary Model to Neutral Model. 2022-12-09 15:04:43 +01:00
Michael Nebel
079d48c42a Sync files. 2022-12-09 15:04:42 +01:00
Chris Smowton
b8ed3b7dbf Accept annotation test changes
These are notnull annotations that no longer get inappropriately attached to constructors
2022-12-09 12:57:20 +00:00
Chris Smowton
40e902eca9 Look through generic annotation types extracted from Kotlin 2022-12-09 11:52:28 +00:00
Chris Smowton
65dc0dc326 Add dummy extensible predicate definition to integration test 2022-12-09 11:17:37 +00:00
Chris Smowton
a161d79cd8 Remove no-longer-needed expected diagnostics 2022-12-09 10:33:06 +00:00
Chris Smowton
93ea433c49 Add missing imports 2022-12-09 10:33:06 +00:00
Chris Smowton
251513c1d3 Format ql 2022-12-09 10:33:06 +00:00
Chris Smowton
78234c52fd Ensure constructors don't get nullability annotations 2022-12-09 10:33:06 +00:00
Chris Smowton
f5dc5155f9 Don't introduce @NotNull on Kotlin methods that already have that annotation
This usually can't happen, but delegates pointing at Java appear to be synthesised with this normally-hidden annotation
2022-12-09 10:33:05 +00:00
Chris Smowton
c8e2ae8563 Accept integration test changes
These introduce newly-extracted annotations, and note that enum constants no longer get type-access expressions in some circumstances
2022-12-09 10:33:05 +00:00
Chris Smowton
7a7c08b185 Tolerate generic annotations
This causes them to render properly in PrintAst output due to `getAnnotationElement` working as expected, and will hide the fact that they are represented by raw types in bytecode.
2022-12-09 10:33:05 +00:00
Chris Smowton
f6888c727f PrintAst: Assign indices to annotation children that don't have source locations
This avoids them all tying at rank 1 as before.
2022-12-09 10:33:05 +00:00
Chris Smowton
01a5345660 Reimplement Deprecated annotation conversion suitable for older Kotlin versions 2022-12-09 10:33:05 +00:00
Chris Smowton
8ca05d8fef Exclude annotations from consistency check due to intentionally missing children 2022-12-09 10:33:05 +00:00
Chris Smowton
70ebb41d67 Restore nullability annotations
This is imperfect since arguments to those annotations will be missing, but at least the common case of a plain `@NotNull` or `@Nullable` will be right, and the `@NotNull`s introduced by the Kotlin compiler will be present as expected.
2022-12-09 10:33:05 +00:00
Chris Smowton
8bbb34a498 Convert kotlin.Deprecated back into a no-arg java.lang.Deprecated if applicable
This at least maintains consistency with the Java extractor, although we lose its arguments if any were supplied Java-side.
2022-12-09 10:33:05 +00:00
Chris Smowton
658c7a20cf Don't extract error expressions when a default value is missing
This is a shortcoming of the Kotlin extractor, but at least this way we don't introduce an inconsistency if the annotation is later seen from .kt source or by the Java extractor
2022-12-09 10:33:05 +00:00
Chris Smowton
5b2834c833 Restrict type access extraction to classes extracted from source
Type accesses have anonymous IDs, so we mimic the Java extractor and extract them only when seeing a class in a .kt source file.
2022-12-09 10:33:05 +00:00
Chris Smowton
0a788bcbc1 Don't extract return value type accesses for external annotations
This would cause inconsistencies when both the source and external view of the class are in scope, since the type access has a fresh id.
2022-12-09 10:33:05 +00:00
Chris Smowton
225913c49e Replace needless map call 2022-12-09 10:33:04 +00:00
Chris Smowton
80ef3a5290 Move meta-annotation support code out into its own class 2022-12-09 10:33:04 +00:00
Chris Smowton
c4ded5b4a7 Remove unused function 2022-12-09 10:33:04 +00:00
Chris Smowton
3dc9c2e57b Remove unnecessary unchecked cast 2022-12-09 10:33:04 +00:00
Chris Smowton
f9fc08bd40 Replace uses of the !! operator in borrowed code 2022-12-09 10:33:04 +00:00
Chris Smowton
81353f8654 Make annotation extraction compatible with all supported Kotlin versions 2022-12-09 10:33:04 +00:00
Chris Smowton
757fa60a46 Remove unused import 2022-12-09 10:33:04 +00:00
Chris Smowton
f9b878fe98 Add test for .kt defined, Java used repeatable annotation 2022-12-09 10:33:04 +00:00
Chris Smowton
5c019940db Fix missing !! removal 2022-12-09 10:33:04 +00:00
Chris Smowton
ca27f9516a Replace uses of !! operator 2022-12-09 10:33:04 +00:00
Chris Smowton
73df3166eb Test varargs annotation 2022-12-09 10:33:04 +00:00
Chris Smowton
6d5f962c56 Accept test changes (implicit annotations, restoration of annotation type accesses) 2022-12-09 10:33:03 +00:00
Chris Smowton
d96bca071d Add test for repeatable annotations 2022-12-09 10:33:03 +00:00
Chris Smowton
eaa9595ea2 Restore type-accesses to annotation methods; accept test changes. 2022-12-09 10:33:03 +00:00
Chris Smowton
9e0eb56d77 Extract repeatable annotation container types, including synthetic containers 2022-12-09 10:33:03 +00:00
Chris Smowton
0146d8229a Accept more test changes due to string quoting and the Java extractor ignoring the Metadata annotation 2022-12-09 10:33:03 +00:00