Commit Graph

75 Commits

Author SHA1 Message Date
Mikhail Glukhikh 180613e1c6 K2: calculate deprecations for backing field properly
#KT-58224 Fixed
2023-05-01 11:59:20 +00:00
Anna Kozlova d59d66e876 [AA, LL] use stubs to build deserialized Fir elements in IDE
^KTIJ-24638

Notice on `DebugSymbolRenderer`:
stub based deserializer sets source directly,
but it's available in IDE mode only.
Thus, standalone and IDE tests have different results.
In order to avoid this, sources for compiled code are explicitly ignored

Notice on distinct callables:
for a file which belong to multiple libraries, decompiled code would be build per library.
In order to avoid ambiguity errors for members in that file,
we need to distinct provided elements by origins
failed test from IJ repo:
 FirReferenceResolveWithCrossLibTestGenerated#testSetWithTypeParameters
2023-04-27 11:37:28 +00:00
Mikhail Glukhikh 156be26982 AA: use full rendering of backing field symbols 2023-04-25 12:18:27 +00:00
Mikhail Glukhikh 1f05ce2e01 AA/LC: Support annotation property->backing field move
#KT-57462 Fixed
2023-04-25 12:18:27 +00:00
aleksandrina-streltsova 1a10e0fdb6 [Analysis API] Render annotations of type parameters 2023-03-03 06:43:08 +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 1e2d517c21 [AA] DebugSymbolRenderer: improve type render
to process all nested annotations and types

^KT-56046
2023-02-03 19:48:55 +00:00
Justin Paupore 3e80433356 [AA] Add stub annotationApplicableTargets extension.
Introduce an extension method to retrieve the set of applicable targets
for an annotation, given the annotation class's symbol.

This extension on `KtSymbolInfoProvider` causes a large amount of churn
in test data files, so this change starts off by introducing the
property and always making it return null. A future change will
introduce the actual behavior change, and will include the testdata
changes for the few tests that actually return useful data for this
property.
2023-01-24 14:39:54 +01:00
Dmitrii Gridin a49b72b05e [AA] update testData
^KTIJ-23547
^KTIJ-24141
2023-01-19 10:53:05 +00:00
Dmitrii Gridin 7f24a38997 [FIR] FirTypeResolveTransformer: support lazy type annotations for all declarations
^KTIJ-23547
^KTIJ-24141
2023-01-19 10:53:04 +00:00
Dmitrii Gridin 643b74fa28 [AA FIR] support symbol pointers for static properties
^KT-55487
2022-12-20 19:52:12 +00:00
Dmitrii Gridin e476150025 [AA FIR] support symbol restoring for static members
^KT-55487 Fixed
2022-12-20 19:52:10 +00:00
Ilya Kirillov 68a17242b3 [FIR] fix NPE on missing java annotations qualifier
^KTIJ-23075 fixed
2022-12-14 09:58:07 +00:00
Nikita Bobko 5be153cd65 2/2 analysis-api: Initial implementation for contracts
Review: https://jetbrains.team/p/kt/reviews/7652

Put this change into a separate commit because:
1. The change is boring and clutters the diff of the first commit
2. The first commits is already too big
2022-12-01 14:42:49 +01:00
Dmitrii Gridin 55ca2d608b [AA] AbstractSymbolTest: add check for parameters
^KT-54826
2022-11-24 18:32:44 +00:00
Nikolay Lunyak fb09f139dd [FIR] Unmute receiver annotations tests
These tests were muted in 89f8821d. Seems they began to work after the
introduction of `FirReceiverParameter` in KT-54417.
2022-11-21 08:51:43 +00:00
Dmitrii Gridin a0f4c674f5 [AA] KtCallableReceiverRenderer: add annotations renderer
^KT-54417
2022-11-17 09:50:19 +00:00
Dmitrii Gridin 032026278c fix compilation and testData after rebase
^KT-54417
2022-11-17 09:50:17 +00:00
Dmitrii Gridin 1ebfbc0ee9 [AA] KtCallableSymbol: rename receiver to receiverParameter
^KT-54417
2022-11-17 09:50:12 +00:00
Dmitrii Gridin 2741052db3 [AA] integrate KtReceiverParameterSymbol to KtCallableSymbol
^KT-54417
2022-11-17 09:50:10 +00:00
Dmitrii Gridin 37d688ae83 [AA] introduce FirReceiverParameter
^KT-54417
2022-11-17 09:50:09 +00:00
Dmitrii Gridin be7d282974 [FIR] introduce FirReceiverParameter
^KT-54417
2022-11-17 09:50:09 +00:00
Dmitrii Gridin 36f9a8b7b8 [AA] fix symbol pointer for setter
^KT-54311
2022-11-15 21:37:27 +00:00
Nikolay Lunyak 89f8821d0a [FIR] KT-53371, KT-53519: Fix annotations arguments mapping
See: compiler/testData/asJava/lightClasses/
AnnotatedParameterInInnerClassConstructor.kt

The muted tests don't work with the (KT-53371, KT-53519)-related
changes. During this test happens an attempt to access unresolved
annotations via CustomAnnotationTypeAttribute.
Discussion: KTIJ-23547
2022-11-14 22:40:41 +02:00
Dmitrii Gridin bbe1aa61af [AA FIR] support symbol pointer for property from constructor
^KT-54311
^KT-54311
2022-11-11 14:34:52 +00:00
Dmitrii Gridin fe93f49ff7 [AA] KtPsiBasedSymbolPointer: add class type check
^KT-54311
2022-11-11 14:34:51 +00:00
Ilya Kirillov 26ec7ec296 [Analysis API] update testdata after renderer rework
The new testdata seems to be more correct or just different

^KTIJ-23268
2022-11-11 11:59:59 +01:00
Dmitrii Gridin 202a022b49 [AA K2] implement symbol pointers for value parameters
^KT-54311
2022-11-10 06:39:23 +00:00
Dmitrii Gridin 043e3e6840 [AA K2] implement symbol pointers for receiver parameter
^KT-54311
2022-11-10 06:39:23 +00:00
Dmitrii Gridin 42f8e6fbe6 [AA] add more tests on java field symbols
^KT-54311
2022-11-10 06:39:20 +00:00
Dmitrii Gridin f86c9be733 [AA K2] implement symbol pointer for top level properties
^KT-54311
2022-11-10 06:39:15 +00:00
Dmitrii Gridin 4bd604f2ed [AA] check symbol pointer restoring without psi anchor
^KT-54311
2022-11-10 06:39:14 +00:00
Ilya Kirillov f5432127d1 [Analysis API FE1.0] fix containing module for some cases 2022-10-26 19:19:03 +00:00
Ilya Kirillov 4bb32f4634 [Analysis API] render extra debug information for nested symbols if renders for outers 2022-10-26 19:19:02 +00:00
Ilya Kirillov 85effcc1b3 [Analysis API] do not fully print property symbols in tests 2022-10-26 19:19:02 +00:00
Dmitrii Gridin 3c9fb5db27 [AA] make consistent hasStableParameterNames for setter and getter
^KT-54311
2022-10-17 14:59:50 +00:00
Dmitrii Gridin ba7d340090 [AA] more tests on receiver annotations
^KT-54311
^KT-54385
^KT-54417
2022-10-17 14:59:50 +00:00
Dmitrii Gridin b8a64d20ac [AA] restore Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated
^KT-54311
^KT-54385
2022-10-17 14:59:50 +00:00
Dmitrii Gridin 782ff3e4ea [K2 AA] add more tests on property annotations
^KT-54311
^KT-54385
2022-10-17 14:59:49 +00:00
Dmitrii Gridin c6742aa4c7 [K2 AA] DebugSymbolRenderer: render property symbol recursively
^KT-54311
2022-10-17 14:59:49 +00:00
Dmitrii Gridin 4ee5bf178c [AA] DebugSymbolRenderer: render symbols recursively
^KT-54311
2022-10-17 14:59:47 +00:00
Dmitrii Gridin 119f6858cd [AA] AbstractSymbolTest: add assertion on redundant directive
^KT-54311
2022-10-17 14:59:45 +00:00
Jinseong Jeon 2fdedf8251 AA FIR: unwrap fake override constructor 2022-10-02 13:39:49 +02:00
Ilya Kirillov 3e6de190e7 [Analysis API] update testdata after adding isNoinline/isCrossinline to the KtValueParameterSymbol 2022-07-05 10:34:29 +02:00
Ilya Kirillov 6a145b52aa [Analysis API] update testdata after adding context receivers 2022-07-05 10:34:28 +02:00
Ilya Kirillov bb7b34b3a1 [Analysis API] introduce KtSymbolOrigin.SUBSTITUTION_OVERRIDE
^KT-52043
2022-06-24 10:41:05 +02:00
Mikhail Glukhikh 564d179cfb FE10 analysis API: fix flexible type pretty-printing 2022-05-31 11:34:50 +00:00
Stanislav Erokhin 2deb0cc237 FIR/Analysis API: Add KtValueParameterSymbol#generatedPrimaryConstructorProperty
This property are used to allow access to the property created from
the primary constructor parameter
2022-05-30 18:39:21 +00:00
Ilya Kirillov f189fd1ff0 [Analysis API] make KtDeclarationSymbol <: KtSymbolWithTypeParameters
To simplify work with type parameters
2022-05-27 16:39:37 +00:00
Jiaxiang Chen 866ebcfe2e AA: make KtCallableSymbol a subtype of KtAnnotatedSymbol 2022-05-27 16:39:37 +00:00