Commit Graph

59 Commits

Author SHA1 Message Date
Jinseong Jeon 205866a516 FIR IDE: add API to get KtType from KtTypeParameter 2021-11-18 17:33:17 +01:00
Dmitriy Novozhilov 93378b1a04 [FE 1.0] Resolve private constructors of sealed classes same as for regular classes
^KT-44866
^KT-49729
2021-11-18 13:54:05 +03:00
Ilya Kirillov 7f6afcabf1 Analysis API: regenerate tests 2021-11-17 20:55:11 +01:00
Ilya Kirillov 7cb1f19a79 Analysis API: move component test classes to corresponding dirs 2021-11-17 20:55:10 +01:00
Jiaxiang Chen f8262a2549 implement KtSymbolWithTypeParameters interface for KtPropertySymbol 2021-11-17 18:22:34 +01:00
Roman Golyshev 13e27a3e06 [FIR IDE] Get rid of KtPossiblyMemberSymbol::dispatchType 2021-11-15 14:36:35 +03:00
Roman Golyshev 4e1e1570df [FIR IDE] Add getDispatchReceiverType function and use
This function is under a heavy deprecation and should not be used,
since it will most probably be removed in the future
2021-11-15 14:36:31 +03:00
Ilya Kirillov 50f5a0559e Analysis API: regenerate tests 2021-11-12 22:09:00 +01:00
Yan Zhulanow 21026cc704 [FIR IDE] Enable constant evaluation tests in AAPI/FE10
Implementation of constant evaluation was changed, so now it doesn't
swallow error values.
2021-11-12 20:09:54 +09:00
Yan Zhulanow 9106a4bbc5 [FIR IDE] Enable call resolution tests in AAPI/FE10
Fix numerous cases in Fe10KtCallResolver so the tests pass correctly.
2021-11-12 20:09:53 +09:00
Yan Zhulanow a653a57593 [FIR IDE] Unwrap typealias SAM constructor in AAPI/FE10
This commit fixes KtFe10ResolveCallTestGenerated#testSamConstructorCall().
2021-11-12 20:09:53 +09:00
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