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
Sebastian Sellmair
7192b4c5af
[Gradle] KotlinPluginLifecycle: Do not suspend when 'isFinished'
...
^KT-34662 Verification Pending
2023-04-03 11:24:13 +00:00
Sebastian Sellmair
b064493c7b
[Gradle] Implement CInteropCommonizerDependent factories as safe suspend functions
...
^KT-34662 Verification Pending
2023-04-03 11:24:13 +00:00
Sebastian Sellmair
9517667081
[Gradle] NativeExternalDependenciesIT: Build dependencies file at execution time
...
^KT-34662 Verification Pending
2023-04-03 11:24:13 +00:00
Sebastian Sellmair
4264e49970
[Gradle] Add test `test - launchInState - Configure`
...
^KT-34662 Verification Pending
2023-04-03 11:24:12 +00:00
Sebastian Sellmair
b6a215d681
[Gradle] Implement 'findMetadataCompilation' in safe way
...
(replacing old getMetadataCompilationsForSourceSet)
^KT-34662 Verification Pending
2023-04-03 11:24:12 +00:00
Sebastian Sellmair
4c653a4297
[Gradle] KotlinPluginLifecycle: Ensure no enqueued actions will be missed
...
^KT-34662 Verification Pending
2023-04-03 11:24:11 +00:00
Sebastian Sellmair
4ba2107ec5
[Gradle] checkSourceSetVisibilityRequirements: Run in 'ReadyForExecution'
...
^KT-34662 Verification Pending
2023-04-03 11:24:11 +00:00