Commit Graph

466 Commits

Author SHA1 Message Date
Stanislav Erokhin 2234813363 [Analysis API] Add KtCallableMemberCall#typeArgumentsMapping 2022-06-23 07:50:21 +00:00
Stanislav Erokhin 8d8fc6e291 [Analysis API] Add type to KtReceiverValue
Maybe in the future we could remove type from the
KtImplicitReceiverValue, because it has ktSymbol, and in theory
that should be enough to create corresponding KtType.
Unfortunately that is not the case for KtClassOrObjectSymbol --
it doesn't have the API for "default" type creation currently.

Regarding code in KtFirCallResolver.kt -- it seems like code there
needs some love in the future. Psi created via custom code there,
because for call x() FIR has receiver x with psi = null
2022-06-23 07:50:21 +00:00
Kristoffer Andersen 3af0e57406 [FIR-IDE] Add DestructuringDeclarationEntry to SymbolProvider 2022-06-22 21:20:54 +02:00
Jinseong Jeon b6371a5b9a AA/FIR: differentiate dynamic type rendering 2022-06-22 20:14:39 +02:00
Jinseong Jeon 2d52c59bc7 AA: introduce KtDynamicType 2022-06-22 20:14:39 +02:00
Ilya Kirillov d716c68f0e [Analysis API] cleanup code 2022-06-22 09:31:49 +02:00
Ilya Kirillov 37b0c20879 [Analysis API] improve KDoc for scopes 2022-06-22 09:31:49 +02:00
Ilya Kirillov d8b88e9b69 [Analysis API] add testcases, add comments to tests 2022-06-22 09:31:48 +02:00
Ilya Kirillov 3ea2232591 [Analysis API] add KDocs for KtTypeScopeProvider 2022-06-22 09:31:48 +02:00
Ilya Kirillov d5113892df [Analysis API FE10] fix CallableId for synthetic java property descriptors 2022-06-22 09:31:48 +02:00
Ilya Kirillov 36f370f501 [Analysis API] add tests for KtTypeScope 2022-06-22 09:31:47 +02:00
Ilya Kirillov b9907963fe [Analysis API] add tests for KtSubstitutor 2022-06-22 09:31:47 +02:00
Ilya Kirillov 2c1074ac37 [Analysis API] actualize testdata 2022-06-22 09:31:45 +02:00
Ilya Kirillov ffdfa05015 [Analysis API] use existing test utilities for rendering 2022-06-22 09:31:45 +02:00
Ilya Kirillov f09459d172 [Analysis API] add KDocs to the substitution-related functionality 2022-06-22 09:31:44 +02:00
Ilya Kirillov 8ba7d41e00 [Analysis API] fix typo in class name 2022-06-22 09:31:44 +02:00
Ilya Kirillov dafb132a17 [Analysis API] add few tests which checks contracts of signature substitutions 2022-06-22 09:31:43 +02:00
Ilya Kirillov 3525e42f11 [Analysis API] introduce substitutor builder 2022-06-22 09:31:43 +02:00
Ilya Kirillov c95ac9f845 [Analysis API] add some basic tests for symbol substitution 2022-06-22 09:31:42 +02:00
Ilya Kirillov 7b1765cc8b [Analysis API] introduce base KtTypeScope -> KtScope converter 2022-06-22 09:31:42 +02:00
Ilya Kirillov c52d33d215 [analysis api] add additional information to the KtCallableSignature 2022-06-22 09:31:41 +02:00
Ilya Kirillov edb6fc9531 [analysis api] move KtCallableSignature to a separate package 2022-06-22 09:31:41 +02:00
Ilya Kirillov d4c97a3883 [analysis api] convert KtFunctionLikeSignature/KtVariableLikeSignature to non-data classes 2022-06-22 09:31:40 +02:00
Ilya Kirillov fdc008e8af [analysis api] rename KtSignature -> KtCallableSignature 2022-06-22 09:31:40 +02:00
Ilya Kirillov 78c63c082b [Analysis API] introduce API to work with signatures substitution 2022-06-22 09:31:39 +02:00
Ilya Kirillov 2db73af75e [analysis api] make KtCallableSymbol to be sealed class 2022-06-22 09:31:39 +02:00
Ilya Kirillov 3033a91567 [analysis api] introduce KtTypeScope which will contain callable signatures 2022-06-22 09:31:38 +02:00
Ilya Kirillov 82a330cf84 [analysis api] move KtScopeNameFilter to separate file 2022-06-22 09:31:37 +02:00
Ilya Kirillov a10e55cd6a [analysis api] remove KtClassKind.ENUM_ENTRY as enum entry is not a classifier 2022-06-22 09:31:36 +02:00
Ilya Kirillov a16a01bf37 [analysis api] fix Analysis API contracts violation 2022-06-22 09:31:36 +02:00
Roman Golyshev 581ae5fcb7 [FIR IDE] Add a special type of KtCall for generic type qualifiers
^KTIJ-21672 Fixed
2022-06-14 15:00:13 +00:00
Roman Golyshev 4d6b424280 [FIR IDE] Properly handle generic types qualifiers
In code like `foo.Bar<Bazz>`, `Bar<Bazz>` is considered to be
`KtCallExpression` from the PSI point

^KT-52779 Fixed
2022-06-14 15:00:12 +00:00
Mikhail Glukhikh 0ee04d0825 FE10 analysis API: revert resolving 'this' references to receivers
FE10 IDE plugin relies on resolving 'this' references to class or callable
2022-06-03 16:25:44 +00:00
Nikolay Lunyak 98c7399a35 [FIR] Remove the redundant backing field check
This commit fixes a failing visibility check
(FirSymbolByPsiTestGenerated.testBackingField) for the backing field.

Merge-request: KT-MR-6389
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com>
2022-06-02 08:36:14 +00:00
Mikhail Glukhikh c3b5d83f31 FE10 Analysis API: create 17 separate test data files for resolve 2022-05-31 11:34:59 +00:00
Mikhail Glukhikh a3db2e13b2 FE10 analysis API: render type parameter bounds as FIR does 2022-05-31 11:34:58 +00:00
Mikhail Glukhikh 8cb3081bbd Analysis API: add KtReference..Provider to fix reference resolve in FE10 2022-05-31 11:34:56 +00:00
Mikhail Glukhikh f4510773d0 FIR analysis API: add workaround for java.io.Serializable type 2022-05-31 11:34:54 +00:00
Mikhail Glukhikh 446ee943e2 FIR analysis API: fix rendering of Java-based types 2022-05-31 11:34:53 +00: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 e25dee558f [Analysis API] make KtDeclarationSymbol <: KtDeclarationSymbol
To simplify work with annotations
2022-05-27 16:39:38 +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 8f4554959e AA: make KtClassifierSymbol a subtype of KtAnnotatedSymbol 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
Mikhail Glukhikh 133f874351 Fix origin calculation in CliFe10AnalysisFacade
After this commit, all tests in
Fe10IdeNormalAnalysisSourceModuleFileScopeTestGenerated pass
2022-05-25 12:04:57 +00:00
Denis.Zharkov 21b86123e8 FIR: Adjust analysis test data after changes in how we load Java types
Especially, it's about types based on type parameters
2022-05-19 16:54:05 +00:00
Denis.Zharkov d7f87e0182 FIR: Adjust analysis test data to changes in loading Java types 2022-05-19 16:54:02 +00:00
Ivan Kylchik 51ccc32a3f Update test data after introducing IntrinsicConstEvaluation annotation 2022-05-18 21:19:57 +03:00
Ilya Kirillov 7ac001b7bd [analysis api] fix KDoc for the analyze function 2022-05-12 16:24:24 +02:00