Commit Graph

121 Commits

Author SHA1 Message Date
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
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 edb6fc9531 [analysis api] move KtCallableSignature to a separate package 2022-06-22 09:31:41 +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 3033a91567 [analysis api] introduce KtTypeScope which will contain callable signatures 2022-06-22 09:31:38 +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
Jinseong Jeon 38c3fbc0d1 AA: remove a redundant service registration 2022-06-21 11:34:09 +02:00
Roman Golyshev fe06070d23 [FIR IDE] Make AbstractResolveCallTest.kt more strict 2022-06-14 15:00:13 +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
Ilya Kirillov b5ad6f5db4 [analysis api] move analysis session classes to separate packages, use KtAnalysisApiInternals to mark internal API 2022-05-12 16:15:14 +02:00
Ilya Kirillov eb9085c083 [analysis api] rename analyse -> analyze to match American word spelling 2022-05-12 16:15:13 +02:00
Ilya Kirillov fe35204e9f [analysis api] get rid of additional analyseWithCustomValidityToken 2022-05-12 16:15:11 +02:00
Jiaxiang Chen 7b038860b5 AA: add analyzeWithKtModule API for analyzing without KtElement 2022-05-12 16:15:03 +02:00
Ilya Kirillov ef0160c026 [analysis api] rename ValidityToken -> KtLifetimeToken 2022-05-12 16:15:02 +02:00
Jinseong Jeon 3f05ba04a9 AA: add JDK_HOME as dependent SDK module 2022-05-09 00:22:52 +02:00
Ilya Kirillov 4ff38c9697 [fir low level, refactoring] rename LLFirModuleResolveState -> LLFirResolveSession 2022-05-05 10:43:13 +02:00
Ilya Kirillov 3b4eb2d788 [kotlin fir] fix creating symbol not in analysis scope
^KTIJ-21504 fixed
2022-04-19 19:34:21 +02:00
Ilya Kirillov 2649788b87 [analysis api fir] put every library into a separate KtModule in tests 2022-04-13 12:53:22 +02:00
Ilya Kirillov e69fa1ae07 [analysis api, test] rework test infrastructure, add possibility to create multimodule tests 2022-04-13 12:53:19 +02:00
Ilya Kirillov 207ca7eb08 [analysis api, tests] simplify tests 2022-04-13 12:53:17 +02:00
Ilya Kirillov 037c50c26b [analysis api, tests] move test classes to corresponding packages 2022-04-13 12:53:06 +02:00
Ilya Kirillov 78685e93d1 [analysis api, tests] move resolve call tests to separate package 2022-04-13 12:53:05 +02:00
Ilya Kirillov 4bd7fed1ea [analysis api, test] rework test infrastructure, add multimodule tests 2022-04-13 12:53:01 +02:00