Commit Graph

448 Commits

Author SHA1 Message Date
Yan Zhulanow 2cdaa48e75 [FIR IDE] Support type annotation rendering in AAPI/FE10
This fixes the following tests:
- KtFe10ResolveCallTestGenerated#testVariableAsFunctionWithParameterName()
- KtFe10ResolveCallTestGenerated#testVariableAsFunctionWithParameterNameInNonFunctionType()
- KtFe10ResolveCallTestGenerated#testVariableAsFunctionWithParameterNameGeneric()
- KtFe10ResolveCallTestGenerated#testVariableAsFunctionWithParameterNameMixed()
- KtFe10ResolveCallTestGenerated#testVariableAsFunctionWithParameterNameAnnotation()
2021-11-12 20:09:53 +09:00
Yan Zhulanow 07fb02c1f9 [FIR IDE] Enable symbol-by-psi tests for AAPI/FE10 2021-11-12 20:09:52 +09:00
Yan Zhulanow ae95b6745c [FIR IDE] Provide initializers for non-const properties in AAPI/FE10
This commit partially fixes KtFe10SymbolByPsiTestGenerated.testDeprecated().
2021-11-12 20:09:52 +09:00
Yan Zhulanow 690bb7254a [FIR IDE] Fix deprecations for property accessors in AAPI/FE10
If a property is deprecated, its accessors should also be deprecated.
The same applies to the backing field.

This commit partially fixes KtFe10SymbolByPsiTestGenerated.testDeprecated().
2021-11-12 20:09:52 +09:00
Yan Zhulanow 10f409adc1 [FIR IDE] Handle implicit 'it' lambda argument correctly in AAPI/FE10
This commit partially fixes KtFe10SymbolByPsiTestGenerated.testImplicitReturnInLambda().
2021-11-12 20:09:52 +09:00
Yan Zhulanow d93d55064c [FIR IDE] Return error types from getExpectedType() as is in AAPI/FE10 2021-11-12 20:09:51 +09:00
Yan Zhulanow fac10881ea [FIR IDE] Fix receiverType for non-extension functions in AAPI/FE10
This commit partially fixes KtFe10SymbolByPsiTestGenerated.testDelegateField().
2021-11-12 20:09:51 +09:00
Yan Zhulanow 308e7c9e67 [FIR IDE] Return KtUnsupportedConstantValue for non-const initializers in AAPI/FE10
This commit fixes the following tests:
 - KtFe10SymbolByPsiTestGenerated.testClassInitializer();
 - KtFe10SymbolByPsiTestGenerated.testClassMembes().
2021-11-12 20:09:50 +09:00
Yan Zhulanow b4da714510 [FIR IDE] Fix KtSymbolKind for local symbols in AAPI/FE10
In Analysis API a callable declaration is local only if it is an
immediate child of a callable declaration. Declarations inside anonymous
objects are 'KtSymbolKind.CLASS_MEMBER'.
2021-11-12 20:09:50 +09:00
Yan Zhulanow b8682f04f3 [FIR IDE] Treat enum entry members as local in AAPI/FE10
This commit partially fixes KtFe10SymbolByPsiTestGenerated.testEnumValueMember().
2021-11-12 20:09:49 +09:00
Yan Zhulanow 944ec7ba5a [FIR IDE] Don't return 'open' modality for final class members in AAPI/FE10
This commit partially fixes KtFe10SymbolByPsiTestGenerated.testEnumValueMember().
2021-11-12 20:09:49 +09:00
Yan Zhulanow 94ca387405 [FIR IDE] Fix callableIdIfNonLocal for accessors in AAPI/FE10
Before the behavior was rather random and erroneous. Now the callable id
is also 'null' for Kotlin property accessors, and accessor method id
for synthetic Java properties.
2021-11-12 20:09:49 +09:00
Yan Zhulanow 4f7dc1122f [FIR IDE] Fix KtSymbolProvider.getParameterSymbol() in AAPI/FE10
For loop parameters, Analysis API expects a local variable to be
returned. The additional check regarding lambda parameters is also added
to reflect the FIR behavior.

This commit partially fixes KtFe10SymbolByPsiTestGenerated.testForLoopVariable().
2021-11-12 20:09:49 +09:00
Yan Zhulanow 7934b263c1 [FIR IDE] Fix KtSymbolInfoProvider.getJavaSetterName() in AAPI/FE10
Before the change, the getter name was erroneously returned instead
for properties without a @JvmName() annotation.

This commit fixes KtFe10SymbolByPsiTestGenerated.testBackingField().
2021-11-12 20:09:49 +09:00
Yan Zhulanow d5e26bcf9e [FIR IDE] Refactoring, introduce Fe10AnalysisContext.builtIns 2021-11-12 20:09:48 +09:00
Yan Zhulanow a0e28972d5 [FIR IDE] Always provide accessors from property symbols in AAPI/FE10 2021-11-12 20:09:48 +09:00
Yan Zhulanow 0099e6e81b [FIR IDE] Unify origin logic in AAPI/FE10 2021-11-12 20:09:48 +09:00
Yan Zhulanow e943ee1e33 [FIR IDE] Fix callableIdIfNonLocal in AAPI/FE10
Before, implementations of 'callableIdIfNonLocal' in Fe10KtSymbols
returned CallableIds even for local declarations. This commit fixes this
behavior.

This commit fixes KtFe10SymbolByPsiTestGenerated.testLocalDeclarations().
2021-11-12 20:09:48 +09:00
Yan Zhulanow f7b4fa64ea [FIR IDE] Fix Fe10PsiKtEnumEntrySymbol.annotatedType in AAPI/FE10
'annotatedType' should return type of the enum itself, not of its entry.
This commit fixes KtFe10SymbolByPsiTestGenerated.testEnum().
2021-11-12 20:09:48 +09:00
Yan Zhulanow 47b5474955 [FIR IDE] Decouple KtFe10AnalysisSession and symbols 2021-11-12 20:09:47 +09:00
Yan Zhulanow b075fe8741 [FIR IDE] Fix CliFe10AnalysisFacade, so it can be used as a Project component 2021-11-12 20:09:47 +09:00
Yan Zhulanow 0388f1e5ca [FIR IDE] Refactoring, accept only KtElement sources in KtFe10AnalysisSession 2021-11-12 20:09:47 +09:00
Yan Zhulanow 0382323dad [FIR IDE] Refactoring, make KtFe10AnalysisSession final 2021-11-12 20:09:47 +09:00
Yan Zhulanow b59067ca45 [FIR IDE] Extract CLI parts of KtSymbol-aware KtReferences 2021-11-12 20:09:46 +09:00
Jinseong Jeon 08e181a543 FIR IDE: add tests about types of array/list and their element 2021-11-09 09:25:45 +01:00
Jinseong Jeon 4eec381d1b FIR IDE/LC: introduce/use KtTypeMappingMode 2021-11-08 20:12:17 +01:00
Jinseong Jeon 0da9ef873a FIR LC: use optimal type mapping mode for return type 2021-11-08 20:12:17 +01:00
Jinseong Jeon d3c34fa200 FIR LC: use optimal type mapping mode for value parameter 2021-11-08 20:12:17 +01:00
Jinseong Jeon 6d150fb7a5 FIR IDE: add APIs about FunctionClassKind 2021-11-08 20:12:17 +01:00
Ilya Kirillov 6453f2bdbf Analysis API: simplify scope hierarchy 2021-11-05 15:46:09 +01:00
Tianyu Geng 2c2851af6e Analysis API: add test covering get missing when branches
Also fix FIR implementation to generate boolean branches in the same
order as FE1.0.
2021-11-04 23:04:35 +01:00
Tianyu Geng ae50d52131 FIR IDE: add validity token to data classes related to smartcast API
Also move KtImplicitReceiverSmartCast closer to where it's used.
2021-11-04 16:00:38 +01:00
Tianyu Geng 7de0937031 FIR IDE: get unstable smartcast from FE1.0-based analysis API
Note that the current FE1.0 implementation still has some limitations

1. only references used as receiver are being considered for smartcast.
2. Somehow the smartcast information is not retained if the for generic
typed receivers. See multiSmartcastAsReceiver_stable.descriptors.txt
2021-11-04 16:00:37 +01:00
Tianyu Geng 197079c85c FIR IDE: make smartcast API return unstable smartcasts 2021-11-04 16:00:37 +01:00
Jinseong Jeon c3c79b874d FIR IDE: make constant evaluator robust to arithmetic exception 2021-11-01 22:50:47 +01:00
Jinseong Jeon 2dc2a90755 Introduce an API to convert TypeConstructorMarker to TypeParameterMarker 2021-10-28 12:54:45 +03:00
Jinseong Jeon 3f2c86afb8 FIR IDE/LC: introduce/use delegated member scope 2021-10-27 17:06:32 +02:00
Jinseong Jeon 4266ffa274 FIR IDE: fix typo in test directory (overridden) 2021-10-27 17:06:32 +02:00
Jinseong Jeon b52912162f FIR IDE: API to indicate delegated property 2021-10-27 17:06:30 +02:00
Jinseong Jeon 9524825662 FIR LC: approximate local type only if it's necessary and out of scope 2021-10-25 20:24:48 +03:00
Ivan Kylchik 225b064470 Implement new 'mix' test mode
This mode must be used when one configuration will run several tests
for different JUnit versions.
2021-10-25 00:14:20 +03:00
Yan Zhulanow 7c3706dd3f [FIR IDE] Disable dependent analysis session tests for FE10 implementation 2021-10-20 19:41:30 +03:00
Yan Zhulanow b7044803d2 [FIR IDE] Move out-of-block modification trigger to FrontendApiTestConfiguratorService 2021-10-20 19:41:29 +03:00
Yan Zhulanow 2894f87541 [FIR IDE] Move test configurators as constructor parameters 2021-10-20 19:41:29 +03:00
Yan Zhulanow 8f39640237 [FIR IDE] Move test file analysis in FE10 Analysis API implementation to FrontendApiTestConfiguratorService 2021-10-20 19:41:28 +03:00
Yan Zhulanow a1280ed723 [FIR IDE] Move testPrefix to FrontendApiTestConfiguratorService 2021-10-20 19:41:27 +03:00
Yan Zhulanow e12c7d1292 [FIR IDE] Extract Fe10AnalysisFacade from KtFe10AnalysisSession 2021-10-20 19:41:26 +03:00
Yan Zhulanow 516dd825c2 [FIR IDE] Initial descriptor-based implementation of the Analysis API 2021-10-20 19:41:24 +03:00