Roman Golyshev
bb2bee74cf
[HL API] Fix FE10 implementation of KtExpressionTypeProvider
2022-09-01 13:57:03 +00:00
Dmitry Gridin
924dd38144
[lc] introduce KotlinAsJavaSupportBase with new common facade logic
...
^KT-53543
2022-08-29 11:51:42 +00:00
Jinseong Jeon
25f7554a31
AA FIR: constant evaluation for Java field
2022-08-20 00:50:09 +02:00
Jinseong Jeon
9e35815ae3
AA: fail-safe path retrieval of source files
...
Also, apply file extension-based filtering since javaSourceRoots is
supposed to refer to either KotlinSourceRoot or JavaSourceRoot.
2022-08-17 21:32:29 +02:00
Ilya Kirillov
e489c9b549
[analysis] regenerate tests
2022-08-17 19:16:18 +02:00
Jinseong Jeon
1b79ee89ba
AA: drop ProjectStructureProvider#getKtBinaryModules
...
Instead, provide an option to register PSI declaration provider inside
Analysis API session builder where we can retrieve all necessary pieces,
including CoreJarFileSystem, PackagePartProvider, and binary modules
from internal project structure provider.
2022-08-17 19:16:18 +02:00
Jinseong Jeon
2a864b3685
AA: add tests for PsiDeclarationAndKtSymbolEqualityChecker
2022-08-17 19:16:17 +02:00
Jinseong Jeon
846ab7d97b
AA: revamp standalone-mode tests
2022-08-17 19:16:17 +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
Ilya Kirillov
4d5f1dc1bb
[FIR] do not fail when Continuation classes not found in classpath
2022-08-10 22:49:12 +02:00
Jaebaek Seo
50c293f83f
Fix array access expression getKtType() bug
...
For an array access expression e.g., `foo[3]`,
KtFirExpressionTypeProvider first tries
`getReturnTypeForArrayStyleAssignmentTarget(..)` method that determines
the type of the array access expression when it is in the form of "set"
the value. However, the method also returns a non-null result for an
array access expression that reads its value i.e., "get". In this case,
the result of `getKtType()` becomes wrong. This commit lets the method
return a null for the type of "get" array access expression.
2022-08-10 17:34:49 +02:00
Jinseong Jeon
b173b1fe24
AA: use package part info (if available) when searching for PSI from binary module
2022-08-10 17:34:48 +02:00
Jinseong Jeon
56a5d883c0
AA FIR: handle (aliased)? annotation w/ vararg parameter
2022-08-10 17:34:48 +02:00
Dmitry Gridin
c0d6a64a8a
[slc] rename fir to symbol
...
^KT-50241
2022-08-08 19:08:46 +00:00
Jinseong Jeon
4531080858
AA: introduce KtNotUnderContentRootModule impl to standalone mode
...
to gracefully handle element/file/etc without a binding module.
This could happen, e.g.,
1) source PSI created from KtPsiFactory, which uses literally dummy.kt
2) debugger that creates a code fragment on-the-fly
3) on-air analysis of non-physical files
2022-08-06 13:18:55 +02:00
Jinseong Jeon
e8e88b4eb2
AA: deprecate utils in StandaloneUtils
...
...in favor of StandaloneAnalysisAPISessionBuilder
2022-08-06 13:18:54 +02:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Jinseong Jeon
6b0a5e2908
AA: register LLFir(Library|Builtin)SessionFactory
2022-08-02 17:33:45 +02:00
Ilya Kirillov
556add72ff
[Analysis API FIR] fix KDoc reference resolve for aliased imports
2022-07-28 01:37:54 +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
a0f0fa5a47
[Analysis API FIR] fix candidate collection for delegatedConstructor call
...
^KTIJ-20446
2022-07-22 00:58:59 +02:00
Ilya Kirillov
dd00062559
[analysis] introduce KtBuiltinsModule and remove hacks related to the stdlib module search
2022-07-19 17:17:33 +02:00
Ilya Kirillov
dc4527462f
[LL FIR] create separate library session for each library
2022-07-19 17:17:33 +02:00
Jaebaek Seo
8d5c6297c7
Add ReadWriteAccessCheckerFirImpl class
...
ReadWriteAccessCheckerFirImpl class is ReadWriteAccessChecker
implementation for FIR. We register it for both stand-alone and test
analsys. It is used by KotlinFirReferenceContributor.kt to check the
synthetic Java property.
2022-07-12 16:47:40 +02:00
Ilya Kirillov
184478858c
[Analysis API] add isNoinline/isCrossinline to the KtValueParameterSymbol
2022-07-05 10:34:29 +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
271ecfbd68
[Analysis] Try to fix randomly failing tests because of unregistered FileAttributeService
...
It should be unregistered with the application by ApplicationEnvironmentDisposer
which is registered in :compiler:tests-common-new
2022-07-01 11:33:21 +02:00
Jinseong Jeon
20d618c0a8
AA: populate CorePackageIndex
...
so that annotations in package-info.java can be propagated properly
2022-06-28 11:44:41 +02:00
Ilya Kirillov
89ff1f0c0b
[Analysis API FIR] fix member scope for enum entries without body
2022-06-24 15:36:32 +00:00
Kristoffer Andersen
3af0e57406
[FIR-IDE] Add DestructuringDeclarationEntry to SymbolProvider
2022-06-22 21:20:54 +02:00
Jinseong Jeon
2d52c59bc7
AA: introduce KtDynamicType
2022-06-22 20:14:39 +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
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
Jinseong Jeon
87ba8525cf
AA: allow directory as source roots
2022-06-21 11:34:09 +02:00
Jinseong Jeon
4af2fcd633
AA: handle lib directory as a binary root
2022-06-21 11:34:09 +02:00
Jinseong Jeon
8c3df04c8e
AA: null check containing file for PsiElement
2022-06-21 11:34:09 +02:00
Jinseong Jeon
814920b344
AA: restore JavaRoot from binary roots in JDK module
2022-06-21 11:34:09 +02:00
Jinseong Jeon
13c7fde071
AA: avoid reflective service registrations
2022-06-21 11:34:09 +02:00
Jinseong Jeon
38c3fbc0d1
AA: remove a redundant service registration
2022-06-21 11:34:09 +02:00
Jinseong Jeon
abdc2cf85e
AA: populate SingleJavaFileRootsIndex properly
2022-06-16 22:14:18 +02:00
Jinseong Jeon
9ba6cf47ea
AA: use partition to group directory/jar library roots
2022-06-16 22:14:18 +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
Jinseong Jeon
5c147c1ded
AA: fail-safe binary root lookup
2022-06-09 10:35:17 +02:00
Jinseong Jeon
c1b2469e51
AA: register CoreJavaFileManager
...
in a similar way
KotlinCoreEnvironment.ProjectEnvironment.registerJavaPsiFacade does
2022-06-09 10:35:17 +02:00
Jinseong Jeon
af053fd8f3
AA: fail-safe JvmRoot lookup
2022-06-09 10:35:17 +02:00
Jinseong Jeon
aef3df0336
AA: introduce AA session and builder
2022-06-09 10:35:16 +02:00