601 Commits

Author SHA1 Message Date
Dmitrii Gridin 015b2a3357 [SLC] AnnotationsBox: add kdoc
^KT-56046
2023-02-03 19:49:10 +00:00
Dmitrii Gridin a0fa1cce85 [SLC] ModifiersBox: add kdoc
^KT-56046
2023-02-03 19:49:09 +00:00
Dmitrii Gridin ef566ab479 [SLC] SymbolLightAbstractAnnotationParameterList: drop redundant equals/hashCode
^KT-56046
2023-02-03 19:49:09 +00:00
Dmitrii Gridin 09b78a9bca [SLC] NullabilityAnnotationsProvider: use isNullOrNotNullQualifiedName extension
^KT-56046
2023-02-03 19:49:08 +00:00
Dmitrii Gridin 50711d5003 [SLC] SymbolPsiArrayInitializerMemberValue: cached computed values
^KT-56046
2023-02-03 19:49:07 +00:00
Dmitrii Gridin 0928a5be08 [SLC] migrate from AtomicFieldUpdater to AtomicReferenceFieldUpdater
^KT-56046
2023-02-03 19:49:07 +00:00
Dmitrii Gridin cf713d31ef [SLC] AnnotationsProvider: replace isTheSameAs with regular equals
^KT-56046
2023-02-03 19:49:07 +00:00
Dmitrii Gridin 19a61015c0 [SLC] migrate from AtomicReference to AtomicFieldUpdater
^KT-56046
2023-02-03 19:49:05 +00:00
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 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 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 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
Dmitrii Gridin 4dbce37c0f [SLC] implement DefaultAnnotationsProvider
^KT-56046
2023-02-03 19:48:48 +00:00
Dmitrii Gridin 5f5abd1557 [SLC] LazyAnnotationsBox: rewrite from SymbolLightAbstractAnnotationWithClassId to PsiAnnotation
and update AdditionalAnnotationsProvider interface

^KT-56046
2023-02-03 19:48:47 +00:00