Commit Graph

80 Commits

Author SHA1 Message Date
Ilya Kirillov 5cffcfaf9f Analysis API FE1.0: consider rendering parameters when rendering annotations 2021-12-02 20:09:18 +01:00
Ilya Kirillov 2d032112fd Analysis API FE1.0: fix rendering of enum entry 2021-12-02 20:09:18 +01:00
Ilya Kirillov 19dec92247 Analysis API: rework declaration renderer
- refactor code to use PrettyPrinter instead of ad-hoc one
- do not print nested local declarations as this does not seem to have use-cases
2021-12-02 20:09:18 +01:00
Ilya Kirillov c4e5ec2ff2 Analysis API: fix unsigned constant value creation for fe1.0 2021-12-02 20:09:17 +01:00
Ilya Kirillov 673459580c Analysis API: introduce annotation value for KClass 2021-12-02 20:09:16 +01:00
Ilya Kirillov f722a54c78 Analysis API: separate constant values from annotation values 2021-12-02 20:09:16 +01:00
Ilya Kirillov 47c1da2845 FIR IDE: separate KtAnnotationApplication and KtAnnotationApplicationValue 2021-12-02 20:09:16 +01:00
Ilya Kirillov b1c8a9e886 Analysis API: rename KtConstantValue -> KtAnnotationValue as it is annotation specific 2021-12-02 20:09:14 +01:00
Ilya Kirillov a70c336c2c Analysis API: fix constructor return type for FE1.0 implementation 2021-11-30 18:02:33 +01:00
Tianyu Geng 6e555e1d28 FE1.0 Analysis API: fix getReturnTypeForKtDeclaration for setter parameter 2021-11-30 18:02:33 +01:00
Tianyu Geng f1d0791f15 Analysis API: add test for KtDeclaration.getReturnKtType
FE1.0 always return kotlin.Unit as return type for constructors while
FIR returns the constructed class type. I am not sure which is more
desirable. Also, I am not sure how to make FE1.0 behave the same way.
2021-11-30 18:02:33 +01:00
Roman Golyshev 2a8431d80c [FIR IDE] Unify creation of KtFe10DescFunctionSymbol
It will be required later to implement overrides unwrapping logic
for descriptor-based symbols
2021-11-25 21:19:58 +03:00
Roman Golyshev fa8bb47bdf [FIR IDE] Add unwrapping substitution overrides which doesn't affect function's signature
Also, do not use PSI to restore SUBSTITUTION_OVERRIDE function/property
symbols
2021-11-25 21:19:56 +03:00
Ilya Kirillov 1d1f5ace8f Analysis API: rename KtCallableSymbol.type -> returnType 2021-11-22 22:47:01 +01:00
Ilya Kirillov d0318f1026 Analysis API: add test for file annotations 2021-11-22 22:47:00 +01:00
Ilya Kirillov ba918d45a2 Analysis API: introduce KtInitializerValue for initializer of KtPropertySymbol 2021-11-22 22:46:59 +01:00
Ilya Kirillov 02adb1924b Analysis API: add tests to check annotations on declarations 2021-11-22 22:46:58 +01:00
Ilya Kirillov a084ad59de Analysis API: add test for annotations on types 2021-11-22 22:46:56 +01:00
Ilya Kirillov 193df3e3c4 Analysis API: fix annotation rendering for types 2021-11-22 22:46:55 +01:00
Ilya Kirillov a5a5ff39d6 Analysis API: get rid of KtTypeAndAnnotations & add annotations for every type 2021-11-22 22:46:53 +01:00
Tianyu Geng d0d1c8c4b9 Analysis API: add test for getReturnExpressionTargetSymbol
Also fix FIR and FE1.0 implementations.
2021-11-19 23:29:17 +01:00
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