Mikhail Glukhikh
056e644b6d
FirBuiltinSymbolProvider: add a header comment describing built-ins
...
Related to KT-61330
2023-09-06 13:14:16 +00:00
Mikhail Glukhikh
c695d2759a
K2: add test plugin visitor checking source elements presence
...
Related to KT-60555, KT-61330
2023-09-06 13:14:16 +00:00
Mikhail Glukhikh
4d9457862f
K2: add sourceElement for binary Java classes
...
#KT-60555 Fixed
2023-09-06 13:14:16 +00:00
Mikhail Glukhikh
3ff2c7d6f7
K2: introduce custom Enum.entries migration checkers
...
Related to KT-56623, KT-56587
#KT-59344 Fixed
2023-08-31 13:29:02 +00:00
Mikhail Glukhikh
e0d68fc93e
K2: introduce FirEnumEntriesRedeclarationChecker (KT-59344)
2023-08-31 13:29:01 +00:00
Mikhail Glukhikh
d028f9ec95
K2: add stubs for enum entries deprecation diagnostics (KT-59344)
2023-08-31 13:29:01 +00:00
Mikhail Glukhikh
6ce096f0ed
K2: handle extra value parameter in FirCallCompleter properly
...
#KT-60450 Fixed
2023-08-28 14:02:56 +00:00
Mikhail Glukhikh
3e330241b4
K1/K2: add a test to fix state of KT-55168
2023-08-28 09:40:26 +00:00
Mikhail Glukhikh
c4fbbe7338
Fix old JS BE tests in MultiplatformJpsTestWithGenerated by using K1
2023-08-25 08:57:53 +00:00
Mikhail Glukhikh
824208e7f5
Use LV 1.9 in ImportsDumperTest
2023-08-25 08:57:53 +00:00
Mikhail Glukhikh
4f5a00ac2a
Use language version 1.9 in (JsIr)AnalysisHandlerExtensionTest
2023-08-25 08:57:53 +00:00
Mikhail Glukhikh
64d8df0a61
Use language version 1.9 in JsProtoComparisonTestGenerated
2023-08-25 08:57:53 +00:00
Mikhail Glukhikh
f9c7a88175
Add -Xuse-fir-lt=false to some scripting tests
...
make them compatible with K2
2023-08-25 08:57:53 +00:00
Mikhail Glukhikh
6144ae7a6f
Run CLI tests around EnumEntries not enabled with LV 1.9
2023-08-25 08:57:53 +00:00
Mikhail Glukhikh
a73442f90f
K2: add a check for duplicate source root
2023-08-25 08:57:53 +00:00
Mikhail Glukhikh
9bff7e3045
K2: introduce "no source files" CLI check
2023-08-25 08:57:52 +00:00
Mikhail Glukhikh
5ee50f50b5
K2/LC: set hasBackingField to false for expect properties
...
#KT-61173 Fixed
2023-08-23 13:48:48 +00:00
Mikhail Glukhikh
289dafa331
FIR2IR: don't apply SAM conversion for type parameter based types
...
#KT-58893 Fixed
#KT-58884 Fixed
2023-08-22 15:13:17 +00:00
Mikhail Glukhikh
8cbefcc26f
K2: add test to ensure #KT-55981 Obsolete
2023-08-22 11:40:26 +00:00
Mikhail Glukhikh
27afee8683
K2: generate bounds for inner-class based raw types properly
...
#KT-58579 Fixed
2023-08-22 11:40:26 +00:00
Mikhail Glukhikh
4e2067a163
K2: reproduce KT-58579
2023-08-22 11:40:25 +00:00
Mikhail Glukhikh
2ff075c961
FIR2IR: use ELVIS origin only on wrapping blocks #KT-60250 Fixed
2023-08-22 11:20:19 +00:00
Mikhail Glukhikh
b06188180e
FIR2IR: don't generate 'none' type arguments for Java field references
...
#KT-60254 Fixed
2023-08-22 11:20:19 +00:00
Mikhail Glukhikh
9846ec23df
Raw FIR: generate 'return setValue' instead of just 'setValue'
...
#KT-61045 Fixed
2023-08-22 11:20:19 +00:00
Mikhail Glukhikh
7d5e2f85cc
FIR2IR: don't generate unnecessary 'return throw'
...
#KT-60245 Fixed
2023-08-22 11:20:19 +00:00
Mikhail Glukhikh
0abf17201f
K2: fix implementation of EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT
...
This commit fixes
`FirCompileKotlinAgainstCustomBinariesTest.testUnreachableExtensionVarPropertyDeclaration`.
2023-08-09 23:58:51 +00:00
Mikhail Glukhikh
cdd3f10e99
K2: make synthesized functions synthesized in protobuf
...
Related to KT-59171
2023-07-27 11:24:09 +00:00
Mikhail Glukhikh
336ea28735
Drop setting progressive mode in cli / cli-base (related to KT-59171)
...
This commit prevents language version increase due to bootstrapping
problems. Compiler version X attempts to build the project with the
current version X+1 -> warning about progressive mode cannot be enabled ->
error due to -Werror -> build failure.
2023-07-26 18:19:58 +00:00
Mikhail Glukhikh
e76cf24d01
Explicitly use language version 1.9 for K2-unsupported parts
...
This commit explicitly sets LV 1.9 for all projects with disabled FIR
bootstrap, as well as for libraries, including Native stdlib.
Related to KT-59171
2023-07-26 18:19:58 +00:00
Mikhail Glukhikh
5836a8aa0b
K2: add more tests/fix augmented assignment case around KT-59748
2023-07-26 06:09:15 +00:00
Mikhail Glukhikh
f20e2dec31
K2: generate Unit conversion for indexed assignment at raw FIR stage
...
#KT-59748 Fixed
2023-07-26 06:09:15 +00:00
Mikhail Glukhikh
1832413a02
K2: reproduce KT-59748
2023-07-26 06:09:15 +00:00
Mikhail Glukhikh
a428ab6ed6
K2: handle alias-based types nullability properly in ConeTypeContext
...
#KT-60154 Fixed
2023-07-26 06:02:42 +00:00
Mikhail Glukhikh
95bf63d6cb
K2: introduce OptIn language version checker
...
#KT-60598 Fixed
2023-07-24 12:50:38 +00:00
Mikhail Glukhikh
8c305d6143
K2: introduce infrastructure for LanguageVersionSettings checkers
2023-07-24 12:50:38 +00:00
Mikhail Glukhikh
3547b404d5
Use language version 1.9 in KAPT3 tests to avoid 2.0 migration problems
2023-07-24 12:45:07 +00:00
Mikhail Glukhikh
834bd1a71c
K1/K2: split incremental JPS tests properly (relates to KT-59171)
2023-07-20 10:57:45 +00:00
Mikhail Glukhikh
66bbb9582c
K1/K2: split incremental compilation tests properly (relates to KT-59171)
2023-07-19 09:34:58 +00:00
Mikhail Glukhikh
08222c83cf
K1/K2: set language version explicitly in Native tests pipeline
2023-07-19 06:46:53 +00:00
Mikhail Glukhikh
7a69f13fd6
K2: use unsubstituted scope to search for equals in FirDataFlowAnalyzer
...
#KT-60436 Fixed
2023-07-14 16:38:47 +00:00
Mikhail Glukhikh
00b4ae6ae9
K2: expand type before isSomeType checks properly
...
Related to KT-60229
2023-07-14 16:38:47 +00:00
Mikhail Glukhikh
51e8a72f47
K2: expand return type properly in FirReturnTypeChecker
...
#KT-60229 Fixed
2023-07-14 16:38:47 +00:00
Mikhail Glukhikh
402e1de5fe
K2: reproduce KT-60229
2023-07-14 16:38:47 +00:00
Mikhail Glukhikh
c350280e64
K2: fix enhancement building for Java methods with type parameters
...
Before this commit, we copied each type parameter during method
enhancement, while not copying the symbol. This led to symbol clashes
in MPP scenarios and various other problems.
Now we create a fully-functional type parameter copy in enhancement
and perform a substitution of old type parameters with new ones
in receiver type, value parameter types, return type,
and type parameter upper bounds.
#KT-59766 Fixed
#KT-59738 Fixed
2023-07-14 16:17:49 +00:00
Mikhail Glukhikh
17da09bf17
K2: add ConeKotlinType argument for NULL_FOR_NONNULL_TYPE
2023-07-13 09:07:39 +00:00
Mikhail Glukhikh
9d9d7880af
K2: render types in quotes in diagnostic messages
2023-07-13 09:07:39 +00:00
Mikhail Glukhikh
c839cd3c11
K2: don't use debugging type renderer in error messages
2023-07-13 09:07:39 +00:00
Mikhail Glukhikh
39406710b2
FIR2IR: fix origin calculation for explicit inc/dec calls
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
f8ca440e96
K2: resolve Java enum entries from the beginning (related to KT-59464)
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
e6d43c1f48
FIR2IR: simplify operations with getStatementsOrigin
...
#KT-54989 Fixed
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
ba0ab38b83
K2: set vararg type for Java annotations #KT-59464 Fixed
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
6f8e2b4718
FIR2IR: Drop a set of redundant or unclear TODOs
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
c2135b72c4
Fir2IrLazyProperty: simplify backing field check a little bit
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
71456c5514
FIR2IR: properly set constant expression type
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
09175c7d56
Fir2IrLazyProperty: drop redundant error type check
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
0e6a7bbe82
FIR2IR: simplify ConversionTypeOrigin/Context
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
2c0c9e5b5c
FIR2IR: drop error type check in createIrProperty
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
595aace885
Fir2IrConverter: unite two process*Members functions in processClassMembers
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
ca0b061675
Add forgotten issue reference for PrioritizedEnumEntries
2023-07-06 17:49:15 +00:00
Mikhail Glukhikh
ff490fb633
FIR2IR: add more detailed exception message for KT-59766
2023-07-06 17:49:15 +00:00
Mikhail Glukhikh
15b070b494
K2: don't resolve callable reference to enum entries #KT-59611 Fixed
2023-07-06 15:06:31 +00:00
Mikhail Glukhikh
6bed02fed3
K2: fix an exception during function resolve #KT-59649 Fixed
2023-07-05 13:52:45 +00:00
Mikhail Glukhikh
ce4ad0e42a
Regenerate LightAnalysisModeTestGenerated test group
2023-06-23 16:44:50 +02:00
Mikhail Glukhikh
0d8f3a6026
K2: generate Java synthetics for Kotlin get/sets w/out type parameters
...
This commit is a follow-up to d8a20f19 and
provides additional K1 compatibility.
#KT-59550 Fixed
2023-06-23 16:44:50 +02:00
Mikhail Glukhikh
08a355756a
K2 (minor): fix modality in tests from d8a20f19
2023-06-23 16:44:49 +02:00
Mikhail Glukhikh
fcfee9384a
K2: reproduce KT-59550
2023-06-23 16:44:49 +02:00
Mikhail Glukhikh
fa6b1e24f9
FE: perform IOT approximation after resolution & inference
...
#KT-54917 Fixed
2023-06-22 12:29:11 +00:00
Mikhail Glukhikh
7884d9a61e
K2: reproduce KT-54917
2023-06-22 12:29:11 +00:00
Mikhail Glukhikh
4b7ab54d95
FE: fix test data after commit clash
2023-06-21 19:25:14 +02:00
Mikhail Glukhikh
78f4d399d4
FE: add test to ensure Java entries static field is resolved normally
2023-06-21 13:08:01 +00:00
Mikhail Glukhikh
905e1dcd3b
K2: introduce prioritized enum entries resolve by a 2.1 feature
...
Related to KT-48872
2023-06-21 13:08:01 +00:00
Mikhail Glukhikh
b92f1e2036
K2: de-prioritize access to Enum.entries properly #KT-57954 Fixed
2023-06-21 13:08:00 +00:00
Mikhail Glukhikh
978d52d05b
K2: render additionally *s for static references
...
This commit allows to distinguish static VS non-static things
inside FIR_DUMP, e.g. static synthetic Enum.entries with
enum entry Enum.entries
2023-06-21 13:08:00 +00:00
Mikhail Glukhikh
70899d492d
K2: reproduce KT-57954 and reorganize tests around enum entries warnings
...
In particular, here we add FIR_DUMP to all enum entries tests with
some deprecation diagnostics and the feature on, and remove all txt-files
2023-06-21 13:08:00 +00:00
Mikhail Glukhikh
7fd441f16a
Analysis API: add normal FE10 import optimizer (taken from plugin code)
2023-06-21 12:04:31 +02:00
Mikhail Glukhikh
668684ca13
K2: correct FirJavaField usages taking imported variant into account
...
Related to KT-59140
2023-06-20 14:13:21 +00:00
Mikhail Glukhikh
8983e3a218
K2: correctly set importedFromObjectOrStaticData for fields
...
#KT-59140 Fixed
#KT-58980 Fixed
2023-06-20 14:13:21 +00:00
Mikhail Glukhikh
18206210cf
K2: reproduce KT-59140
2023-06-20 14:13:21 +00:00
Mikhail Glukhikh
d8a20f1975
K2: don't generate Java overridden synthetics for Kotlin get/sets
...
#KT-59038 Fixed
2023-06-20 07:07:10 +00:00
Mikhail Glukhikh
d5a02960d8
K2 plugins: set proper 'expect' flag for all member declarations
...
Related to KT-59299
2023-06-16 17:55:46 +00:00
Mikhail Glukhikh
8e882ea797
K2 plugins: create companions with same expect/actual as their owners
...
#KT-59299 Fixed
2023-06-16 17:55:45 +00:00
Mikhail Glukhikh
668157eb41
FirClassAnySynthesizedMemberScope.kt: make it a declared member scope
...
Related to KT-54844, KT-58926
2023-06-14 07:09:16 +00:00
Mikhail Glukhikh
0ea0346ec1
FE MPP: add a test with expect value class B : interface with toString
...
Related to KT-54844
2023-06-14 07:09:16 +00:00
Mikhail Glukhikh
f48142a6e6
FIR2IR: fix binding of data class generated members
...
Related to KT-54844
#KT-54952 Fixed
#KT-54887 Fixed
2023-06-14 07:09:15 +00:00
Mikhail Glukhikh
5304afb097
Fix AA/LC behavior accordingly to changes related to KT-54844
2023-06-14 07:09:15 +00:00
Mikhail Glukhikh
2a825f8df1
K2: implement FirClassAnySynthesizedMemberScope #KT-54844 Fixed
2023-06-14 07:09:15 +00:00
Mikhail Glukhikh
c898b264ba
FIR2IR: fix receiver of value classes method references
...
This commit fixes the receiver of these method in FIR2IR code
by removing a particular hack.
However, as the consequence of it 2 black box tests become broken in K2.
The reason is KT-54952 which is not yet fixed
Related to KT-54887
2023-06-14 07:09:15 +00:00
Mikhail Glukhikh
35b475f9f7
K2: Fix processing inference lower bound NullableType <: T & Any
...
This commit is a follow-up to 0d070f8ba9 .
Here we remove accidentally returning "Not a sub-type" for a constraint
like TypeVariable <: DNN type
#KT-59241 Fixed
2023-06-12 22:36:02 +00:00
Mikhail Glukhikh
ab1d634ad3
K2: add test for KT-59241
2023-06-12 22:36:02 +00:00
Mikhail Glukhikh
0373e3fdfe
KtFe10SymbolInfoProvider: take annotation use-site target into account
2023-06-08 13:34:50 +00:00
Mikhail Glukhikh
5ae3a93084
FE approximator conf: simplify typeVariable/HandleAsTypeVariable
...
Related to KT-58618
2023-05-26 11:13:39 +00:00
Mikhail Glukhikh
6e58ba8f33
FE: don't approximate type variable based types for public/local declarations
...
#KT-58618 Fixed
2023-05-26 11:13:39 +00:00
Mikhail Glukhikh
2cfa3d7e0d
K2: reproduce KT-58618
2023-05-26 11:13:39 +00:00
Mikhail Glukhikh
5f1976c450
FE: add test for KT-58840
2023-05-24 08:56:21 +00:00
Mikhail Glukhikh
2fcd296db8
FE: fix effective visibility bound calculation logic
...
#KT-58757 Fixed
#KT-58840 Fixed
2023-05-24 08:56:20 +00:00
Mikhail Glukhikh
c130786889
FE: reproduce KT-58757
2023-05-24 08:56:20 +00:00
Mikhail Glukhikh
941446ea39
FE: rework tests around changed progression resolve
...
Related to KT-54261, KT-36932, KT-49276
2023-05-19 14:57:26 +00:00
Mikhail Glukhikh
5fda57fa55
FE: delay DisableCheckingChangedProgressionsResolve to 2.*
...
This commit removes the relevant feature from 1.9 and
makes this feature experimental.
We plan to enable it in some 2.* version (not earlier than 2.1)
Related to KT-54261, KT-36932, KT-49276
#KT-58791 Fixed
2023-05-19 14:57:26 +00:00
Mikhail Glukhikh
1ba900be44
FIR2IR: change origin & operator flag in data classes making them closer to K1
...
Related to KT-54887
2023-05-15 08:16:24 +00:00
Mikhail Glukhikh
5d35bfd88d
Add IR text test for KT-54887
2023-05-15 08:16:24 +00:00