Mikhail Glukhikh
08c22c388c
K2: change logic of result type search in ILT case
...
Related to KT-57487, KT-57703
2023-04-27 12:19:38 +00:00
Mikhail Glukhikh
27c4a7b7ef
FE: add new tests around unresolved integer literals
...
Related to KT-57487, KT-57703
2023-04-27 12:19:38 +00:00
Mikhail Glukhikh
70c5978add
K2: Approximate ILT in vararg expressions properly #KT-57487 Fixed
2023-04-27 12:19:38 +00:00
Mikhail Glukhikh
abb58f1380
K2: unmute the test related to KT-48675
2023-04-27 09:16:44 +00:00
Mikhail Glukhikh
41e551e321
K1: add deprecation warning for property/field pair with different types
...
#KT-57905 Fixed
2023-04-26 11:47:16 +00:00
Mikhail Glukhikh
1c56a71b14
FirClassSubstitutionScope: don't recreate constructor type parameters w/out need
...
#KT-58008 Fixed
2023-04-25 16:42:59 +00:00
Mikhail Glukhikh
5daafd5ed5
FirNestedClassifierScope: don't give empty map substitutor to a processor
...
Optimization related to KT-58008 (hides the issue in some cases)
2023-04-25 16:42:59 +00:00
Mikhail Glukhikh
4172ce1018
K2: reproduce KT-58008
2023-04-25 16:42:59 +00:00
Mikhail Glukhikh
4589463e92
FirBasedSymbol: call lazyResolveToPhase directly on a backing field
2023-04-25 12:18:27 +00:00
Mikhail Glukhikh
156be26982
AA: use full rendering of backing field symbols
2023-04-25 12:18:27 +00:00
Mikhail Glukhikh
1f05ce2e01
AA/LC: Support annotation property->backing field move
...
#KT-57462 Fixed
2023-04-25 12:18:27 +00:00
Mikhail Glukhikh
f6bf7560a6
K2: fix field annotation handling around serialization
...
#KT-57135 Fixed
2023-04-25 12:18:27 +00:00
Mikhail Glukhikh
dc38ce24f7
K2: fix field annotation splitting and frontend checks
...
Related to KT-57135
2023-04-25 12:18:26 +00:00
Mikhail Glukhikh
b6fdc2dbfc
DiagnosticReporterByTrackingStrategy: replace TODO() with assertions/errors
...
#KT-55079 Fixed
2023-04-19 07:24:05 +00:00
Mikhail Glukhikh
d4f81cf67f
K1: remove unused resolution diagnostic
...
Related to KT-55079
2023-04-19 07:24:05 +00:00
Mikhail Glukhikh
9374202ebc
FirCallResolve: disable property resolve optimization in builder inference
...
#KT-57889 Fixed
2023-04-18 17:05:01 +00:00
Mikhail Glukhikh
f9a7a7fda2
K2: reproduce KT-57889
2023-04-18 17:05:00 +00:00
Mikhail Glukhikh
50f82c9094
FirBuilderInferenceSession: fix calculation of effectivelyEmptyCommonSystem
...
#KT-57873 Fixed
2023-04-18 09:23:20 +00:00
Mikhail Glukhikh
7bd5491498
K2: reproduce KT-57873
2023-04-18 09:23:20 +00:00
Mikhail Glukhikh
bde0282fb1
K2: extract constant from Java enum entry properly
...
#KT-58002 Fixed
2023-04-17 21:05:04 +00:00
Mikhail Glukhikh
0a126a173e
K2: reproduce KT-58002
2023-04-17 21:05:03 +00:00
Mikhail Glukhikh
5cff8c15ab
K2: fix intrinsic analysis in FirToConstantValueChecker
...
#KT-57986 Fixed
2023-04-17 20:53:31 +00:00
Mikhail Glukhikh
c826c7301c
K2 JS/Native: reproduce KT-57986
2023-04-17 20:53:30 +00:00
Mikhail Glukhikh
2ccad553e6
K1/K2: allow to apply suspend modifier to anonymous function
...
#KT-57991 Fixed
2023-04-17 18:05:44 +00:00
Mikhail Glukhikh
0dbf698653
K1: count anonymous function as function expression in checkers
...
Related to KT-57991
2023-04-17 18:05:44 +00:00
Mikhail Glukhikh
c8b74e5655
K2: reproduce KT-57991
2023-04-17 18:05:43 +00:00
Mikhail Glukhikh
147a3331a4
RawFirBuilder: fix label bounding for binary operations
...
#KT-57880 Fixed
2023-04-17 10:21:25 +00:00
Mikhail Glukhikh
089222cecc
K2: reproduce KT-57880
2023-04-17 10:21:24 +00:00
Mikhail Glukhikh
d76b32daf2
K1: rename 'kotlinCall' -> 'selectorCall' in relevant places
2023-04-03 16:35:55 +00:00
Mikhail Glukhikh
bd27ec840c
K1: report swallowed diagnostic about receiver type mismatch
...
#KT-55056 Fixed
2023-04-03 16:35:55 +00:00
Mikhail Glukhikh
563781a246
K2: serialize data class equals / hashCode / toString functions
...
#KT-57510 Fixed
2023-03-28 09:30:02 +00:00
Mikhail Glukhikh
8b247982e3
Fix text/description of FirIncompatiblePluginAPI
2023-03-27 14:00:52 +00:00
Mikhail Glukhikh
930237b60e
K1: report swallowed diagnostic about upper bound violation
...
#KT-55055 Fixed
2023-03-24 14:27:03 +00:00
Mikhail Glukhikh
25cb03b707
Add test ensuring the case of KT-57022 is fixed
2023-03-24 09:12:16 +00:00
Mikhail Glukhikh
9af944669a
FIR2IR: bind fake overrides for classes on the fly right after member processing
...
#KT-57441 Fixed
2023-03-23 13:12:18 +00:00
Mikhail Glukhikh
d3f1571d35
FIR2IR: add repro for KT-57441
2023-03-23 13:12:17 +00:00
Mikhail Glukhikh
eb80ba9cf7
DiagnosticReporterByTrackingStrategy: extract reportArgumentConstraintErrorByPosition
2023-03-22 15:42:26 +00:00
Mikhail Glukhikh
7a58c2e99f
DiagnosticReporterByTrackingStrategy: refactor positioning
2023-03-22 15:42:26 +00:00
Mikhail Glukhikh
739e7d3a7a
DiagnosticReporterByTrackingStrategy: refactor all whens by type
2023-03-22 15:42:25 +00:00
Mikhail Glukhikh
45e78455b2
K2: repeat K1 behavior around multiple inheritance by delegation
...
#KT-56720 Fixed
2023-03-21 16:16:20 +00:00
Mikhail Glukhikh
ab883d91c8
FE: add tests to reproduce KT-56720
2023-03-21 16:16:19 +00:00
Mikhail Glukhikh
e99b453816
Restore binary compatibility of BinaryVersion #KT-56119 Fixed
2023-03-20 14:50:15 +00:00
Mikhail Glukhikh
a43a16b25b
Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound to 2.0
...
#KT-57395 Fixed
Related to KT-47986
2023-03-20 11:11:41 +00:00
Mikhail Glukhikh
e8232a7572
FE: add one more test related to KT-56511 with the relevant feature ON
2023-03-17 14:57:41 +00:00
Mikhail Glukhikh
41c868445c
K1: introduce smartcast deprecation for a public API property in invisible class
...
#KT-56511 Fixed
Related to KT-57290
2023-03-17 14:57:40 +00:00
Mikhail Glukhikh
0b31e5ad63
K2: reproduce & add test for KT-56511
2023-03-17 14:57:40 +00:00
Mikhail Glukhikh
2fb79bf0b1
K1: don't report InferredIntoDeclaredUpperBound on non-physical element
...
#KT-56169 Fixed
2023-03-17 12:08:37 +00:00
Mikhail Glukhikh
980ab41ef1
FE: split one more test "buildList type argument is inferred into upper bound"
...
Related to KT-48445, KT-56169
2023-03-17 12:08:37 +00:00
Mikhail Glukhikh
97bec59bc9
K1: add forgotten INFERRED_INTO_DECLARED_UPPER_BOUNDS for incorporation case
...
#KT-56169 Fixed
2023-03-17 12:08:36 +00:00
Mikhail Glukhikh
ba2d896c01
FE: split test "buildList type argument is inferred into upper bound"
...
Related to KT-50520, KT-56169
2023-03-17 12:08:35 +00:00
Mikhail Glukhikh
0ecfcf4380
FIR2IR: make anonymous object constructor public to match K1 behavior
2023-03-16 18:07:36 +00:00
Mikhail Glukhikh
e1c2dc06f1
FIR2IR: make handling of FirRegularClass & FirAnonymousObject more consistent
...
#KT-57221 Fixed
2023-03-16 18:07:36 +00:00
Mikhail Glukhikh
51cd1b2d6f
[minor] Fir2IrVisitor: reformat
2023-03-16 18:07:36 +00:00
Mikhail Glukhikh
43a0e7ecbd
FIR2IR: add test for KT-57221
2023-03-16 18:07:35 +00:00
Mikhail Glukhikh
58959951d3
K2: fix CCE during bound conversion for Java raw Kotlin-based type
...
#KT-56630 Fixed
2023-03-15 13:40:49 +00:00
Mikhail Glukhikh
a3f0e429e3
K2: report empty intersection warnings from completion properly
2023-03-11 10:15:25 +00:00
Mikhail Glukhikh
47fab61716
FE: introduce AllowEmptyIntersectionsInResultTypeResolver feature
...
Related to KT-51221
2023-03-11 10:15:24 +00:00
Mikhail Glukhikh
fbea09b3b6
K2 tests: always use language version 2.0 or higher
2023-03-11 10:15:24 +00:00
Mikhail Glukhikh
d9a6cad5ab
Disable ForbidInferringTypeVariablesIntoEmptyIntersection in some FE tests
2023-03-11 10:15:23 +00:00
Mikhail Glukhikh
b64cb67370
K2: support ForbidInferringTypeVariablesIntoEmptyIntersection on/off
2023-03-11 10:15:23 +00:00
Mikhail Glukhikh
f7544aff62
Delay ForbidInferringTypeVariablesIntoEmptyIntersection to 2.*
...
Note: here we set sinceVersion = null for this feature.
However, we plan in 1.9.* - 2.0 time frame to solve KT-56377
and to enable this feature in 2.0, the latest in 2.1.
2023-03-11 10:15:22 +00:00
Mikhail Glukhikh
af78ef77b4
K2: don't accept reflective function kinds as possible lambda type
...
#KT-56954 Fixed
2023-03-09 08:52:46 +00:00
Mikhail Glukhikh
7a6ff5de34
K2: add test for KT-56954
2023-03-09 08:52:46 +00:00
Mikhail Glukhikh
c585790469
IR (test infrastructure): don't load function body in assertion
2023-02-28 10:07:29 +00:00
Mikhail Glukhikh
37838963c6
IR: extract AbstractIrLazyFunction and tryLoadIr
2023-02-28 10:07:28 +00:00
Mikhail Glukhikh
f075c9d50b
IR: extract & rename getTopLevelDeclaration() to IrLazyFunctionBase
2023-02-28 10:07:28 +00:00
Mikhail Glukhikh
f7036aa79c
FIR2IR: don't generate default parameters for delegated members
...
#KT-55465 Fixed
2023-02-27 12:58:27 +00:00
Mikhail Glukhikh
b68a26865a
FIR2IR: add test for KT-55465
2023-02-27 12:58:26 +00:00
Mikhail Glukhikh
7d8a1e9c1c
Delay EnhanceNullabilityOfPrimitiveArrays to version 2.0
...
See KT-54521
2023-02-14 11:52:00 +00:00
Mikhail Glukhikh
2405f28e64
K2: add test confirming successful work of KT-56261
2023-02-13 12:21:42 +00:00
Mikhail Glukhikh
1ee93553df
K2: extract isSubtypeForSamConversion for SAM arguments check
...
Related to KT-53966
2023-02-08 17:40:21 +00:00
Mikhail Glukhikh
898a9a0f2c
K2: apply SAM if argument has postponed lambdas #KT-53966 Fixed
2023-02-08 17:40:21 +00:00
Mikhail Glukhikh
5a9e8b3c0a
FE: add tests for KT-53966 (positive/negative)
2023-02-08 17:40:20 +00:00
Mikhail Glukhikh
81ac94b2d7
FE: convert LanguageVersion.versionString to a stored property
...
Suggested by Yuriy Artamonov
#KT-56276 Fixed
2023-02-08 12:51:21 +00:00
Mikhail Glukhikh
6d642c88f5
FIR2IR: make enum with abstract members from interfaces abstract
...
Related to KT-55828
2023-02-02 10:53:20 +01:00
Mikhail Glukhikh
1d309cbbb2
Fix test data accidentally broken in cab03404 (commit clash)
2023-02-01 10:18:19 +01:00
Mikhail Glukhikh
cab0340497
K1: report also TYPE_MISMATCH_WARNING in JvmSyntheticAssignmentChecker
...
#KT-56061 Fixed
2023-01-31 22:05:18 +00:00
Mikhail Glukhikh
f14effa8e8
K1: extract isAssignmentCorrectWithDataFlowInfo
2023-01-31 22:05:17 +00:00
Mikhail Glukhikh
7cc3f7de62
K1: introduce assignment checkers and convert JvmSyntheticAssignmentChecker
...
Related to KT-56061
2023-01-31 22:05:16 +00:00
Mikhail Glukhikh
5fc0aa769b
FE: add more tests around KT-56061
2023-01-31 22:05:16 +00:00
Mikhail Glukhikh
f0ea8ab81b
FIR2IR: make IrGetValue type consistent with IrVariable type
...
#KT-55458 Fixed
2023-01-31 13:43:26 +00:00
Mikhail Glukhikh
1c4d9175e7
FIR2IR: add test for KT-55458
2023-01-31 13:43:26 +00:00
Mikhail Glukhikh
9378da6f27
FirElementSerializer: drop no longer necessary code for accessor annotations
2023-01-31 13:16:13 +00:00
Mikhail Glukhikh
bf090cdc6d
Add different black box tests around KT-52338
2023-01-30 14:55:41 +00:00
Mikhail Glukhikh
f6bd4d5e15
Diagnostic tests: create fieldRename subDir and use it for related tests
...
Related to: KT-55846, KT-50082, KT-55436, KT-55017
2023-01-30 14:55:40 +00:00
Mikhail Glukhikh
8bc2aaa295
FE: Add test for KT-56227 (to confirm it's fixed)
2023-01-27 21:38:08 +00:00
Mikhail Glukhikh
8aed6d3c4c
K2: add dispatchReceiverForStatics to ScopeTowerLevel to avoid receiver hacks
...
Related to KT-55116
2023-01-26 15:27:58 +00:00
Mikhail Glukhikh
d436d56871
FE: add some more tests around static field fake overrides
2023-01-26 15:27:58 +00:00
Mikhail Glukhikh
938e1d5ce8
K2: copy explicit receiver to dispatch receiver for static member accesses
...
Related to KT-55116
2023-01-26 15:27:57 +00:00
Mikhail Glukhikh
4167a69e30
K2: generate implicit dispatch receivers for static members called
...
#KT-55371 Fixed
#KT-55372 Fixed
2023-01-26 15:27:57 +00:00
Mikhail Glukhikh
9cfcf057ef
K2: expand qualifier type aliases in visibility checker & in FIR2IR
...
#KT-55408 Fixed
2023-01-26 15:27:56 +00:00
Mikhail Glukhikh
ead319f832
K2: add test for KT-55408
2023-01-26 15:27:56 +00:00
Mikhail Glukhikh
aafde418cc
K2: store imported static qualifiers in dispatch receiver field
...
This is a partial revert of commit 104fd4c1
#KT-55116 Fixed
2023-01-26 15:27:55 +00:00
Mikhail Glukhikh
416d4f57eb
K2: add test for KT-55371
2023-01-26 15:27:55 +00:00
Mikhail Glukhikh
b867fd8c2f
FIR2IR: set CATCH_PARAMETER origin for catch parameters
2023-01-25 12:31:35 +00:00
Mikhail Glukhikh
f0a1d3e3b1
FIR2IR: generate modifiers in reference adapters as PSI2IR does
...
In particular, this commit makes isExternal, isExpect and isTailRec
always false for FIR2IR reference adapters
#KT-55461 Fixed
2023-01-25 12:31:34 +00:00
Mikhail Glukhikh
ae4b8be16b
FIR2IR: never generate empty when #KT-55459 Fixed
...
In details, this commit changes the following:
- it converts FIR when without branches to empty IR block without when
- it doesn't drop empty else branches in when anymore
2023-01-25 12:31:34 +00:00
Mikhail Glukhikh
41966a745e
Enum entries: add new tests with language feature ON & fix checker
2023-01-24 12:46:00 +00:00
Mikhail Glukhikh
c534c54a1c
FE: use WITH_STDLIB directive for Enum.entries tests
2023-01-24 12:46:00 +00:00
Mikhail Glukhikh
565adf3075
K1: don't filter Enum.entries in tower to report error later
...
After this commit we:
- preserve Enum.entries synthetic property in tower even in case the bound feature is OFF
- report an error on Enum.entries call in specific checker if the feature is OFF
- give this synthetic property lower priority, no matter feature ON or OFF
#KT-55251 Fixed
2023-01-24 12:45:59 +00:00