Ilya Chernikov
7ec72b568d
Fix assertion in light tree diagnostic reporter
...
happened then two diagnostics are reported on the same element.
#KT-55924 fixed
2023-01-20 17:57:15 +00:00
Nikolay Lunyak
ff96033e95
[FIR] KT-55666: Support labels to local functions
...
^KT-55666 Fixed
2023-01-20 08:09:08 +00:00
Dmitrii Gridin
4fa338ccf4
[LC] skip some tests in IDE
2023-01-19 19:25:04 +00:00
Ilmir Usmanov
945cdc8884
Minor. Ignore tests in JS_IR_ES6, regenerate tests
2023-01-19 17:04:31 +01:00
Dmitrii Gridin
f32483000a
[AA FIR] KtFirAnnotationListForDeclaration: avoid resolve on creation
2023-01-19 10:53:02 +00:00
Denis.Zharkov
b1bb7dd25f
K1: Fix regression with callable references as last statements in lambda
...
^KT-55729 Fixed
2023-01-19 10:00:02 +00:00
Denis.Zharkov
a37e3def14
Add test for KT-55931
2023-01-19 10:00:02 +00:00
Ilmir Usmanov
d18672bfb1
Wrap continuation with ContinuationImpl on callable references
...
in startCoroutineUninterceptedOrReturn. Otherwise, the coroutine will
not be interceptable later.
Add a test, which checks, that intercepted continuation is released.
#KT-55869
2023-01-19 00:35:36 +00:00
Mikhail Glukhikh
c8db20bd0b
Compiler: restore an opportunity to switch light tree mode OFF
...
#KT-55996 Fixed
2023-01-18 14:01:22 +00:00
Dmitrii Gridin
5aef179a3d
[LC] fix testData
2023-01-18 14:11:14 +01:00
Pavel Kunyavskiy
2843c0ad1e
[K/N] Fix cleaning stack-local primitive array
...
^KT-55984
2023-01-18 11:52:43 +00:00
Artem Kobzar
71486a321c
[K/JS] Add support of compilation with ES-classes
2023-01-17 18:14:17 +00:00
Dmitriy Novozhilov
8d728d4f53
Revert "[FE 1.0] Deprecate declaration of expect and actual in the same module"
...
This reverts commit b09561c3c3 .
It was decided to postpone this warning till 1.9
This is needed to provide proper IDE support
^KT-40904 Open
^KT-55177 Open
2023-01-17 18:02:50 +00:00
Dmitriy Novozhilov
259303ca50
[FIR] Fix loading of classId for nested enums in java annotation arguments
...
^KT-55887 Fixed
^KT-55976
2023-01-17 14:51:29 +00:00
Dmitriy Novozhilov
8bd3c9d019
[FIR] Don't transform nested classes during class update because of @JvmRecord annotation
...
^KT-55703 Fixed
2023-01-17 14:51:28 +00:00
Dmitriy Novozhilov
ad191eb179
[Test] Add test for KT-55703
2023-01-17 14:51:28 +00:00
Dmitriy Novozhilov
83cbd322fd
[Test] Prohibit declaring dependency on the same module with different kinds in module structure
2023-01-17 14:51:27 +00:00
Vladimir Sukharev
e4d209cbde
[K2] [KN-55977] Fix suspend type serialization
...
Merge-request: KT-MR-8328
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-17 13:07:21 +00:00
Dmitrii Gridin
485fad1951
[FIR] FirJavaClass: make annotations and deprecationsProvider lazily enhanced
...
^KT-55387
2023-01-17 12:45:53 +00:00
Vsevolod Tolstopyatov
21fe0e80ff
[K2] Report CONCURRENT_HASH_MAP_CONTAINS_OPERATOR_ERROR for class hierarchies
...
Previously it wasn't reported in FIR for ConcurrentHashMap inheritors
because the receiver id hasn't matched CHM.contains id
Fixed by unwrapping origin of the call in case of fake overrides
^KT-55606 fixed
2023-01-17 09:46:25 +00:00
Dmitriy Novozhilov
b09561c3c3
[FE 1.0] Deprecate declaration of expect and actual in the same module
...
^KT-40904 Fixed
^KT-55177 Fixed
2023-01-17 09:43:14 +00:00
Nikolay Lunyak
343b856cfc
[FIR] Expand typealiases in FirNativeObjC checkers
2023-01-17 06:26:39 +00:00
Nikolay Lunyak
d105ce8681
[FIR] Support typealiases to java Repeatable
2023-01-17 06:26:38 +00:00
Nikolay Lunyak
2e8b177262
[FIR] Support typealiases in FirJsRuntimeAnnotationChecker
2023-01-17 06:26:37 +00:00
Nikolay Lunyak
fc285c079e
[FIR] Support typealiases in FirJsAbstractNativeAnnotationChecker
2023-01-17 06:26:37 +00:00
Nikolay Lunyak
0c00e79024
[FIR] Support typealiases in FirTypeAnnotationChecker
...
`directExpansionType` is needed here for cases like
`typealias S = @S Suppress`. Otherwise, `fullyExpandedType`
would cache the same typealias
2023-01-17 06:26:34 +00:00
Nikolay Lunyak
c3b871652f
[FIR] KT-55181: Ensure throw argument is Throwable
...
`TYPE_MISMATCH` in `throwJLException.fir.kt` appeared,
because in `throw Exn` the type of `Exn` is implicit Unit.
This is red code anyway.
^KT-55181 Fixed
Merge-request: KT-MR-8292
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-01-16 17:24:22 +00:00
Mikhail Glukhikh
7a61578e08
Language version 2.0: fix compiler messages and minor details
2023-01-16 18:16:48 +01:00
Mikhail Glukhikh
cbedbda527
Enhance API/messages around BinaryVersion / JvmMetadataVersion
2023-01-16 18:16:07 +01:00
Mikhail Glukhikh
bbeae23b04
Allow to read metadata 2.0 from version 1.8
2023-01-16 18:16:07 +01:00
Mikhail Glukhikh
0c4a0360ac
Deserialization/class reading: pass chosen JvmMetadataVersion whenever possible
2023-01-16 18:16:07 +01:00
Mikhail Glukhikh
17c434002a
Move EnableDfaWarningsInK2 into experimental section until K2/IDE EAP
...
This commit means that we will not see K2 DFA warnings until
we explicitly enable them (probably in 1.9.20 or 2.0).
We are going to enable DFA warnings at the moment when
K2/IDE is accessible for external users
2023-01-16 18:12:55 +01:00
Mikhail Glukhikh
3dc05f4ec5
Introduce language version 2.0 and associate K2 compiler with it
2023-01-16 18:12:55 +01:00
Marco Pennekamp
88ac5727cc
[LL FIR] KT-50732 Add support for LL FIR-specific tests (.ll.kt)
...
- `.ll.kt` test data can be added in cases where LL FIR resolution
legally diverges from K2 compiler results.
- Each `.ll.kt` test is prefixed with an `LL_FIR_DIVERGENCE` directive
which must explain why the test may diverge from K2 compiler results.
- `LLFirDivergenceCommentChecker` ensures that each `.ll.kt` file
contains an `LL_FIR_DIVERGENCE` directive.
- `LLFirIdenticalChecker` results in an assertion error if the `.ll.kt`
test and its base test are completely identical, including in their
meta info (but ignoring `LL_FIR_DIVERGENCE`).
- The checker additionally ensures that the base source file and the
`.ll.kt` source file have identical Kotlin source code (ignoring
meta info and `LL_FIR_DIVERGENCE`). This ensures that both tests
test the exact same thing.
- `.ll.kt` files are ignored by select test generators, in addition to
`.fir.kt` files.
2023-01-16 15:20:50 +00:00
Artem Vasilev
82d934d873
[LL FIR] fix typo in LLFirModuleData.friendDependencies
...
^KTIJ-23347 Fixed
2023-01-16 10:48:38 +00:00
Pavel Kunyavskiy
6ab00a65dd
[K/N] Support volatile intrinsics on globals
...
Also, make intrinsics signature more consistent with other intrinsics,
e.g. with isInitialized on lateinit field.
^KT-54944
2023-01-16 08:34:24 +00:00
Pavel Kunyavskiy
fc95b88eef
[K/N] Tests for volatile
...
^KT-54944
2023-01-16 08:34:23 +00:00
Svyatoslav Kuzmich
d14d4c8510
[Wasm] Support JsModule and JsQualifier
2023-01-13 21:58:34 +00:00
Ilya Kirillov
3afb93ca31
[FIR] fix resolve contract violation from ConeTypeContext.getValueClassProperties
...
^KT-54890
2023-01-13 21:32:52 +00:00
Ilya Kirillov
6204e43f3f
[FIR] fix resolve contract violation from FirTypeParameter.eraseToUpperBound
...
^KT-54890
2023-01-13 21:32:52 +00:00
Ilya Kirillov
1bbcae5ed2
[FIR] fix resolve contract violation from scopes
...
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier
^KT-54890
^KTIJ-23587 fixed
2023-01-13 21:32:51 +00:00
Ivan Kochurkin
8936220876
[IR] Implement IR actualizer and use it for K2 test and CLI scenario
...
Implement calculateExpectActualMap for Fir2IrComponents
^KT-51753 Fixed
2023-01-13 12:55:58 +00:00
Ivan Kochurkin
f17e1314f6
[FIR2IR] Implement tables merging in Fir2Ir classes and SymbolTable
...
- Pass dependent (usually common code) components to further FIR2IR converters
- Don't reinitialize builtin
2023-01-13 12:55:57 +00:00
Ivan Kochurkin
5d273ce839
[FIR & FIR2IR] Prepare test and CLI infrastructure to support MPP
...
- Move out getAnalyzerServices from FirFrontendFacade to TestSetupUtils
- Simplify DependencyListForCliModule. Now it takes BinaryModuleData as input
- FirOutArtifact contains several FirOutputArtifactPart
- Simplify FirFrontendFacade
2023-01-13 12:55:57 +00:00
Pavel Mikhailovskii
38a56ba8e8
KT-55308, KT-55769 Sort InnerClasses entries. Add DONT_SORT_DECLARATIONS directive
2023-01-13 01:07:10 +00:00
Dmitriy Novozhilov
faa96ec7c0
[AA LC] Don't create light methods if value class is present in signature
...
^KT-55788
Test `parameter_jvmInline.kt` is removed because now members with value
classes are not included in light classes and don't have PSI representation
2023-01-12 17:45:10 +00:00
Dmitriy Novozhilov
16b72d3e54
[AA] Unwrap type aliases in annotation arguments
...
^KT-55782 Fixed
2023-01-12 17:45:10 +00:00
Dmitriy Novozhilov
34af013913
[AA LC] Add test for modifiers of delegate fields
2023-01-12 17:45:09 +00:00
Dmitriy Novozhilov
95f5848e6c
[AA LC] Save unresolved qualifier name in arguments of annotations
2023-01-12 17:45:09 +00:00
Dmitriy Novozhilov
ed867af01d
[AA LC] Expand aliases of type arguments during conversion to KtType
...
^KT-55781
2023-01-12 17:45:09 +00:00