Commit Graph

149 Commits

Author SHA1 Message Date
Ilya Kirillov 2378437b30 [Analysis API FIR] do not create resolved KtTypes for unresolved ones 2022-11-11 12:00:00 +01:00
Ilya Kirillov b47675916f [Analysis API] remove old renderer code 2022-11-11 12:00:00 +01:00
Ilya Kirillov d1eb7c51f1 [Analysis API] rework renderer
^KTIJ-23268 fixed
2022-11-11 11:59:58 +01:00
Dmitrii Gridin 7d1ac0ac97 [AA] AbstractSymbolTest: fix race
^KT-54311
2022-11-10 06:39:17 +00:00
Dmitrii Gridin 4bd604f2ed [AA] check symbol pointer restoring without psi anchor
^KT-54311
2022-11-10 06:39:14 +00:00
Jinseong Jeon c9a2e10dd7 AA: merge single/multi modules tests for PsiTypeProvider
...because single-module test is also multi-module test
2022-11-02 17:38:16 +01:00
Jinseong Jeon d98081dce2 AA: introduce MPP tests for PsiTypeProvider 2022-11-02 17:38:16 +01:00
Jinseong Jeon dc7506c40a AA: utilize logic in PsiTypeProvider test
...to reuse them in upcoming multi-module tests
2022-11-02 17:38:15 +01:00
Ilya Kirillov e2416f48fe [Analysis API] add tests for containing declaration for delegated member scope 2022-10-26 19:19:04 +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 3bc19fa2c7 [Analysis API] change return type of KtScope.getAllSymbols to KtDeclaration symbol as it always returns callable or classifier 2022-10-26 19:19:02 +00:00
Ilya Kirillov 97df0a0902 [Analysis API] rework containing declaration provider
now it should work for non-source declarations
2022-10-26 19:19:00 +00:00
Dmitrii Gridin 6bf1cefba6 [AA] do not render redundant declarations for AbstractSymbolByPsiTest
^KT-54311
2022-10-17 14:59:52 +00:00
Dmitrii Gridin a38e1747c3 [AA] split some SymbolByPsi tests on SingleSymbolByPsi to avoid redundant declarations
^KT-54311
2022-10-17 14:59:52 +00:00
Dmitrii Gridin 804a92546c [AA] AbstractSingleSymbolByPsi: search elements by caret instead of expression
^KT-54311
2022-10-17 14:59:51 +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 119f6858cd [AA] AbstractSymbolTest: add assertion on redundant directive
^KT-54311
2022-10-17 14:59:45 +00:00
Ilya Kirillov fceb3425c8 [Analysis API FIR] fix invalid usages of CachedValue
it should not cache map as values are stored on soft references
2022-10-05 15:53:54 +00:00
Ilya Kirillov 4de311f671 [Analysis API FIR] remove unused CachingKtAnalysisSessionProvider.getFirResolveSession(KtSymbol) 2022-10-05 15:53:53 +00:00
Ilya Kirillov b68532a316 [Analysis API FIR] fix memory leaks via KtAnalysisSessionCache keys 2022-10-05 15:53:53 +00:00
Kristoffer Andersen f765457e51 [K2] isUsedAsExpression analysis 2022-10-05 15:06:52 +00:00
Ilya Kirillov 49f2f85927 [Low Level FIR] fix exception when creating symbol by invalid code 2022-10-04 12:56:07 +00:00
Ilya Kirillov ab3f916f3f [Analysis API FIR] fix call resolution of non-resolvable elements 2022-10-03 16:02:23 +02:00
Jinseong Jeon df95602e06 AA: populate index for built-ins 2022-09-17 16:43:10 +02:00
Dmitriy Novozhilov 7ef81c27df [AA] Make KotlinReferenceProvidersService and KotlinReferenceProviderContributor a project services
There is no need to have those services on application level
2022-09-15 17:27:20 +03:00
Ilya Kirillov 7d47651353 [Analysis API] rename KtAnnotationsList.containsAnnotation -> hasAnnotation 2022-09-15 12:12:40 +02:00
Ilya Kirillov 1bdde25dc7 [Analysis API] improve getClassOrObjectSymbolByClassId/getTopLevelCallableSymbols
add kdocs, use better names
2022-09-15 12:12:40 +02:00
Jinseong Jeon 68519af97a AA: add tests about platform types
...as declaration return type or expression type
2022-09-09 15:02:23 +02:00
Dmitry Gridin 924dd38144 [lc] introduce KotlinAsJavaSupportBase with new common facade logic
^KT-53543
2022-08-29 11:51:42 +00:00
Nikita Bobko 2a4f3f41aa 2/5 Replace source dependency on kotlin-reflect with binary dependency
Review: https://jetbrains.team/p/kt/reviews/6753

Meaningful semantic change was splitted into 5 commits to simplify the
change review. Sinle commit would be too big.

Why replace source to binary: to get rid of kotlin-reflect in Kotlin
plugin artifact KTIJ-22276

Note: Kotlin Maven artifacts (./gradlew publish) changed their
dependency on kotlin-reflect
2022-08-22 15:43:49 +02:00
Simon Ogorodnik 513af2dfbc FIR. Refactor smart-cast representation in FIR tree
Make smart-casts non-transparent expression without delegation
to underlying FirQualifiedAccessExpression, as children delegation in
fir tree has unclear semantics
Remove two different kinds of tree nodes for smart-casts
2022-08-15 21:46:11 +00:00
Kristoffer Andersen bc9db58b3c [AA] Rename getElementOfTyp_e_AtCaret 2022-08-15 23:32:33 +02:00
Dmitry Gridin c9e9ee90a3 [analysis] remove redundant OptIn annotations 2022-08-15 11:04:59 +02:00
Ilya Kirillov d9c4fda521 [Analysis API FIR] implement reference resolve inside KDoc
^KTIJ-22324 fixed
2022-07-28 01:37:53 +02:00
Ilya Kirillov 71dd066288 [Analysis API] do not consider recursive module dependencies as scope 2022-07-22 22:53:37 +02:00
Ilya Kirillov 10dea730b3 [Analysis API] fix invalid KtAnalysisScopeProvider. analysisScope 2022-07-22 00:59:00 +02:00
Ilya Kirillov dc4527462f [LL FIR] create separate library session for each library 2022-07-19 17:17:33 +02:00
Ilya Kirillov 8f89f1b368 [Analysis API] add info about context receivers to the Analysis API 2022-07-05 10:34:28 +02:00
Ilya Kirillov 00b893444c [Analysis API] remove unneeded analyzeWithSymbolAsContext 2022-07-01 21:08:18 +02:00
Ilya Kirillov 186beddf5c [Analysis API FIR] fix member scope for enum entries 2022-06-24 15:36:32 +00:00
Ilya Kirillov 89ff1f0c0b [Analysis API FIR] fix member scope for enum entries without body 2022-06-24 15:36:32 +00:00
Ilya Kirillov 567cda9767 [Analysis API] cleanup the code 2022-06-24 11:11:24 +02:00
Ilya Kirillov 86605c066b [Analysis API] move PSI utils to internal-utils module 2022-06-24 10:41:05 +02: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
Ilya Kirillov d716c68f0e [Analysis API] cleanup code 2022-06-22 09:31:49 +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 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