Ilya Chernikov
edcde79c02
Build: use K2 for stdlib tests when enabled
...
enables testing of #KT-56379
2023-03-08 09:38:47 +00:00
Kirill Rakhman
c4255cdb0f
[FIR2IR] Fix adapted callable reference to nested class constructor
...
^KT-56829 Fixed
2023-03-08 08:36:52 +00:00
Kirill Rakhman
e0baeb53db
[FIR] Fix substituted synthetic property with overridden getter only
...
When building the original for a substitution override for a synthetic
property, use the initial setter as fallback when unsubstituting it
returns null. This can happen when a generic class overrides the getter
of a synthetic property of a non-generic class. Then the setter is never
substituted, therefore there is nothing to unsubstitute.
^KT-57168 Fixed
2023-03-08 08:35:02 +00:00
Ilya Chernikov
b3d0a0a1c8
FIR LT: support labelled destructured declarations
...
add missing conversion in the LT to FIR converter
#KT-56759 fixed
2023-03-08 07:28:35 +00:00
Igor Chevdar
7f0a4ad737
[K/N][IR] Reworked saving inline function bodies for cross-file inlining
...
#KT-57053 Fixed
#KT-57029 Fixed
2023-03-08 06:48:52 +00:00
Igor Chevdar
315d9089b0
[box-tests] Another version of reproducer for KT-56965
2023-03-08 06:48:52 +00:00
Igor Chevdar
99ec3215d9
[box-tests] Added a reproducer for KT-57053
2023-03-08 06:48:51 +00:00
Evgeniy.Zhelenskiy
88f293d4a9
[IR] Support reflection for MFVC
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-07 21:44:43 +00:00
Evgeniy.Zhelenskiy
1ff4906880
[IR] Fix NVargs Function lowering when working with MFVC
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-07 21:44:42 +00:00
Evgeniy.Zhelenskiy
394cd944b6
[IR] Add MFVC representation during serialization of FIR to IR
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-07 21:44:41 +00:00
Evgeniy.Zhelenskiy
5b868becf4
[IR] Hide regular class constructor with MFVC parameters
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-07 21:44:41 +00:00
Evgeniy.Zhelenskiy
d358e63b0a
[IR] Rename InlineClassAwareCaller.kt to ValueClassAwareCaller.kt
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-07 21:44:40 +00:00
Nikolay Lunyak
07fa86f6bc
[FIR] KT-57085: Ignore the diagnostic case in @Suppress()
...
^KT-57085 Fixed
2023-03-07 20:28:02 +00:00
Ilya Gorbunov
3b97bfb426
Extract kotlinLanguageVersion to gradle.properties
...
Read it when building docs in order to keep
docs version filter/language analyzer version in sync with
the language version used to compile libraries.
2023-03-07 17:55:23 +00:00
Ilya Gorbunov
28ae0c1649
docs build: allow to specify custom dokka repository
...
- centralize repository management in settings.gradle.kts
- allow to specify dokka repository with a gradle property
- automatically add mavenLocal for -local dokka versions
- specify kotlin version for building plugins in one place
2023-03-07 17:55:23 +00:00
Ilya Gorbunov
93650dcada
docs build: move parameter initialization to the parent project
...
in order to avoid evaluationDependsOn dependency
2023-03-07 17:55:23 +00:00
Ilya Gorbunov
e627356aea
docs: cleanup remaining previous version specializations
2023-03-07 17:55:22 +00:00
Pavel Mikhailovskii
9db5ea66a6
KT-57103 Don't inline references to generic synthetic Java properties in K1
2023-03-07 17:35:04 +00:00
Yahor Berdnikau
5ddd60a015
Add '-progressive' option into Gradle compiler options DSL
...
^KT-53923 Fixed
2023-03-07 17:32:20 +00:00
Alexander.Likhachev
8bb0c5135b
[IC] Add unit tests for InMemoryStorageWrapper
...
#KT-56052 Fixed
2023-03-07 16:19:25 +00:00
Alexander.Likhachev
4aedf77431
[IC] Avoid many collection allocations in InMemoryStorageWrapper
...
#KT-56052 In Progress
2023-03-07 16:19:25 +00:00
Alexander.Likhachev
cc16ca2bf8
[IC] Add synchronization to all the DefaultInMemoryStorageWrapper public methods
...
#KT-56052 In Progress
2023-03-07 16:19:25 +00:00
Alexander.Likhachev
99830d7f28
[IC] Segregate LazyStorage into LazyStorage and AppendableLazyStorage
...
#KT-56052 In Progress
2023-03-07 16:19:24 +00:00
Alexander.Likhachev
cef557c407
[IC] Notify user about enabled IC backup optimizations
...
KT-52625, KT-55995, KT-56052 Related
2023-03-07 16:19:24 +00:00
Alexander.Likhachev
4d080c1a82
[IC] Register last-build.bin file in a transaction
...
KT-55995 Related
2023-03-07 16:19:24 +00:00
Alexander.Likhachev
ae75736864
[Gradle] Enable in-memory wrappers for the precise outputs backup tests
...
#KT-56052 In Progress
2023-03-07 16:19:23 +00:00
Alexander.Likhachev
ca8d0bd100
[IC] Add unit tests for resetting in-memory caches wrappers in a transaction
...
#KT-56052 In Progress
2023-03-07 16:19:23 +00:00
Alexander.Likhachev
04a5c7761c
[IC] Add unit tests for CachesManager closing in transaction
...
#KT-56052 In Progress
2023-03-07 16:19:23 +00:00
Alexander.Likhachev
2bff38dd27
[IC] Fix transaction wasn't marked as unsuccessful on execution exception
...
#KT-56052 In Progress
2023-03-07 16:19:22 +00:00
Alexander.Likhachev
8825cf7bf6
[IC] Fix RecoverableCompilationTransaction wasn't throwing an exception properly
...
#KT-56052 In Progress
2023-03-07 16:19:22 +00:00
Alexander.Likhachev
83ea1ca3cf
[IC] Let CompilationTransaction to reset in-memory changes in IC caches
...
#KT-56052 In Progress
2023-03-07 16:19:22 +00:00
Alexander.Likhachev
493da2a8b4
[IC] Rename DummyCompilationTransaction -> NonRecoverableCompilationTransaction
2023-03-07 16:19:21 +00:00
Alexander.Likhachev
25a3dcf3d1
[IC] Make CompilationTransaction to be able to close CachesManager
2023-03-07 16:19:21 +00:00
Alexander.Likhachev
3ed651a7a6
[Gradle] Add a property to control if the IC caches in-memory wrapper is enabled
...
#KT-56052 In Progress
2023-03-07 16:19:20 +00:00
Alexander.Likhachev
e7e5a3488b
[IC] Introduce a wrapper for IC caches storage to keep changes in-memory
...
#KT-56052 In Progress
2023-03-07 16:19:20 +00:00
Vladimir Sukharev
8dc6ae41f6
Exclude 3 KonanDriverTest testcases from K2 testing due to KT-56855
...
Merge-request: KT-MR-9114
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-03-07 14:05:12 +00:00
Oleg Yukhnevich
dddd5a57c5
fix api dumpp
2023-03-07 13:57:35 +01:00
Oleg Yukhnevich
3726bf0ed5
replace KDoc comment with simple one
2023-03-07 13:57:35 +01:00
Oleg Yukhnevich
3f8f25fe43
move ExperimentalWasmDsl opt-in to file level
2023-03-07 13:57:35 +01:00
Oleg Yukhnevich
b240b8452a
support WASM in KotlinTargetHierarchyBuilder
2023-03-07 13:57:35 +01:00
Marco Pennekamp
91fb16110f
[FIR] KTIJ-24296 Remove unused isNameForFunctionClass
2023-03-07 11:44:15 +00:00
Marco Pennekamp
eb673e4566
[FIR] KTIJ-24296 Optimize isNameForFunctionClass based on name shape
...
- A `classId` can only be a generated function class if it ends with a
digit, per the contract described in `FunctionTypeKind`.
- The optimization uses this fact to avoid calling
`functionTypeService.getKindByClassNamePrefix`, which can be expensive
due to a hash map access.
2023-03-07 11:44:14 +00:00
Marco Pennekamp
a725fe559c
[FIR] KTIJ-24296 Allow special names in symbol provider pre-filtering
...
- A special name such as `<no name provided>` may not be contained in
the list of names, but may still be found by a provider.
2023-03-07 11:44:14 +00:00
Marco Pennekamp
ece038b49b
[LL FIR] KTIJ-24296 Extract symbol provider name cache into a class
...
- The caching logic from `LLFirProvider` may be used in other symbol
providers.
2023-03-07 11:44:14 +00:00
Marco Pennekamp
d9a024bab2
[LL FIR] KTIJ-24296 Implement symbol name pre-filtering in LLFirProvider
...
- The optimization reduces time spent in `LLFirProvider.SymbolProvider`
during my tests by 30-90% in some highlighted files. In other
performance tests, the optimization makes performance worse, so more
work is needed. In general, higher workload tests run faster with the
optimization, while lower workload tests run slower. This is expected
as the optimization trades short-term performance (for building
classifier/callable name sets) in favor of long-term speedup.
- The changes should also reduce the size of declaration caches like
`LLFirProviderHelper.classifierByClassId`.
- Building the name sets has a second use, as a similar optimization can
be implemented for dependent module providers, which may rely on the
sets computed here.
2023-03-07 11:44:13 +00:00
Marco Pennekamp
18ce21fb13
[FIR] Extract mayHaveTopLevelClassifier from composite symbol provider
...
- The implementation is not trivial and should be usable in other symbol
providers.
2023-03-07 11:44:13 +00:00
Nikolay Lunyak
343deeec1c
[FIR] Check FirReceiverParameter annotations' targets
2023-03-07 11:35:47 +00:00
Nikolay Lunyak
0c77de3049
[FIR] Add a test with an inapplicable receiver annotation
2023-03-07 11:35:47 +00:00
Nikolay Lunyak
1378d730d6
[FIR] Forbid all use-site targets of FirTypeRef annotations
2023-03-07 11:35:47 +00:00
Nikolay Lunyak
93ba0c3e70
[FIR] KT-56769: Ensure @receiver: is only allowed on receivers
...
Note that there's no code that checks that
FirReceiverParameter's annotation's use-site target
is indeed `@receiver:`, because otherwise the
annotation wouldn't have made it into
the FirReceiverParameter.
In contrast, in K1 all such annotations are treated
as annotations on a KtTypeReference.
^KT-56769 Fixed
2023-03-07 11:35:46 +00:00