Ilya Kirillov
c646008438
[Analysis API] refactoring, extract forEachNonKotlinPsiElementFinder to a separate file
2023-05-19 11:53:16 +00:00
Yan Zhulanow
bb37a959d4
[LL API] Move composite declaration provider to be used in IntelliJ
2023-05-16 08:42:57 +00:00
Yan Zhulanow
d3cb41cbab
[LL API] Pass contextual modules to 'KotlinDeclarationProvider' factory
...
^KT-57559 Fixed
2023-05-16 08:42:57 +00:00
Yan Zhulanow
5e04c0d4f7
[LL API] Move 'FileBasedKotlinDeclarationProvider' to be used in IDE
2023-05-16 08:42:57 +00:00
Anna Kozlova
5ca052f87b
[LL] [cls] use stubBased symbol provider for builtins
...
this gives the following benefits:
1. no protobuf in memory, all data is already present in stubs
2. given that symbol provider for libraries is already stub based,
we can get rid of complicated code to find source psi by deserialized fir
3. it's also possible to reduce number of index access,
when fir is requested for given ktElement
2023-05-09 07:36:09 +00:00
Yahor Berdnikau
d57623891d
Fix explicit api issues in analysis modules
...
Explicit api mode was not working due to the bug.
^KT-57653
2023-05-08 19:43:43 +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
Jinseong Jeon
5298abf2d6
AA/LC: introduce an API to find script files
2023-04-25 14:49:03 +02:00
Roman Golyshev
d4cffb8a5a
[213] Switch to 213 platform
...
KTI-1114
2023-04-21 13:19:04 +00:00
Marco Pennekamp
d266f49c7c
[LL FIR] KTIJ-25096 Add option to exclude binaries when incrementing modification trackers
...
- In performance tests, modification trackers were incorrectly
incremented between tests for binary modules even with library caches
enabled. The new option `includeBinaryTrackers` can be used by
performance tests to exclude binary modules.
2023-03-31 15:40:14 +00:00
Ilya Kirillov
4944b454c5
[Analysis API] optimize KotlinPackageProvider.getSubPackageFqNames
...
Previously, we queried heavy kotlin package provider two times which affected performance
Now it's being queries only a single time
Also, the commit introduces separation for KotlinPackageProvider between kotlin and platform-specific packages
^KTIJ-24640
2023-02-28 13:38:23 +00:00
Ilya Kirillov
769fb835f9
[Analysis API] introduce a KotlinResolutionScopeProvider to optimize the resolutions scope in the IDE
2023-02-13 11:35:24 +01:00
Dmitrii Gridin
f9d5534689
[SLC] SymbolKotlinAsJavaSupport: implement getKotlinInternalClasses
...
^KTIJ-24067
2023-02-01 12:51:31 +00:00
Jinseong Jeon
2da4693cc0
AA: do not use full decompilation for built-ins
...
This is the major performance bottleneck for AA/UAST artifacts rollout
to Android Lint. KT stubs are good/fast enough.
2023-01-17 16:51:34 +01:00
Jinseong Jeon
669afdd463
AA: place KotlinStaticDeclarationIndex in its own file with less visibility
2023-01-17 16:51:34 +01:00
Ilya Kirillov
ae76ce666f
[Low Level FIR] optimize getting callables in LLFirProviderHelper
2022-09-30 12:19:35 +02:00
Jinseong Jeon
c2daa26118
AA: use fully decompiled file when indexing built-ins
2022-09-17 16:43:10 +02:00
Jinseong Jeon
df95602e06
AA: populate index for built-ins
2022-09-17 16:43:10 +02:00
Jinseong Jeon
2580a5c233
AA: migrate PackagePartProviderFactory to general API providers
2022-09-15 20:06:40 +02:00
Dmitry Gridin
924dd38144
[lc] introduce KotlinAsJavaSupportBase with new common facade logic
...
^KT-53543
2022-08-29 11:51:42 +00: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
Ilya Kirillov
8be019d9bf
[Analysis API] simplify KotlinDeclarationProvider interface
2022-07-26 23:41:11 +02:00
Ilya Kirillov
91cf194a94
[LL FIR] incrementally update module caches
2022-07-24 15:37:44 +02:00
Jinseong Jeon
3f05ba04a9
AA: add JDK_HOME as dependent SDK module
2022-05-09 00:22:52 +02:00
Ilya Kirillov
9a562a0293
[analysis api] optimize search for declarations in IDE
2022-04-19 12:37:49 +02:00
Jinseong Jeon
6797ac7cf2
AA: populate index in factory, not provider
2022-04-13 16:03:52 +02:00
Jinseong Jeon
5b631bff4d
AA: populate index for declarations upfront
2022-04-13 16:03:51 +02:00
Jinseong Jeon
cbef3faae7
AA: expose library modules in the project structure
2022-03-22 15:44:46 +01:00
Roman Golyshev
1a77643ad0
FIR IDE: Add static implementation of KotlinAnnotationsResolver
2022-02-25 23:08:26 +03:00
Roman Golyshev
76707afc90
FIR: Add KotlinAnnotationsResolver service
2022-02-25 23:08:25 +03:00
Jinseong Jeon
6afd665c8d
AA: rename the file according to the static factory in it
2022-02-09 23:11:42 +01:00
Vyacheslav Gerasimov
f7a9065b75
Build: Use intellij maven repo instead of downloaded IDEA
...
#KTI-82
2021-12-16 21:48:23 +03:00
Ilya Kirillov
d3dd9cd078
Analysis API: add KDoc to providers
2021-09-22 12:57:18 +02:00
Ilya Kirillov
678b931ba3
Analysis API: introduce Project Structure
2021-09-22 12:57:14 +02:00
Ilya Kirillov
c17a4a5a3b
FIR IDE: move light classes to separate module
2021-08-24 20:13:09 +03:00
Ilya Kirillov
abe2311372
FIR IDE: move declaration/package providers to separate module
2021-08-24 20:12:58 +03:00