Commit Graph

8270 Commits

Author SHA1 Message Date
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
Chris Smowton
0446145a67 Accept test changes
These are due to changing string literal representation, omitting empty annotations blocks, and changes to how annotation classes are represented in the database.
2022-12-09 10:33:03 +00:00
Chris Smowton
d530817afc Accept annotation_classes test changes 2022-12-09 10:33:03 +00:00
Chris Smowton
df90fc1a80 Disable type parameter annotation extraction pending a database change 2022-12-09 10:33:03 +00:00
Chris Smowton
9b3c07c32b Add annotation class meta-annotations per classes' expected JVM lowering 2022-12-09 10:33:03 +00:00
Chris Smowton
f7d2644d74 Re-enable extracting most annotations 2022-12-09 10:33:03 +00:00
Chris Smowton
26540111ce Factor out common code for referencing an external type 2022-12-09 10:33:03 +00:00
Chris Smowton
8781366fbe Only extract function annotations for unbound types
Note however this includes extracting annotations for external types, unlike the situation for function bodies.
2022-12-09 10:33:01 +00:00
Chris Smowton
06133e74a5 Handle generic annotations 2022-12-09 10:31:34 +00:00
Chris Smowton
14a47f628c Fixup: remove unneeded test file 2022-12-09 10:31:34 +00:00
Chris Smowton
d7213d2d82 Only convert KClass -> Class in annotation context 2022-12-09 10:31:34 +00:00
Chris Smowton
2fd8e61fe2 Add test of Java/Kotlin annotation naming consistency 2022-12-09 10:31:34 +00:00
Chris Smowton
24434ed0ff Make annotation labelling consistent between Java and Kotlin
This gives all annotations and expressions derived from them globally-significant and stable names, enabling the Kotlin and Java extractors to see the same annotation without introducing database conflicts.
2022-12-09 10:31:34 +00:00
Tamas Vajk
df595c05f2 WIP: revert some annotation extraction to get proper tree in printast 2022-12-09 10:31:34 +00:00
Tamas Vajk
fed770fcd1 Move kotlin annotations to negative child index 2022-12-09 10:31:33 +00:00
Tamas Vajk
96a407c9c5 WIP: extract annotations for all declarations 2022-12-09 10:31:33 +00:00
Tamas Vajk
3e1d4a7400 Add more annotation tests, add KClass to Class substitution 2022-12-09 10:31:33 +00:00
Tamas Vajk
f465dd5362 Add more annotation tests 2022-12-09 10:31:33 +00:00
Tamas Vajk
a0cd9fea34 Fix more not from source expressions in tests 2022-12-09 10:31:33 +00:00
Tamas Vajk
b73bfd6133 Compilation fixup 2022-12-09 10:31:33 +00:00
Tamas Vajk
1898f94472 Filter expressions to source files in tests 2022-12-09 10:31:33 +00:00
Tamas Vajk
b5ae43a887 Remove empty annotations node from PrintAST 2022-12-09 10:31:33 +00:00
Tamas Vajk
3b09cb2224 WIP: Extract annotation values (tests are missing) 2022-12-09 10:31:33 +00:00
Tamas Vajk
7b075c2190 WIP: extract annotations on classes, with constant values 2022-12-09 10:31:33 +00:00
Tamas Vajk
9fa840106f Extract annotation declarations 2022-12-09 10:31:33 +00:00
Chris Smowton
cddb5c5e2d Merge pull request #11616 from smowton/smowton/fix/callable-modality-abstraction
Kotlin: extract callable modality
2022-12-09 08:07:57 +00:00
Chris Smowton
1d209d1bcd Accept modifiers test changes 2022-12-08 22:52:40 +00:00
Henry Mercer
d196704a2d Merge pull request #11574 from github/henrymercer/check-query-ids
Add a PR check to ensure query IDs are unique
2022-12-08 15:31:26 +00:00
Chris Smowton
d0a2c1c9b6 Accept test changes 2022-12-08 14:44:43 +00:00