Nikita Bobko
45c5fd7a2d
[FE] Introduce a language feature entry for expect actual classes
...
^KT-62885 Fixed
2023-11-07 20:05:59 +00:00
Nikita Bobko
7b8445f914
[FIR] 2/2 Support more wider actual member visibility, if the expect member is effectively final
...
^KT-61955 Fixed
Introduce LV vs don't introduce LV:
introduce LV:
- K1 IDE and K2 project: IDE accurately shows compiler errors
- K2 IDE and K1 project: There are cases when IDE shows red but in reality it's green
don't introduce LV:
- K1 IDE and K2 project: There are cases when IDE shows red but in reality it's green
- K2 IDE and K1 project: There are cases when IDE shows green but in reality it's red
2023-11-07 15:53:54 +00:00
Alejandro Serrano Mena
f227447837
[K2] Disallow named functions as expressions
...
^KT-62573 Fixed
^KT-59945 Fixed
2023-10-25 13:24:30 +00:00
Marco Pennekamp
38ebe60e9f
[FIR] Refactoring: Move set utility functions to setUtils.kt
2023-10-25 11:04:36 +00:00
Nikolay Lunyak
ba9baa7457
[FIR] Don't enable features without sinceKotlin in Progressive Mode
...
There are two BUG_FIX features that have
been added to the compiler, without a clear
decision to enable them somewhere in the
future. Since there is no decision to
force users rewrite their code, such
features should not be enabled in
Progressive Mode.
^KT-62644 Fixed
^KT-62143 Fixed
2023-10-18 13:16:10 +00:00
Ilya Goncharov
a79324037d
[JS] Fix JPS artifacts cordinates
2023-10-16 13:34:37 +00:00
Roman Efremov
d09c3783fd
[K2] Fix mistake in language feature name for
...
...`DEFAULT_ARGUMENTS_IN_EXPECT_ACTUALIZED_BY_FAKE_OVERRIDE`
diagnostic.
^KT-62036
2023-10-13 12:30:41 +00:00
Aleksei.Cherepanov
a32c65e4e1
Convert absolute to relative pluginsClasspath..
...
..to avoid recompilation on build with portable caches
#KT-62256 Fixed
Merge-request: KT-MR-12377
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com >
2023-10-05 10:25:53 +00:00
Roman Efremov
81fd9a679d
[FIR] Prohibit expect class members with default values actualized
...
...by fake-override.
It is error without deprecation cycle because `expect` and `actual`
classes are still in Beta and expected impact of change is negligible.
^KT-62036 Fixed
2023-10-02 15:50:37 +00:00
Mikhail Glukhikh
156097fe17
Restore KotlinCompilerVersion.IS_PRE_RELEASE
...
This commit is a slightly modified revert of 4f29c113 .
IS_PRE_RELEASE allows to make LATEST_STABLE version behave as
experimental when this flag is set to true.
The general goal is to prepare fix of KT-62058; after this commit
one can do it by changing IS_PRE_RELEASE flag to true.
The fix of KT-62058 is planned to be done during bootstrapping.
This preparation and the future fix are parts of umbrella KT-61951.
2023-09-21 20:09:25 +00:00
Mikhail Glukhikh
5fb38008b7
Switch Kotlin version to 2.0
...
#KT-59171 In Progress
2023-09-19 15:46:26 +00:00
Iaroslav Postovalov
fd2954a8d3
Move DummyDelegate to :compiler:util
...
Deleted DummyDelegate from a pair of usages across the project, and
moved it to :compiler:util module to avoid further duplicates
2023-09-13 09:51:13 +00:00
Nikita Bobko
7667b36aa0
KMP: Put "prohibit member scope mismatch for non-final expect" under the flag
...
^KT-61668 Fixed
Review: https://jetbrains.team/p/kt/reviews/12062/timeline
2023-09-08 10:51:42 +00:00
Alexander.Likhachev
6f96be0b76
[Build] Get rid of the testApiJUnit5 method
...
#KTI-1349 In Progress
2023-09-06 22:47:34 +00:00
Nikolay Lunyak
13a7bb95b3
[FIR] Relax MULTIPLE_DEFAULTS_* to account for the K1 behavior
...
^KT-56442
^KT-36188
2023-08-28 10:57:40 +00:00
Nikolay Lunyak
77feb86a85
[FIR] Report the use of inline on primary constructor parameters
...
^KT-59664 Fixed
2023-08-25 12:23:56 +00:00
Ilya Kirillov
e3d2bccb33
[LL FIR] fix user code leak from exceptions in :analysis:low-level-api-fir
...
Also, add more info to some exceptions
2023-07-26 14:29:20 +00:00
Ilya Chernikov
776cdbcd3f
minor: small cleanup in K2 scripting support code
2023-07-26 08:49:27 +00:00
Ilya Kirillov
24db4e62f5
Migrate some FIR/Analysis API KotlinExceptionWithAttachment usages to buildErrorWithAttachment API
2023-07-18 11:49:21 +00:00
Ilya Kirillov
24f60a542d
Add basic test for getElementTextWithContext
2023-07-18 11:49:21 +00:00
Ilya Kirillov
a9cd881a07
[FIR] add utilities to FIR compiler to throw error with attachment
2023-07-18 11:49:20 +00:00
Ilya Kirillov
c5014d4765
Move PsiElement.getElementTextWithContext to psi module with small adjustments
...
* replace existing function (the new one makes it more clear which element was printed)
* prints position for element
* handles invalid psi element
2023-07-18 11:49:20 +00:00
Ilya Kirillov
4b3bff3344
Rework checkWithAttachment/requireWithAttachment
...
* better naming
* throw corresponding KotlinIllegalStateExceptionWithAttachments/KotlinIllegalArgumentExceptionWithAttachments instead of general KotlinRuntimeExceptionWithAttachments
2023-07-18 11:49:20 +00:00
Ilya Kirillov
2d791eb292
Rename buildErrorWithAttachment -> errorWithAttachment to emphasise the similar semantics to kotlin.error
2023-07-18 11:49:20 +00:00
Ilya Kirillov
e3c31e1387
Introduce exception-specific exception classes for KotlinExceptionWithAttachments
2023-07-18 11:49:20 +00:00
Ilya Kirillov
52c065b08a
Extract a base class from KotlinExceptionWithAttachments
2023-07-18 11:49:20 +00:00
Ilya Kirillov
15f6fe2627
Move ExceptionAttachmentBuilder near KotlinExceptionWithAttachments so it's accessible from KotlinExceptionWithAttachments
2023-07-18 11:49:20 +00:00
Mikhail Glukhikh
ca0b061675
Add forgotten issue reference for PrioritizedEnumEntries
2023-07-06 17:49:15 +00:00
Ilya Chernikov
70d2fcd9c4
K2 Scripting: deprecate top level script inner classes
...
no LT support yet
2023-07-05 19:46:03 +00:00
Denis.Zharkov
ffcb4cd1cb
Add kdoc for LanguageFeature.AllowEmptyIntersectionsInResultTypeResolver
...
^KT-51221 Related
2023-07-03 10:06:45 +00:00
Alexander.Likhachev
2412693ef0
[BT] Move KotlinLogger to the bt-api module
...
#KT-57398 In Progress
2023-06-23 12:34:23 +00:00
Alexander.Likhachev
1005d0244a
[BT] Move KotlinLogger to the bt-api package
...
#KT-57398 In Progress
2023-06-23 12:34:23 +00:00
Kirill Rakhman
be232d3e6f
[FIR] Enable ForbidInferringTypeVariablesIntoEmptyIntersection in 2.0
...
#KT-56377
2023-06-23 07:30:45 +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
Ilya Chernikov
3e5be0909a
Abstract away error reportin in topo sort
...
required for scripting support code
2023-06-20 16:38:32 +00:00
vladislav.grechko
457837a255
Fix function invocation mangling rule
...
Mangle invocations of functions with value classes in signature which
override (directly or indirectly) a method declared in Kotlin code.
Otherwise, NoSuchMethodError is being thrown.
^KT-55945: Fixed
2023-06-15 09:34:21 +00:00
Kirill Rakhman
cf2ef443f4
[FIR] Introduce a feature flag for context-sensitive enum resolution
...
The feature was previously enabled unconditionally in K2 which
triggered a bug when an enum has an entry with the same name as itself.
#KT-58897 Fixed
#KT-52774
2023-05-30 11:59:56 +00:00
Alexander Udalov
a4121fa8f3
Enable NoSourceCodeInNotNullAssertionExceptions since 1.9
...
#KT-57570 Fixed
2023-05-24 11:29:51 +00:00
Nikita Bobko
de8c3826c2
[FE] Prohibit missed MUST_BE_INITIALIZED when there is no primary constructor
...
^KT-58472 Fixed
Review: https://jetbrains.team/p/kt/reviews/9967
2023-05-23 14:12:29 +03:00
Nikita Bobko
ac40010501
[FE] Prohibit open val deferred initialization
...
^KT-57553 Fixed
Review: https://jetbrains.team/p/kt/reviews/9967
Other related tests:
- testUninitializedOrReassignedVariables
- testUseOfPropertiesWithoutPrimary
- @TestMetadata("compiler/testData/diagnostics/tests/secondaryConstructors")
- testAugmentedAssignmentInInitializer
- testInitOpenSetter
- testInitOverrideInConstructorComplex
- testPropertyInitializationOrder
2023-05-23 14:12:28 +03:00
Kirill Rakhman
df03f0df0a
[FIR] Implement deprecation for implementing var by inherited val
...
#KT-56779 Fixed
2023-05-19 15:04:46 +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
Denis.Zharkov
fa85cbfe74
Enable ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated in 1.9
...
^KT-36770 Related
^KT-53041 Fixed
^KT-55388 In Progress
2023-05-15 10:43:19 +00:00
Nikita Bobko
9a65dcb664
MUST_BE_INITIALIZED: take into account containingDeclaration's modality
...
^KT-58587 Fixed
Review: https://jetbrains.team/p/kt/reviews/10136
This commit is important in scope of KT-57553. It makes the migration
more smooth.
Other related tests:
- testUninitializedOrReassignedVariables
- testAugmentedAssignmentInInitializer
2023-05-12 13:48:49 +00:00
Mikhail Glukhikh
94c94d0605
K1: add a language feature to negate new errors from DiagnosticReporterByTrackingStrategy
...
Related to KT-55055, KT-55056, KT-55079, KT-57854
2023-05-01 11:47:01 +00:00
Alexander Udalov
fc0ce415d7
JVM: remove source code from not null assertion message text
...
This is implemented under a LanguageFeature which will be enabled later,
when behavior change described in KT-57570 is approved.
#KT-57570
2023-04-28 10:26:15 +00:00
Nikolay Krasko
3caa1d1349
Refactoring: fix usages of @TestOnly ExtensionsArea.registerExtensionPoint
2023-04-28 08:25:19 +00:00
Alexander Udalov
a0790047f7
JvmDefault: remove -Xjvm-default modes "enable" and "compatibility"
...
#KT-54746
2023-04-25 14:33:00 +00:00
Nataliya.Valtman
2a391f7330
Move kotlin-build-statistic project to :compiler
2023-04-25 11:29:09 +00:00
Yahor Berdnikau
eb4e96a113
Add kotlin-build-tools-enum-compat workaround
...
It acts as a workaround for the case when build tools or dependencies
are compiled with latest 'kotlin-stdlib' version, but at a runtime older
'kotlin-stdlib' is provided, which does not know about new
`EnumEntries`.
^KT-57317 Fixed
2023-04-21 14:57:17 +00:00