Commit Graph

112 Commits

Author SHA1 Message Date
Ilya Kirillov 5e42be9849 Analysis API: fix redundant caret symbol in testdata 2022-01-02 21:56:54 +03:00
Ilya Kirillov 11c50a48ba Analysis API: add isSubclassOf tests 2022-01-02 21:56:53 +03:00
Ilya Kirillov af789346f5 Analysis API: fix getKtExpressionType for array assignment target 2022-01-02 21:56:49 +03:00
Roman Golyshev 3f8fff55cf FIR IDE: Fix ImportOptimizer for types used as generics' parameters 2021-12-24 16:31:34 +00:00
Roman Golyshev e3219cc5b6 FIR IDE: Avoid resolving elvis operator, because it doesn't make sense
There are intrinsics to which elvis operator's usages are resolved;
however, we do not want to expose those intrinsics through the
high-level resolve
2021-12-21 18:48:00 +03:00
Mads Ager 61265a6501 Return error candidates from KtFirArrayAccessReference.resolveToSymbols 2021-12-21 13:22:15 +03:00
Simon Ogorodnik d084cfb65b FIR HL API: Unwrap substitution overrides if it contains stub types 2021-12-15 22:23:15 +03:00
Tianyu Geng 5fbe5981f7 Analysis API: add KtType.isDenotable() 2021-12-15 16:09:31 +03:00
Tianyu Geng 2f393cdd02 FE1.0 Analysis API: get smartcast if available with getKtExpressionType
The current implementation still does not work with multicast. In
addition, it appears FE1.0 does not attempt smart cast if it's not used.
2021-12-15 16:09:29 +03:00
Tianyu Geng f197fc93db Analysis API: add test for KtDiagnosticsProvider 2021-12-09 15:56:52 +03:00
Tianyu Geng b52dc15aa7 Analysis API: remove dispatch receiver type from XXXSubstitutionOverridesUnwrappingTest 2021-12-09 11:01:52 +01:00
Tianyu Geng 9153db2ecc FE1.0 Analysis API: rewrite KtFe10CallResolver 2021-12-09 11:01:52 +01:00
Tianyu Geng f1bd3597f8 FE1.0 Analysis API: make KtSymbol only reference declaration-site subst-overrides
This is the FE1.0 counterpart of fa8bb47bdf
2021-12-09 11:01:52 +01:00
Tianyu Geng 9b05019137 FIR Analysis API: reimplement KtFirCallResolver with new data model 2021-12-06 12:40:43 +01:00
Tianyu Geng c9f9ce99c1 Analysis API: adapt to KtCall data model change
Also add API to check if a `KtFunctionSymbol` is the invoke function on
a Kotlin builtin functional type.
2021-12-06 12:40:42 +01:00
Tianyu Geng bc95733818 FIR LL API: resolve PSI elements to more specific FIR element
Compound access and implicit delegated constructor are mapped to FIR
elements that are way too broad.
2021-12-06 12:40:41 +01:00
Ilya Kirillov 6e4c87f138 Analysis API: pretty print declarations additionaly to debug rendering in some tests 2021-12-02 20:09:19 +01:00
Ilya Kirillov bad91915a6 Analysis API: adapt reference resolve tests to changes in renderer 2021-12-02 20:09:19 +01:00
Ilya Kirillov 0a5bbc0096 Analysis API: update rendering testdata after changing renderer 2021-12-02 20:09:18 +01:00
Ilya Kirillov 7919dae558 Analysis API: improve rendering of constant values 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 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 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 e440c229f6 Analysis API: improve annotations value rendering in DebugSymbolRenderer 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 fff8eb244c Analysis API: add annotations to KtTypeAliasSymbol 2021-11-22 22:46:57 +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 bdde70312d Analysis API: update testdata after removing KtTypeAndAnnotations 2021-11-22 22:46:54 +01:00
Dmitriy Novozhilov 01c0cf80d0 [FIR] Support @kotlin.jvm.PurelyImplements annotation 2021-11-22 17:01:17 +03: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
Jinseong Jeon d91170ed2c FIR IDE: add more tests about resolving reference to type parameters 2021-11-18 17:33:17 +01:00
Ilya Kirillov 6f6a33e852 Analysis API: move testdata to corresponding components folders 2021-11-17 20:55:08 +01:00
Jiaxiang Chen f8262a2549 implement KtSymbolWithTypeParameters interface for KtPropertySymbol 2021-11-17 18:22:34 +01:00
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Roman Golyshev 13e27a3e06 [FIR IDE] Get rid of KtPossiblyMemberSymbol::dispatchType 2021-11-15 14:36:35 +03:00
Tianyu Geng 1c8d1fcdba FIR Tree: make FirDefaultPropertyAccessor propagate dispatchReceiverType
Custom property accessor has this property set and hence it make sense
for the default accessor to have it too. Also, FE1.0's counterpart
has this bit set and it's returned through the analysis API.
2021-11-15 11:10:46 +03:00
Ilya Kirillov 540bbc6bef Analysis API: temporary update descriptors testdata 2021-11-12 23:19:41 +01:00
Tianyu Geng a8ae704c0c FIR IDE: fix property accessor resolution
For property access with implicit receiver, the resolved fir is a
FirPropertyAccessExpression and hence we need to handle it in
KtFirCallResolver.
2021-11-12 21:56:46 +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 5e9c397023 [FIR IDE] Fix unsigned number evaluation test in AAPI/FE10
Constant evaluator of FE10 checks existence of the unsigned type
in the classpath. Absence of UInt leads to a failure.
2021-11-12 20:09:53 +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 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