Commit Graph

134 Commits

Author SHA1 Message Date
Ilya Kirillov 2378437b30 [Analysis API FIR] do not create resolved KtTypes for unresolved ones 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
Jinseong Jeon 2131cb4fe0 AA FIR: functional type for anonymous function
^KTIJ-17657 In progress
2022-11-11 10:15:44 +01:00
Jinseong Jeon b2e239a542 AA: tests about equals on sealed/data class
^KT-54844 In Progress
2022-11-09 07:12:36 +01:00
Anna Kozlova 79bed083e6 [FIR] allow primary constructors in interfaces to support invalid code
KTIJ-23504
2022-11-08 14:51:33 +01:00
Jinseong Jeon 4497be0b68 AA: do not parse signature with NO_NAME_PROVIDED
^KTIJ-23503 Fixed
2022-11-04 10:42:19 +01:00
Anna Kozlova f18d1e9067 [Analysis API FIR] support call expression resolve in class literal
KTIJ-23272
2022-11-04 08:10:09 +01:00
Jinseong Jeon 7f6cad6fb3 FIR: ensure STATUS resolve phase before reading valueClassRepresentation 2022-11-02 18:04:38 +01:00
Jinseong Jeon 542ca68aba AA: add test about PsiType for @JvmInline value class 2022-11-02 18:04:38 +01:00
Jinseong Jeon c9a2e10dd7 AA: merge single/multi modules tests for PsiTypeProvider
...because single-module test is also multi-module test
2022-11-02 17:38:16 +01:00
Jinseong Jeon d98081dce2 AA: introduce MPP tests for PsiTypeProvider 2022-11-02 17:38:16 +01:00
Ilya Kirillov e2416f48fe [Analysis API] add tests for containing declaration for delegated member scope 2022-10-26 19:19:04 +00:00
Ilya Kirillov 97df0a0902 [Analysis API] rework containing declaration provider
now it should work for non-source declarations
2022-10-26 19:19:00 +00:00
Jinseong Jeon 14213ddad2 AA: fix expected type for lambda with explicit label 2022-10-24 22:07:05 +02:00
Dmitrii Gridin 4ee5bf178c [AA] DebugSymbolRenderer: render symbols recursively
^KT-54311
2022-10-17 14:59:47 +00:00
Roman Golyshev 3485d65213 [K2] Ignore failing tests for isUsedAsExpression
Those tests do not pass at the moment because of KTIJ-23143
2022-10-05 15:06:52 +00:00
Kristoffer Andersen f765457e51 [K2] isUsedAsExpression analysis 2022-10-05 15:06:52 +00:00
Ilya Kirillov 49f2f85927 [Low Level FIR] fix exception when creating symbol by invalid code 2022-10-04 12:56:07 +00:00
Ilya Kirillov 81c52e6886 [Analysis API FIR] fix call resolution on error elements 2022-10-03 16:02:23 +02:00
Ilya Kirillov ab3f916f3f [Analysis API FIR] fix call resolution of non-resolvable elements 2022-10-03 16:02:23 +02:00
Ilya Kirillov 4ae1cb74dd [Analysis API FIR] fix constant evaluation for incomplete call when compiler produces IntegerLiteralType
^KTIJ-21531 fixed
2022-09-30 12:19:51 +02:00
Jinseong Jeon dd7fc7f4ae AA FIR: avoid unsafe argument retrieval during const evaluation 2022-09-18 17:22:02 +02:00
Jinseong Jeon 836b6dae9f AA FIR: constant evaluation for String 2022-09-14 12:52:08 +02:00
Jinseong Jeon 68519af97a AA: add tests about platform types
...as declaration return type or expression type
2022-09-09 15:02:23 +02:00
Roman Golyshev bb2bee74cf [HL API] Fix FE10 implementation of KtExpressionTypeProvider 2022-09-01 13:57:03 +00:00
Jinseong Jeon 25f7554a31 AA FIR: constant evaluation for Java field 2022-08-20 00:50:09 +02:00
Simon Ogorodnik 513af2dfbc FIR. Refactor smart-cast representation in FIR tree
Make smart-casts non-transparent expression without delegation
to underlying FirQualifiedAccessExpression, as children delegation in
fir tree has unclear semantics
Remove two different kinds of tree nodes for smart-casts
2022-08-15 21:46:11 +00:00
Ilya Kirillov f39f1da70d [Analysis API FE10] fix suspend function type mapping 2022-08-10 22:49:12 +02:00
Ilya Kirillov 4d5f1dc1bb [FIR] do not fail when Continuation classes not found in classpath 2022-08-10 22:49:12 +02:00
Jaebaek Seo 50c293f83f Fix array access expression getKtType() bug
For an array access expression e.g., `foo[3]`,
KtFirExpressionTypeProvider first tries
`getReturnTypeForArrayStyleAssignmentTarget(..)` method that determines
the type of the array access expression when it is in the form of "set"
the value. However, the method also returns a non-null result for an
array access expression that reads its value i.e., "get". In this case,
the result of `getKtType()` becomes wrong. This commit lets the method
return a null for the type of "get" array access expression.
2022-08-10 17:34:49 +02:00
Ilya Kirillov a0f0fa5a47 [Analysis API FIR] fix candidate collection for delegatedConstructor call
^KTIJ-20446
2022-07-22 00:58:59 +02:00
Mikhail Glukhikh 76d5d3a2ec Extract separate FirModifierRenderer 2022-07-14 09:38:39 +00:00
Ilya Kirillov 6a145b52aa [Analysis API] update testdata after adding context receivers 2022-07-05 10:34:28 +02:00
Mikhail Glukhikh 2b235e1188 FE10 Analysis API: use compact renderer for flexible types even in debug 2022-06-29 16:50:06 +00:00
Mikhail Glukhikh 38f4a35be2 FIR: introduce flexible types pretty rendering for no arguments case
#KT-52020 Fixed
2022-06-29 16:50:05 +00:00
Mikhail Glukhikh 31ec10142b FirRenderer: add renderAllModifiers and renderDetailedTypeReferences
Related to KT-52020
2022-06-29 16:50:04 +00:00
Stanislav Erokhin 66851c7afd [Analysis API] Add KtReceiverParameterSymbol#correspondingSymbol 2022-06-27 19:32:44 +00:00
Ilya Kirillov bb7b34b3a1 [Analysis API] introduce KtSymbolOrigin.SUBSTITUTION_OVERRIDE
^KT-52043
2022-06-24 10:41:05 +02:00
Stanislav Erokhin 2234813363 [Analysis API] Add KtCallableMemberCall#typeArgumentsMapping 2022-06-23 07:50:21 +00:00
Stanislav Erokhin 8d8fc6e291 [Analysis API] Add type to KtReceiverValue
Maybe in the future we could remove type from the
KtImplicitReceiverValue, because it has ktSymbol, and in theory
that should be enough to create corresponding KtType.
Unfortunately that is not the case for KtClassOrObjectSymbol --
it doesn't have the API for "default" type creation currently.

Regarding code in KtFirCallResolver.kt -- it seems like code there
needs some love in the future. Psi created via custom code there,
because for call x() FIR has receiver x with psi = null
2022-06-23 07:50:21 +00:00
Ilya Kirillov d8b88e9b69 [Analysis API] add testcases, add comments to tests 2022-06-22 09:31:48 +02:00
Ilya Kirillov 36f370f501 [Analysis API] add tests for KtTypeScope 2022-06-22 09:31:47 +02:00
Ilya Kirillov b9907963fe [Analysis API] add tests for KtSubstitutor 2022-06-22 09:31:47 +02:00
Ilya Kirillov 2c1074ac37 [Analysis API] actualize testdata 2022-06-22 09:31:45 +02:00
Ilya Kirillov ffdfa05015 [Analysis API] use existing test utilities for rendering 2022-06-22 09:31:45 +02:00
Ilya Kirillov dafb132a17 [Analysis API] add few tests which checks contracts of signature substitutions 2022-06-22 09:31:43 +02:00
Ilya Kirillov 3525e42f11 [Analysis API] introduce substitutor builder 2022-06-22 09:31:43 +02:00
Ilya Kirillov c95ac9f845 [Analysis API] add some basic tests for symbol substitution 2022-06-22 09:31:42 +02:00
Roman Golyshev 581ae5fcb7 [FIR IDE] Add a special type of KtCall for generic type qualifiers
^KTIJ-21672 Fixed
2022-06-14 15:00:13 +00:00