Commit Graph

27 Commits

Author SHA1 Message Date
Dmitrii Gridin 761553ea75 [LC] reduce memory consumption from SLC and DLC
The main change is drop `LightClassesLazyCreator`

KtLightClassForDecompiledDeclaration:
* fixed a few captured fields

^KT-56561 Fixed
2023-02-13 16:08:17 +00:00
Roman Efremov 25f65aff3a Replace getEntries with hardcoded PsiMethod in LC decompiled declaration
This adds NotNull annotation.

^KTIJ-23530 Fixed
2022-12-27 14:41:53 +00:00
Vladimir Dolzhenko 5dc2442872 Safe reporting PSI elements in KEWA 2022-11-03 17:27:11 +00:00
Dmitry Gridin 7013fa1864 [lc] decompiled: support stub search for top level callable
^KT-53934
2022-09-15 09:27:53 +00:00
Dmitry Gridin 9eb2672282 [lc] decompiled: improve stub search for fields
^KT-53934
2022-09-15 09:27:53 +00:00
Dmitry Gridin 438faf478b [lc] decompiled: extract common part to KotlinDeclarationInCompiledFileSearcher
^KT-53934
2022-09-15 09:27:53 +00:00
Dmitry Gridin 5f2098d572 [lc] decompiled: LightMemberOriginForCompiledElement: cleanup code
^KT-53934
2022-09-15 09:27:52 +00:00
Dmitry Gridin d13f2af6ec [lc] decompiled: make isEquivalentTo lightweight
^KT-53934 Fixed
2022-09-15 09:27:51 +00:00
Dmitry Gridin 51fd2af6fd [lc] decompiled: update debug info
^KTIJ-22722
2022-09-10 21:37:47 +02:00
Dmitry Gridin feb31b79de [lc] support decompiled facade only for .class
we have support only for KtClsFile (see decompiled light classes) so kotlin_builtins and kotlin_metadata should be ignored

^KT-53543
2022-08-29 11:51:43 +00:00
Dmitry Gridin 0ea041a1eb [lc] move SymbolLightClassForDecompiledFacade to common decompiled part
^KT-53543
2022-08-29 11:51:42 +00:00
Ilya Kirillov 7441388f9d [Decompiled LC] restore missed ^IDEA-286315 fix during Decompiled LC migration to the kotlin repo
^IDEA-297478 fixed
2022-08-18 16:10:51 +00:00
Dmitry Gridin 1708b4fe48 [light classes] move light-classes-base module to analysis
^KT-53097
2022-08-01 13:56:34 +00:00
Dmitry Gridin 2ff1c21c8c [light classes] replace light class dependency from analysis.decompiled.light-classes-for-decompiled to light-classes-base
^KT-53097
2022-07-19 15:42:00 +00:00
Dmitry Gridin f10c5c28a5 Revert "Revert "[light classes] drop old light classes and backend: iteration #1""
This reverts commit 57de064251.
2022-06-28 17:57:29 +02:00
Dmitry Gridin 57de064251 Revert "[light classes] drop old light classes and backend: iteration #1"
This reverts commit 3cb2df9360.
2022-06-28 13:52:11 +02:00
Dmitry Gridin 3cb2df9360 [light classes] drop old light classes and backend: iteration #1
drop clsDelegate and related

^KT-48773
2022-06-28 11:44:38 +00:00
Ilya Kirillov 314d9b9477 [analysis] move DecompiledPsiDeclarationProvider to symbol light classes module to avoid circular dependencies 2022-05-30 17:48:34 +02:00
Jinseong Jeon 55e24451a4 AA: migrate PSI declaration provider (from IJ) 2022-05-30 17:48:34 +02:00
Vladimir Dolzhenko efd5beb49b IJ file type optimizations based on extension
#KTIJ-21668

Merge-request: KT-MR-6288
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com>
2022-05-17 14:46:00 +00:00
Yan Zhulanow c334a44e02 Preserve synthetic enum methods in stub-based 'ClsClassImpl'
'ClsClassImpl' instances created by the platform contain synthetic
enum methods (added by 'ClassInnerStuffCache.calcMethods()'). Such
convention is common in IntelliJ (see KT-36095 and
'9a8b345adaded83fe13980a28db5d9f9acc7450d' in the IntelliJ repository).

This commit makes Kotlin's stub-based classes consistent with the
convention. Instead, a filter is added in place of 'ClsClassImpl' usage.

See also the following commits:
- 7c86911f44
- 43468c6d55
2022-03-14 17:53:55 +09:00
Yan Zhulanow fa4dadf9b7 Update KotlinClassInnerStuffCache implementation
'KotlinClassInnerStuffCache' was copy-pasted from the platform's
'ClassInnerStuffCache' several years ago. After J2K and other changes,
it became quite dirty.

Besides cleaning things up, enum synthetic method handling have
significantly improved. Before, such methods were handled only in
'processDeclarationsInEnum', and 'getMethods()' didn't return them.
This led to inconsistent behavior and was reason for providing special
ad-hoc support in '1b6ded600518176b21cc308ed3e032ef8d04cc90'.
2022-03-14 17:53:55 +09:00
Yan Zhulanow 955d0841bd Remove unused modification tracker in KotlinClassInnerStuffCache
'dropCaches()' is not used anywhere both in the compiler and in the IDE.
2022-03-14 17:53:55 +09:00
Ilya Kirillov 40fdb26569 Analysis LC: introduce Symbol LC tests 2021-12-27 16:23:18 +03:00
Ilya Kirillov 1bba3b2256 Migrate decompiled light classes factories from IJ 2021-12-27 16:23:17 +03:00
Ilya Kirillov b563824b35 Migrate LightMemberOriginForCompiledElement from IJ repository 2021-12-27 16:23:13 +03:00
Ilya Kirillov 764ad8b9fa Move light classes for decompiled declarations from IJ repository 2021-12-27 16:23:12 +03:00