Commit Graph

99409 Commits

Author SHA1 Message Date
Nikolay Lunyak c105e63bbb [FIR] KT-57214: Check the annotations "if possible"
^KT-57214 Fixed

Merge-request: KT-MR-9170
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com>
2023-03-14 10:25:02 +00:00
Pavel Kunyavskiy 854506fa9e [K/N] refactor all function calls to use LlvmCallable machinery 2023-03-14 09:50:00 +00:00
Yan Zhulanow ff3fac5d42 [LL API] Minor, use string interpolation in 'ModificationTracker's 2023-03-14 09:46:41 +00:00
Yan Zhulanow ef4a6168f1 [LL API] Minor, wrap an 'IdentityHashMap' into a set 2023-03-14 09:46:41 +00:00
Yan Zhulanow 5c9a9913db [LL API] Refactor session caches
Use 'CachedValue' and dependency handling with 'ModificationTracker'
for dependent session invalidation.
2023-03-14 09:46:40 +00:00
Yan Zhulanow c3b2d9dc5b [LL API] Remove extra 'Project' parameter 2023-03-14 09:46:40 +00:00
Yan Zhulanow ae2dd8c71a [LL API] Remove redundant 'LLFirSessionInvalidator' 2023-03-14 09:46:39 +00:00
Yan Zhulanow 708e7dd11a [LL API] Remove unused parameter 'librariesSessionFactory' 2023-03-14 09:46:39 +00:00
Yan Zhulanow db59d06f73 [LL API] Replace configuration lambdas with extensions
Caching 'LLFirSession' that is modified in arbitrary way is not safe.
The new approach is less ad-hoc, as extensions are applied to all
sessions.
2023-03-14 09:46:39 +00:00
Yan Zhulanow f353199b7b [LL API] Ensure that the session is valid right after entering the lock 2023-03-14 09:46:38 +00:00
Yan Zhulanow f0de570b55 [LL API] Use modification tracker right from the 'LLFirSession' 2023-03-14 09:46:38 +00:00
Yan Zhulanow 88636c8dbf [LL API] Move modification tracker right inside a 'LLFirSession' 2023-03-14 09:46:38 +00:00
Yan Zhulanow be71d75f9e [LL API] Do not pass redundant 'project' instance to low-level sessions 2023-03-14 09:46:37 +00:00
Yan Zhulanow 1584fe77ba [LL API] Clean invalidated sessions in 'KtFirAnalysisSessionProvider' 2023-03-14 09:46:37 +00:00
Yan Zhulanow c33bedb417 [LL API] Simplify 'KtFirAnalysisSessionProvider'
The 'CachingKtAnalysisSessionProvider' was only used in
'KtFirAnalysisSessionProvider', and reasons why it was created
(reusing code between FE10 and K2 session provider implementations)
is not actual anymore.
2023-03-14 09:46:37 +00:00
Yan Zhulanow 4a27034ed5 Revert "[LL FIR] return non-cancellable section back for resolve until cache invalidation problems (^KTIJ-24594) are fixed"
This reverts commit d03f523a71.
2023-03-14 09:46:36 +00:00
Kirill Rakhman 471ecf62c8 [FIR] Fix UNRESOLVED_REFERENCE in callable reference to delegated var
#KT-57204 Fixed
2023-03-14 09:13:42 +00:00
Kirill Rakhman d20ad67aa9 [FIR] Introduce extension unwrapFakeOverridesOrDelegated() 2023-03-14 09:13:41 +00:00
vladislav.grechko 35dfcb61bb Fix specialization of equality comparison calls for inline classes
Receiver of equals() call should be checked instead of argument

^KT-57261: Fixed
2023-03-13 23:39:35 +00:00
vladislav.grechko 8039e30bbd Fix condition of generating equals-impl0 call
This methods should not be called when instances of different inline
classes are being compared

^KT-57242: Fixed
2023-03-13 23:39:34 +00:00
Evgeniy.Zhelenskiy 948714e7e5 [IR] Fix delegating MFVC constructors
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2023-03-13 19:49:10 +01:00
Nikolay Krasko 09bd9ec9af Remove versions.intellijSdk.forIde versions 2023-03-13 18:40:20 +00:00
Nikolay Krasko af576f3911 Remove trust for 1.8.20 kotlin versions 2023-03-13 18:40:20 +00:00
Nikolay Krasko 2c80d3c66a Remove outdated KotlinBuildPusher
There should not be any direct dependencies to TeamCity
in the repository.
2023-03-13 18:40:19 +00:00
Roman Golyshev ff7c095fb3 [FIR][Serialization] Use resolvedCompilerAnnotationsWithClassIds to avoid recursive resolve
`resolvedAnnotationsWithClassIds` requires resolve to TYPES phase,
which is unavailable during compiler plugins stages. Trying to resolve
to that phases will cause an infinite recursive resolve loop

Also, call `resolvedAnnotationsWithArguments` only when
`neededArguments` is true

^KTIJ-24893 Fixed
2023-03-13 17:05:26 +00:00
Nikolay Lunyak 5505fd207e [FIR] KT-57195: Don't approximate ft when checking override return types
Why does this check even exist? K1 doesn't do it.

^KT-57195 Fixed
2023-03-13 16:34:47 +00:00
Nikolay Lunyak b385d787cc [FIR JS] KT-57200: Allow dynamic varargs
^KT-57200 Fixed
2023-03-13 15:54:52 +00:00
Pavel Kirpichenkov 5d664aac92 [MPP] Disable KGP import for the standalone kotlin-js Gradle plugin
KTIJ-24745
2023-03-13 14:26:39 +00:00
Pavel Kirpichenkov 93fc9097c8 Minor: add explicit MutableMap type annotation to workaround KTIJ-21172 2023-03-13 14:26:39 +00:00
Bogdan Mukvich 24d4f186ba [Gradle, JS] Fix pom.xml publication to OSS sonatype 2023-03-13 14:25:52 +00:00
Svyatoslav Kuzmich a99ea1d3ce [Wasm] Support enumValues and enumValueOf functions
^KT-57276 Fixed

Merge-request: KT-MR-9169
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
2023-03-13 14:13:31 +00:00
Ilya Goncharov bcf7c38288 [Gradle, JS] Add root cache directory changing to test 2023-03-13 14:02:27 +00:00
mcpiroman d87468ef39 Simplify and optimize JvmLateinitLowering 2023-03-13 14:58:28 +01:00
Svyatoslav Scherbina 8315eeaf92 [K2/N] adjust interop_objc_direct test for K2 because of ^KT-55902
K2 doesn't support implicit integer coercion for cinterop yet.
2023-03-13 13:39:51 +00:00
Svyatoslav Scherbina 950c2baa34 [K2/N] ignore library_ir_provider_mismatch test because of ^KT-56855
K2 doesn't support one-stage compilation mode for Native yet.
2023-03-13 13:39:51 +00:00
Svyatoslav Scherbina 424fd19fb4 [K2/N] ignore interop_kt40426 test because of ^KT-56030
K2 doesn't support subclassing Obj-C classes with methods differing only
by parameter names yet.
2023-03-13 13:39:50 +00:00
Evgeniy.Zhelenskiy 888bf801e2 [FIR] Forbid @JvmInline with inline modifier
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2023-03-13 13:09:57 +00:00
Evgeniy.Zhelenskiy 3b5ad0681f [IR] Fix compiler bugs with MFVC to let KorGE run
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2023-03-13 13:09:56 +00:00
Evgeniy.Zhelenskiy 9b3fc34f78 [IR] Add for statement to tests for MFVC returning from inline functions
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2023-03-13 13:09:56 +00:00
Evgeniy.Zhelenskiy 19424702e0 [IR] Fix mutable shared reference of MFVC type
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2023-03-13 13:09:55 +00:00
Pavel Punegov 752d6505e9 [K/N][test] Opt-in ImplicitSignedToUnsignedIntegerConversion in tests
Add option to allow such conversions, see ^KT-56583

Merge-request: KT-MR-9160
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-03-13 13:00:19 +00:00
Pavel Mikhailovskii e9130f5c87 Fix test directives 2023-03-13 13:57:59 +01:00
Alexander Udalov 4f380e876c Deprecate ClassBuilderInterceptorExtension
ClassGeneratorExtension is supposed to be used instead.
2023-03-13 13:54:06 +01:00
Alexander Udalov 163a052f98 Remove old JVM backend implementation of Parcelize
There's no way for the end user to use this implementation anymore,
since old JVM backend cannot be enabled, and nothing else from Kotlin
depends on it.
2023-03-13 13:53:08 +01:00
Alexander Udalov f4b4922a13 Use new ClassGeneratorExtension EP in jvm-abi-gen 2023-03-13 13:53:07 +01:00
Alexander Udalov fba5b96bef JVM IR: introduce ClassGeneratorExtension
This is a low-level extension point for Kotlin/JVM, which is supposed to
be used instead of ClassBuilderInterceptorExtension.

 #KT-54758 Fixed
 #KT-56814 Fixed
2023-03-13 13:51:52 +01:00
Alexander Udalov b1ca9a0f05 JVM IR: extract JvmIrDeclarationOrigin 2023-03-13 13:51:52 +01:00
Alexander Udalov b1d109e7a3 JVM IR: do not use JvmDeclarationOrigin in duplicate signatures
Apparently the client code which reports errors only meaningfully uses
the `descriptor` field of `JvmDeclarationOrigin` in case of JVM IR.
2023-03-13 13:51:52 +01:00
Pavel Mikhailovskii 00fff3de72 Skip a failing IDE test 2023-03-13 11:37:31 +01:00
Kirill Rakhman 9f33c64715 [FIR] Remove duplicate FirCallableSymbol.isStatic extension 2023-03-13 08:48:39 +00:00