Commit Graph

45 Commits

Author SHA1 Message Date
Jinseong Jeon 527fc68778 ULC: match value parameter name of enum's valueOf 2023-02-20 14:07:01 +01:00
Dmitrii Gridin 607b8f6b61 Revert "[SLC] Support generics and ignore whitespace in KtSuperTypeList.findEntry"
This reverts commit e77f5c7764.
2023-02-13 17:28:35 +01:00
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
Dmitrii Gridin a8e8fc1f11 [LC] add ClassInnerStuffCache
^KT-56561
2023-02-13 16:08:16 +00:00
Dmitrii Gridin f501259cd4 [ULC] KtLightClassBase: do not override myInnersCache
^KT-56561
2023-02-13 16:08:16 +00:00
Pavel Mikhailovskii e77f5c7764 [SLC] Support generics and ignore whitespace in KtSuperTypeList.findEntry 2023-02-13 14:47:45 +00:00
Jinseong Jeon 88b07f5287 SLC: keep annotations on type when converting to PsiType
^KT-55815 Fixed
2023-02-09 19:53:45 +01:00
Dmitrii Gridin f9d5534689 [SLC] SymbolKotlinAsJavaSupport: implement getKotlinInternalClasses
^KTIJ-24067
2023-02-01 12:51:31 +00:00
Dmitrii Gridin cfe8bc682c [LC] fix compatibility 2023-01-04 14:08:16 +00:00
Vladimir Dolzhenko 4542b3947b Clean up: rename Jet* to Kt* 2023-01-03 16:36:53 +01:00
Roman Efremov e5d5cbc7a3 Generate Enum.getEntries method in ultra light classes
^KTIJ-23530 Fixed
2022-12-27 14:41:52 +00:00
Dmitrii Gridin 65426f6b40 [LC] KotlinClassInnerStuffCache: drop unused code
^KT-55497
2022-12-20 19:52:14 +00:00
Dmitrii Gridin e39dc9b768 [LC] fix signature of 'Enum.valueOf()'
* drop @NotNull annotation from parameter
* add NullPointerException to throws

^KT-55497 Fixed
2022-12-20 19:52:12 +00:00
Dmitrii Gridin 7d0c093da7 [SLC] generate static enum methods from symbols
^KT-55496 Fixed
2022-12-20 19:52:11 +00:00
Dmitrii Gridin 34e4645385 [ULC] avoid resolve from KtUltraLightClassModifierList.hasModifierProperty in most cases
^KT-55445 Fixed
2022-12-13 18:18:00 +00:00
Dmitrii Gridin cba70d70a7 [SLC] drop hack with setParent for annotations
^KTIJ-23783
2022-12-06 13:40:44 +00:00
Dmitrii Gridin c0097dd97e [SLC] merge KtLightIdentifierBase with KtLightIdentifier
^KT-54051
2022-11-29 13:33:44 +00:00
Dmitrii Gridin 577bc243d2 [LC] KtLightIdentifierBase: add missing copy
^KT-54051
2022-11-29 13:33:38 +00:00
Yan Zhulanow 6fe989b4b4 [LC] Provide proper parent element for private properties (KTIJ-23449)
Before, no parent element was returned for an object literal inside a
private property initializer, as only the getter was considered as a
potential parent.

Relevant tests are added on the IDE side (see 'LightClassBehaviorTest').
2022-11-15 16:13:59 +00:00
Yan Zhulanow ea3f550b58 [FE] Support analyzable files throughout all 'KtPsiFactory' API
Before, the only way of getting analyzable elements was to create an
analyzable file by using 'createAnalyzableFile()'. So made all utilities
available in 'KtPsiFactory' useless as they delegate to 'createFile()'
that always set the 'doNotAnalyze' flag.

The new behavior is to pass the 'analysisContext' instead if it is
passed to the 'KtPsiFactory' constructor.

The newly appeared API is going to be used in the Kotlin's UAST
implementation.
2022-11-11 11:28:34 +00:00
Vladimir Dolzhenko 5dc2442872 Safe reporting PSI elements in KEWA 2022-11-03 17:27:11 +00:00
Jinseong Jeon 8d8d0d9922 SLC: add marker interface for collection inheritor 2022-10-27 14:41:24 +02:00
Jinseong Jeon dbf0ba442a (U|S)LC: fix getText for modifier list / accessor 2022-10-19 14:17:36 +02:00
Jinseong Jeon f9e086a6e3 S/LC: avoid building light classes for decompiled built-ins 2022-09-17 16:43:11 +02: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 7102be7720 [lc] KotlinAsJavaSupportBase: introduce LightClassCachedValue
to extract common logic with cached values

^KT-50241
2022-09-08 13:47:41 +00:00
Dmitry Gridin 2611be0436 [lc] KotlinAsJavaSupportBase: make ifValid inline
^KT-50241
2022-09-08 13:47:40 +00:00
Dmitry Gridin aa31ca67e2 [lc] KotlinAsJavaSupportBase: make librariesTracker abstract
^KT-50241
2022-09-08 13:47:40 +00:00
Dmitry Gridin e6bb97d490 [lc] KotlinAsJavaSupportBase: suppress visibility warnings
methods can be used from the plugin for tests

^KT-50241
2022-09-08 13:47:40 +00:00
Dmitry Gridin b618855e2c [lc] KotlinAsJavaSupportBase: add more lightweight checks for facades
^KT-50241
2022-09-08 13:47:39 +00:00
Dmitry Gridin ec1b6f4f3e [lc] KotlinAsJavaSupportBase: reduce number of findModule calls
^KT-50241
2022-09-08 13:47:39 +00:00
Dmitry Gridin e58b98bb5c [lc] KotlinAsJavaSupportBase: implement getLightClassForScript
^KT-50241
2022-09-08 13:47:39 +00:00
Dmitry Gridin 46548e5443 [lc] KotlinAsJavaSupportBase: implement getLightClass
add more caching

^KT-50241
2022-09-08 13:47:38 +00:00
Dmitry Gridin 4a6609e491 [lc] LightClassUtil: simplify facade class search
^KT-53543
2022-08-29 11:51:43 +00: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 031edb7344 [lc] do not search files for compiled jvm multifile
^KT-53543
2022-08-29 11:51:42 +00:00
Dmitry Gridin 924dd38144 [lc] introduce KotlinAsJavaSupportBase with new common facade logic
^KT-53543
2022-08-29 11:51:42 +00:00
Dmitry Gridin d2ddf88cdc [lc] KtLightClassBase: cleanup code
^KT-53543
2022-08-29 11:51:41 +00:00
Dmitry Gridin 0bbe981ff0 [lc] KtLightClassForFacadeBase: simplify equals
^KT-53543
2022-08-29 11:51:41 +00:00
Dmitry Gridin 5be31e575c [lc] extract common code to KtLightClassForFacadeBase
^KT-53543
2022-08-29 11:51:41 +00:00
Dmitry Gridin acfbe30f7c [lc] drop redundant PsiManager argument from KtLightClassForFacadeBase
^KT-53543
2022-08-29 11:51:40 +00:00
Dmitry Gridin 8dbdea39da [analysis] remove redundant diagnostic suppression 2022-08-15 11:04:58 +02:00
Dmitry Gridin 6a83bcf349 [lc] reformat KotlinAsJavaSupport
^KT-53543
2022-08-15 11:04:31 +02:00
Dmitry Gridin 1514d5f563 [light classes] drop redundant KtLightClassForSourceDeclaration#forceUsingOldLightClasses
^KT-53097
2022-08-01 13:56:37 +00:00
Dmitry Gridin 1708b4fe48 [light classes] move light-classes-base module to analysis
^KT-53097
2022-08-01 13:56:34 +00:00