Marco Pennekamp
bf1ee6ebed
[LL FIR] KTIJ-24296 LL FIR symbol provider: Remove function class check
...
- `LLFirProvider$SymbolProvider` cannot provide synthetic function
classes, so there is no need to check `isNameForFunctionClass` for the
`ClassId`.
2023-04-04 12:45:30 +00:00
Ivan Kylchik
32297c0f21
Serialize and deserialize const val's properly for K2 klib
...
#KT-57312 Fixed
2023-04-04 12:35:54 +00:00
Ivan Kylchik
23b23d5a1e
Slightly simplify const deserialization logic in ClassDeserialization
2023-04-04 12:35:53 +00:00
Ivan Kylchik
1eabb55641
[FIR2IR] Unconditionally print only exception message from interpreter
2023-04-04 12:35:53 +00:00
Roman Efremov
bcf4528763
[MPP] Forbid actual member in expect class
...
Such member descriptor will be actual and expect at the same time,
so we should run both checks.
^KT-40903 Fixed
2023-04-04 12:28:00 +00:00
Vladimir Sukharev
c3734aa9ce
[K2/N] Build platform libs with XCode 14.3
...
Merge-request: KT-MR-9458
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-04-04 11:41:08 +00:00
Anastasia.Nekrasova
cb4fb15093
Added CONTEXT_RECEIVER_PREFIX to NameUtils for external use
...
The separate constant is required to support context receiver on the IDE side, see KTIJ-21214
2023-04-04 11:38:34 +00:00
Vladislav Grechko
bd7bce9f97
[JVM IR] Get rid of MfvcNodeWithSubnodesImpl class
...
`MfvcNodeWithSubnodesImpl` has two problems:
- Naming: its name makes one think that the class is inherited from
`MfvcNode` and implements `MfvcNodeWithSubnodes`.However, both
statements are false.
- Semantics: the class only makes unnecessary indirection between its
properties and code of `MfvcNodeWithSubnodes` class
2023-04-04 11:38:15 +00:00
Igor Yakovlev
8102744e00
[Serialization] Fix serialization test data
2023-04-04 11:04:18 +00:00
Igor Yakovlev
81ceb856bb
[Serialization] Fix invalid int array creation
2023-04-04 11:04:18 +00:00
Igor Yakovlev
8cb1fca299
[Serialization] Add wasm target platform to serialization plugin
2023-04-04 11:04:17 +00:00
Igor Yakovlev
e990c8efd2
[Serialization] Fix invalid ir type for serialize generator
2023-04-04 11:04:17 +00:00
Igor Yakovlev
b4d6482581
[Serialization] Fix invalid ir type for deserialize generator
2023-04-04 11:04:17 +00:00
Anna Kozlova
3496f69f33
[cfg] don't traverse annotation arguments for decompiled code
...
^ KT-57768
decompiled code have no annotation arguments expressions,
but search for them causes decompiling of code
which is slow and unneeded
2023-04-04 10:55:22 +00:00
Kirill Rakhman
d6e14f37a7
[FIR] Let FirTopLevelFunctionsChecker run on all platforms
...
Use a session component to control platform specific suppression logic.
2023-04-04 10:36:40 +00:00
Kirill Rakhman
085df96afe
[FIR] Make Volatile diagnostics applicable to kotlin.concurrent.Volatile
...
#KT-55628 Fixed
2023-04-04 10:36:39 +00:00
Kirill Rakhman
91adb88eff
[K1] Make Volatile diagnostics applicable to kotlin.concurrent.Volatile
...
#KT-55628
2023-04-04 10:36:39 +00:00
Kirill Rakhman
e93628d0e6
[Tests] Fix stdlib in common diagnostic tests modules
2023-04-04 10:36:38 +00:00
Pavel Kunyavskiy
09474758ab
[K/N] Fix typo in language feature name
2023-04-04 09:13:36 +00:00
nataliya.valtman
6330def427
Fix kotlin compiler arg test plugin's dependencies
2023-04-03 18:03:23 +00:00
Svyatoslav Scherbina
cae7f90b59
Bump Kotlin/Native version to 1.9.0-dev-4844
2023-04-03 17:44:40 +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
Vladimir Sukharev
176325eaa7
[K2/N] KT-55598: Use InteropBuiltIns only in KonanSymbols and DescriptorsLookup
...
Merge-request: KT-MR-9431
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-04-03 14:05:43 +00:00
Vladimir Sukharev
23c3d0c36d
[K2/N] KT-57716: Workaround by not verifying IR for interop_objc_smoke
...
Merge-request: KT-MR-9442
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-04-03 14:03:06 +00:00
Leonid Shalupov
7480befe32
Replace reflection-based compiler arguments copying with generated code
...
Using of Kotlin reflection for simple operations like bean management is very slow
First time initialization time: 261 ms for `copyBean(K2JVMCompilerArguments())`
Subsequent calls of `copyBean(K2JVMCompilerArguments())` take 1.7 ms per call
Unfortunately compiler argument handling is also used in Kotlin IntelliJ plugin
to parse facet settings. Big projects may have thousands of Kotlin facets
The same `ArgumentUtilsKt.copyProperties` frame is seen across various freezes:
IDEA-252440 2-3 minutes freeze on Kotlin project reimporting in last 203 eap
IDEA-253107 A lot of short freezes (1-3 sec) during Kotlin project development
KTIJ-23501 Make main run configuration detection lighter
KTIJ-22435 Unresponsive UI with 100% cpu
Reflection issue:
KT-56358 KClasses.getMemberProperties takes too much time
This commit replaces all reflection stuff with a simple code generation
Now `K2JVMCompilerArguments().clone()` goes to hard-to-measure time
2023-04-03 15:47:35 +02:00
Denis.Zharkov
56557fb8ff
K2: Fix generic inference case with !! synthetic call
...
Result of the `checkNotNull` calls should always be a non-nullable
values.
The simplest idea how to acheive it is adding not-nullable Any bound
to the type parameter declaration.
Existing comment stating about impossibility of such bound seems to be
not 100% correct because it doesn't take into account presence of
definitely-non-nullable X & Any types that allow described case with
nullable generic.
^KT-55804 Fixed
2023-04-03 12:44:52 +00:00
Abduqodiri Qurbonzoda
352316ba9f
[K/N] Add @SinceKotlin for ObjC annotations #KT-57197
2023-04-03 12:21:31 +00:00
Dmitriy Novozhilov
d7d7620db2
[FIR2IR] Correctly calculate signature for non-dynamic calls on dynamic receiver
...
If dispatch receiver is dynamic and call on it is not dynamic that means
that this call was resolved to some specific declaration because of
smartcast. So we should use original type of this declaration as
dispatch receiver during calculation of IdSignature instead of Any
(which came from dynamic type). Otherwise we will have two different
signatures for the same member declaration
^KT-57682 Fixed
2023-04-03 12:20:01 +00:00
Sebastian Sellmair
e3c7241abd
[Gradle] ModuleName.orNull: Use predefined 'instrumentedTest'
...
^KT-56654 Verification Pending
2023-04-03 11:24:21 +00:00
Sebastian Sellmair
cdca6da679
[Gradle] KotlinSourceSet.commonizerTarget: Use awaitPlatformCompilations instead of Stage
...
^KT-56654 Verification Pending
2023-04-03 11:24:21 +00:00
Sebastian Sellmair
8fe444f15e
[Gradle] Migrate LenientFuture<T>: Future<T?> to LenientFuture: Future<T>
...
^KT-56654 Verification Pending
2023-04-03 11:24:21 +00:00
Sebastian Sellmair
262b45405d
[Gradle] Change signature of top-level await(Stage) to Stage.await()
...
^KT-56654 Verification Pending
2023-04-03 11:24:20 +00:00
Sebastian Sellmair
775e08e41d
[Gradle] Property.awaitFinalValue: Support generic properties
...
... even when not declared as lifecycle aware
^KT-56654 Verification Pending
2023-04-03 11:24:20 +00:00
Sebastian Sellmair
2043c9db8e
[Gradle] Rename Kotlin~Multiplatfom~PluginLifecycleCoroutineContextElement
...
^KT-56654 Verification Pending
2023-04-03 11:24:19 +00:00
Sebastian Sellmair
a7a689841f
[Gradle] Convert KotlinTargetHierarchy.ModuleName to regular class (instead of data)
...
^KT-56654 Verification Pending
2023-04-03 11:24:19 +00:00
Sebastian Sellmair
b5d188d44e
[Gradle] Remove suspend functions from KotlinTargetHierarchyBuilder API
...
^KT-56654 Verification Pending
2023-04-03 11:24:18 +00:00
Sebastian Sellmair
9b8611ea9b
[Gradle] RestrictedLifecycleStages: Reuse ContinuationInterceptor as Key
...
^KT-34662 Verification Pending
2023-04-03 11:24:18 +00:00
Sebastian Sellmair
e76119b5eb
[Gradle] KotlinPluginLifecycle: Remove unnecessary before stages
...
^KT-34662 Verification Pending
2023-04-03 11:24:18 +00:00
Sebastian Sellmair
4a896a2579
[Gradle] invokeWhenCreated: Lenient until last stage of lifecycle
...
^KT-34662 Verification Pending
2023-04-03 11:24:17 +00:00
Sebastian Sellmair
28fa5423a1
[Gradle] warnAboutIncorrectDependencies: Use launch instead of whenEvaluated
...
^KT-34662 Verification Pending
2023-04-03 11:24:17 +00:00
Sebastian Sellmair
c94c4df046
[Gradle] KotlinMetadataTargetConfigurator: Support metadataCompilationsCreated for !isKotlinGranularMetadataEnabled
...
^KT-34662 Verification Pending
2023-04-03 11:24:17 +00:00
Sebastian Sellmair
ab81e92932
[Gradle] KotlinSoftwareComponent: Use future instead of lazy
...
^KT-34662 Verification Pending
2023-04-03 11:24:16 +00:00
Sebastian Sellmair
50f4531c77
[Gradle] UnusedSourceSetsChecker: Use lifecycle instead of whenEvaluated
...
^KT-34662 Verification Pending
2023-04-03 11:24:16 +00:00
Sebastian Sellmair
15ca5412d2
[Gradle] sourcesJarTask: Wait for compilations to finalise
...
^KT-34662 Verification Pending
2023-04-03 11:24:15 +00:00
Sebastian Sellmair
aa969fe764
[Gradle] Implement lazyFuture as Future<T> instead of Lazy<Future<T>>
...
^KT-34662 Verification Pending
2023-04-03 11:24:15 +00:00
Sebastian Sellmair
510eca9da1
[Gradle] Implement source set inspection methods as 'suspend'
...
this includes:
- isNativeSourceSet
- getCommonSourceSetsForMetadataCompilation
- getPublishedPlatformCompilations
- getHostSpecificSourceSets
- getHostSpecificMainSharedSourceSets
- allPublishableCommonSourceSets
As all of those methods are heavily lifecycle aware and might
return bad values when called to early
^KT-34662 Verification Pending
2023-04-03 11:24:15 +00:00
Sebastian Sellmair
eb9936397b
[Gradle] Future: Support Gradle Configuration Cache
...
^KT-34662 Verification Pending
2023-04-03 11:24:14 +00:00
Sebastian Sellmair
ea48b52d43
[Gradle] GranularMetadataTransformation: ProjectData: Use Future instead of lambda
...
^KT-34662 Verification Pending
2023-04-03 11:24:14 +00:00
Sebastian Sellmair
7c65d00f29
[Gradle] Introduce lazyFuture and futureExtension methods
...
^KT-34662 Verification Pending
2023-04-03 11:24:14 +00:00