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