Commit Graph

1524 Commits

Author SHA1 Message Date
Yan Zhulanow b770e5d02f [LL API] Get designation correctly for enum value members (KTIJ-23458)
Although being a 'KtClass' in the PSI, 'KtEnumEntry' is a callable in
Analysis API, and its direct members should also be treated as local.
2022-11-11 11:28:38 +00:00
Yan Zhulanow 4d41ac09df [Analysis API] Treat inapplicable declarations safely (KTIJ-23458)
Make 'getClassOrObjectSymbol()' and 'getNamedClassOrObjectSymbol()'
return 'null' for inapplicable PSI declarations.
2022-11-11 11:28:38 +00:00
Yan Zhulanow 04ccd3710f [LC] Compute modifiers/annotations lazily (KTIJ-23442) 2022-11-11 11:28:37 +00:00
Yan Zhulanow 01009ed75b [LL API] Seek for the containing file in the right module (KTIJ-22808)
It's not guaranteed that the declaration for which we need a containing
file is from the currently analyzed module.
2022-11-11 11:28:36 +00:00
Yan Zhulanow 76931522e0 [Analysis API] Fix designation path for constructors (KTIJ-22808)
Local declaration check performs incorrectly for constructors as they
always have local callable IDs.
2022-11-11 11:28:35 +00:00
Yan Zhulanow 61ce9fe524 [FE] Fix source element duplication in object literal expressions 2022-11-11 11:28:35 +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
Ilya Kirillov 4b7cacd55e [FIR] do not ignore nested type aliases in FirNestedClassifierScope 2022-11-11 12:00:01 +01:00
Ilya Kirillov 2378437b30 [Analysis API FIR] do not create resolved KtTypes for unresolved ones 2022-11-11 12:00:00 +01:00
Ilya Kirillov 7545ccad81 [Analysis API FE1.0] do not expose ExtensionFunctionType from functional types
it's a frontend implementation detail
2022-11-11 12:00:00 +01:00
Ilya Kirillov b47675916f [Analysis API] remove old renderer code 2022-11-11 12:00:00 +01:00
Ilya Kirillov 10b593ba8c [Analysis API] mute tests for expect/actual rendering as expect/actuals are not suported in symbols yet
^KT-54036
^KTIJ-23268
2022-11-11 11:59:59 +01:00
Ilya Kirillov 26ec7ec296 [Analysis API] update testdata after renderer rework
The new testdata seems to be more correct or just different

^KTIJ-23268
2022-11-11 11:59:59 +01:00
Ilya Kirillov d1eb7c51f1 [Analysis API] rework renderer
^KTIJ-23268 fixed
2022-11-11 11:59:58 +01:00
Ilya Kirillov f8ed993307 [Analysis API FE1.0] fix functional types for KFunction
previously, they were throwing an exception
2022-11-11 11:59:58 +01:00
Ilya Kirillov 57ee78a7f5 [Analysis API FE1.0] fix constructor symbol parameters
They should not come from the class itself
2022-11-11 11:59:57 +01:00
Ilya Kirillov 3fb5ce3bdd [Analysis API FE1.0] fix equals/hashCode for symbols 2022-11-11 11:59:57 +01:00
Ilya Kirillov 2ca89e4983 [Analysis API FE1.0] fix constructors in scopes 2022-11-11 11:59:57 +01:00
Ilya Kirillov e706c49eb0 [Analysis API FE1.0] remove Any? type parameter bound 2022-11-11 11:59:56 +01:00
Ilya Kirillov 068168bc3c [fir] change setter parameter name to value 2022-11-11 11:59:56 +01:00
Ilya Kirillov 725ae1fc65 [Analysis API] separate non-class error types from class error types and add information about type qualifiers
it's needed for type printing in renderer
2022-11-11 11:59:55 +01:00
Jinseong Jeon 2131cb4fe0 AA FIR: functional type for anonymous function
^KTIJ-17657 In progress
2022-11-11 10:15:44 +01:00
Dmitrii Gridin 871fd09e3f [AA FIR] KtFirClassLikeSymbolPointer: replace lambda with regular class check
^KT-54311
2022-11-10 06:39:25 +00:00
Dmitrii Gridin ab2edd40d4 [AA FIR] KtFirClassLikeSymbolPointer: mark as internal
^KT-54311
2022-11-10 06:39:25 +00:00
Dmitrii Gridin 41ebf5ed53 [AA] KtPsiBasedSymbolPointer: simplify test logic
^KT-54311
2022-11-10 06:39:24 +00:00
Dmitrii Gridin b151ed3e65 [AA K2] drop redundant nested pointers for class like symbols
^KT-54311
2022-11-10 06:39:24 +00:00
Dmitrii Gridin deafb75d0e [AA K2] KtFirFunctionSymbol: cleanup code
^KT-54311
2022-11-10 06:39:24 +00:00
Dmitrii Gridin 638eccac16 [AA K2] add missing resolve for signature creation
^KT-54311
2022-11-10 06:39:23 +00:00
Dmitrii Gridin 202a022b49 [AA K2] implement symbol pointers for value parameters
^KT-54311
2022-11-10 06:39:23 +00:00
Dmitrii Gridin 043e3e6840 [AA K2] implement symbol pointers for receiver parameter
^KT-54311
2022-11-10 06:39:23 +00:00
Dmitrii Gridin 48f7cdfaa1 [AA K2] implement symbol pointers for property accessors
^KT-54311
2022-11-10 06:39:22 +00:00
Dmitrii Gridin 32c38c0ae4 [AA K2] cleanup CanNotCreateSymbolPointerForLocalLibraryDeclarationException usages
^KT-54311
2022-11-10 06:39:22 +00:00
Dmitrii Gridin 731545573a [AA K2] add more tests on java members
^KT-54311
2022-11-10 06:39:22 +00:00
Dmitrii Gridin 5e31c0b9b0 [AA K2] KtFirJavaSyntheticPropertySymbolPointer: cleanup code
^KT-54311
2022-11-10 06:39:21 +00:00
Dmitrii Gridin 864650c1c2 [AA K2] KtFirJavaFieldSymbolPointer: cleanup code
^KT-54311
2022-11-10 06:39:21 +00:00
Dmitrii Gridin 42f8e6fbe6 [AA] add more tests on java field symbols
^KT-54311
2022-11-10 06:39:20 +00:00
Dmitrii Gridin 137deadee5 [AA K2] KtFirConstructorSymbolPointer: cleanup code
^KT-54311
2022-11-10 06:39:20 +00:00
Dmitrii Gridin 5986a0d7b2 [AA K2] KtFirBackingFieldSymbolPointer: cleanup code
^KT-54311
2022-11-10 06:39:20 +00:00
Dmitrii Gridin 897a5b085d [AA K2] implement symbol pointers for enum entry members without psi
^KT-54311
2022-11-10 06:39:19 +00:00
Dmitrii Gridin c6a3ca86eb [AA K2] symbol pointers: add tests on enum entry
^KT-54311
2022-11-10 06:39:19 +00:00
Dmitrii Gridin 03fed7a47f [AA K2] KtFirMemberSymbolPointer: drop redundant cast
to support KtEnumEntrySymbol

^KT-54311
2022-11-10 06:39:18 +00:00
Dmitrii Gridin 9a418a7533 [AA K2] KtFirAnonymousObjectSymbol: cleanup code
^KT-54311
2022-11-10 06:39:18 +00:00
Dmitrii Gridin bc3fcf22c4 [AA K2] reimplement symbol pointers for enum entry
^KT-54311
2022-11-10 06:39:18 +00:00
Dmitrii Gridin 9b6e9e2dd1 [AA K2] implement symbol pointers for type parameters
^KT-54311
2022-11-10 06:39:17 +00:00
Dmitrii Gridin 7d1ac0ac97 [AA] AbstractSymbolTest: fix race
^KT-54311
2022-11-10 06:39:17 +00:00
Dmitrii Gridin 47c9618b79 [AA K2] implement symbol pointers for type aliases
^KT-54311
2022-11-10 06:39:17 +00:00
Dmitrii Gridin 0808f4e233 [AA K2] implement symbol pointers for classes and objects
^KT-54311
2022-11-10 06:39:16 +00:00
Dmitrii Gridin 85072b0c96 [AA K2] KtFirMemberSymbolPointer: migrate owner to pointer
^KT-54311
2022-11-10 06:39:16 +00:00
Dmitrii Gridin 2ac85b96e5 [AA K2] KtFirKotlinPropertySymbol: cleanup code
^KT-54311
2022-11-10 06:39:15 +00:00
Dmitrii Gridin f86c9be733 [AA K2] implement symbol pointer for top level properties
^KT-54311
2022-11-10 06:39:15 +00:00