Dmitrii Gridin
d7dcb5c56a
[SLC] AdditionalAnnotationsProvider: do not process findAnnotation separately
...
Currently, we don't have enough support in the compiler to
process new special annotations (KT-56299), so let's avoid them now
^KT-56046
2023-02-03 19:49:04 +00:00
Dmitrii Gridin
ba9520f5c5
[SLC] add more tests
...
^KT-56046
2023-02-03 19:49:04 +00:00
Dmitrii Gridin
347dc83773
[SLC] avoid redundant empty array allocation and add new array creation
...
we should instantiate a new array on each request to avoid
unexpected mutation from a usage side
^KT-56046
2023-02-03 19:49:04 +00:00
Dmitrii Gridin
3b9318bd3a
[SLC] LazyAnnotationsBox: drop redundant synchronization
...
We can use less strict rule for produced annotations:
* Previously: the same annotations from `findAnnotation` and `annotations`
have the same identity
* Now: the same annotations from `findAnnotation` and `annotations`
are equals by 'equals'
^KT-56046
2023-02-03 19:49:03 +00:00
Dmitrii Gridin
e1c8b3d674
[SLC] avoid return type check for implicit types
...
we should avoid value class check in implicit return types
to avoid extra resolve
^KT-56046
^KT-55788
2023-02-03 19:49:03 +00:00
Dmitrii Gridin
e1c2ca1bbf
[SLC] AbstractSymbolLightClassesParentingTest: add more assertions for annotations
...
^KT-56046
2023-02-03 19:49:03 +00:00
Dmitrii Gridin
e021655001
[LC] AbstractCompilerLightClassTest: add an additional test extension
...
^KT-56046
2023-02-03 19:49:02 +00:00
Dmitrii Gridin
2edb03a994
[LC] fix multifile testData
...
^KT-56046
2023-02-03 19:49:02 +00:00
Dmitrii Gridin
cfdc9f342a
[AA] KtSymbolInfoProvider: pass missing annotationUseSiteTarget to getDeprecation
...
^KT-56046
2023-02-03 19:49:02 +00:00
Dmitrii Gridin
93232a23df
[AA] introduce AnnotationUseSiteTargetFilter to simplify API
...
^KT-56046
2023-02-03 19:49:01 +00:00
Dmitrii Gridin
6e25b45f7d
[AA] introduce KtAnnotationApplication
...
^KT-56046
2023-02-03 19:49:01 +00:00
Dmitrii Gridin
59f07c2197
[SLC] add test on enum entry annotations
...
^KT-56046
2023-02-03 19:49:01 +00:00
Dmitrii Gridin
83ce04b79f
[SLC] add missing 'internal' modifiers for some objects
...
^KT-56046
2023-02-03 19:49:00 +00:00
Dmitrii Gridin
57b6db4f0f
[SLC] avoid constructor parameters capturing
...
^KT-56046
2023-02-03 19:49:00 +00:00
Dmitrii Gridin
80a80d1188
[SLC] SymbolLightRepeatableAnnotationContainerMethod: reuse "value" name
...
^KT-56046
2023-02-03 19:49:00 +00:00
Dmitrii Gridin
a0d5dcebbd
[SLC] SymbolAnnotationValues: reuse empty array
...
^KT-56046
2023-02-03 19:48:59 +00:00
Dmitrii Gridin
58236b8bbd
[SLC] reduce amount usages of analyzeForLightClasses
...
^KT-56046
2023-02-03 19:48:59 +00:00
Dmitrii Gridin
dd5d858ad5
[SLC] migrate from computeAnnotations to LazyAnnotationsBox
...
^KT-56046
2023-02-03 19:48:59 +00:00
Dmitrii Gridin
26b17a850d
[SLC] add use site filter to SymbolAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:58 +00:00
Dmitrii Gridin
31701ba673
[SLC] introduce SimpleAdditionalAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:58 +00:00
Dmitrii Gridin
ba3ea40a70
[SLC] introduce AnnotationFilter
...
^KT-56046
2023-02-03 19:48:58 +00:00
Dmitrii Gridin
48ed72c391
[SLC] introduce SymbolLightEmptyAnnotationParameterList
...
^KT-56046
2023-02-03 19:48:57 +00:00
Dmitrii Gridin
aa9e7444c9
[SLC] AnnotationsProvider: migrate to classIds to annotationOverviews
...
^KT-56046
2023-02-03 19:48:57 +00:00
Dmitrii Gridin
3a7602a38f
[AA] KtAnnotationsList: introduce 'annotationOverviews'
...
it provides a solution for several problems with redundant resolve.
It is a more powerful tool than 'annotationClassIds'
^KT-56046
2023-02-03 19:48:57 +00:00
Dmitrii Gridin
24041bf96d
[FIR] CompilerRequiredAnnotationsHelper: add kdoc about usages from SLC
...
^KT-56046
2023-02-03 19:48:56 +00:00
Dmitrii Gridin
72d8fa216a
[AA] DebugSymbolRenderer: move annotations and type arguments renderer befor type to avoid resolve race
...
^KT-56046
2023-02-03 19:48:56 +00:00
Dmitrii Gridin
d13ad454da
[AA FIR] fix nested type annotations lazy resolve
...
^KT-56046
2023-02-03 19:48:56 +00:00
Dmitrii Gridin
3b99a5bf34
[AA] DebugSymbolRenderer: improve context receivers render
...
^KT-56046
2023-02-03 19:48:55 +00:00
Dmitrii Gridin
1e2d517c21
[AA] DebugSymbolRenderer: improve type render
...
to process all nested annotations and types
^KT-56046
2023-02-03 19:48:55 +00:00
Dmitrii Gridin
0a06efa1bf
[SLC] add tests for unresolved annotations
...
^KT-56046
2023-02-03 19:48:55 +00:00
Dmitrii Gridin
3e1c1e8b14
[SLC] SymbolLightClassForClassLike: avoid redundant memory allocation
...
^KT-56046
2023-02-03 19:48:54 +00:00
Dmitrii Gridin
b2436ba176
[SLC] SymbolLightClassForClassLike: drop redundant properties
...
^KT-56046
2023-02-03 19:48:54 +00:00
Dmitrii Gridin
e081fe92db
[SLC] split DefaultAdditionalAnnotationsProvider into MethodAdditionalAnnotationsProvider and AbstractClassAdditionalAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:54 +00:00
Dmitrii Gridin
cb531635b1
[SLC] introduce EmptyAdditionalAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:53 +00:00
Dmitrii Gridin
5f6c1afa1f
[SLC] migrate some SimpleAnnotationsBox to LazyAnnotationsBox
...
^KT-56046
2023-02-03 19:48:53 +00:00
Dmitrii Gridin
2c7fb49a80
[AA FIR] annotationClassIds should return fully-expanded classIds
...
^KT-56046
2023-02-03 19:48:53 +00:00
Dmitrii Gridin
11a0771a3d
[SLC] add missing interface modifiers
...
^KT-56046
2023-02-03 19:48:52 +00:00
Dmitrii Gridin
6a65708631
[SLC] LazyAnnotationsBox: fix case with empty AnnotationsProvider
...
^KT-56046
2023-02-03 19:48:52 +00:00
Dmitrii Gridin
e4795a9082
[SLC] DefaultAnnotationsProvider: add missing kotlin qualifiers check
...
^KT-56046
2023-02-03 19:48:52 +00:00
Dmitrii Gridin
e7eaf08cd7
[SLC] introduce EmptyAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:51 +00:00
Dmitrii Gridin
df12851335
[SLC] introduce CompositeAdditionalAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:51 +00:00
Dmitrii Gridin
071269b3c6
[SLC] introduce CompositeAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:51 +00:00
Dmitrii Gridin
6d0570739d
[SLC] migrate SymbolLightModifierList to ModifiersBox and AnnotationsBox
...
LazyAnnotationsBox is unused now
Will be migrated to it in the next steps
^KT-56046
2023-02-03 19:48:50 +00:00
Dmitrii Gridin
cdb7d8116f
[SLC] introduce EmptyModifiersBox
...
^KT-56046
2023-02-03 19:48:50 +00:00
Dmitrii Gridin
8c2cb4f621
[SLC] introduce EmptyAnnotationsBox
...
^KT-56046
2023-02-03 19:48:50 +00:00
Dmitrii Gridin
ad4f6b25ca
[SLC] AnnotationsBox: add an owner to signatures
...
we shouldn't require the owner on initialization phase
^KT-56046
2023-02-03 19:48:49 +00:00
Dmitrii Gridin
eaf6798684
[SLC] introduce SimpleModifiersBox
...
^KT-56046
2023-02-03 19:48:49 +00:00
Dmitrii Gridin
c401cd3210
[SLC] introduce SimpleAnnotationsBox
...
^KT-56046
2023-02-03 19:48:49 +00:00
Dmitrii Gridin
465ac23650
[SLC] implement NullabilityAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:48 +00:00
Dmitrii Gridin
d76e902b21
[SLC] extract AnnotationsProvider
...
^KT-56046
2023-02-03 19:48:48 +00:00