Commit Graph

97026 Commits

Author SHA1 Message Date
Ilya Chernikov 88d140527f Scripting: optimize check for allowed scripts on init 2022-12-18 16:49:41 +00:00
Vyacheslav Gerasimov 9ca24b6965 Build: Remove parcelize tests from compilerPluginTest root task 2022-12-18 13:51:23 +01:00
Vyacheslav Gerasimov bfbeb2763f Build: Run only js tests with jsCompilerTest root task 2022-12-18 13:51:23 +01:00
Mikhail Glukhikh af96c735bb K2: use PUBLICATION mode for lazy members in KtSourceElement
This commit removes performance problems during these members access
2022-12-17 21:44:58 +00:00
Igor Chevdar 0e4e53786c [K/N] Fixed a problem with built coroutine visibility
#KT-55494 Fixed
2022-12-16 18:32:43 +00:00
Igor Chevdar 0f2ebeea15 [tests] Added a test for KT-55494 2022-12-16 18:32:42 +00:00
Artem Vasilev 1e1f96f73e [LL FIR] fix more possible NPEs at lock access
Depending on the execution, some accesses to lock could cause NPE.
The best solution we've found so far is to make lock volatile, so that
reads between lock and value are consistent between threads.
It requires further work to determine if we can have one volatile field.
2022-12-16 17:56:49 +00:00
Artem Vasilev 04924dbfed [LL FIR] replace guard with ReentrantLock.holdCount
Previously, there was a guard variable that prevented recursive
locks. It can be replaced with lock.holdCount check.
2022-12-16 17:56:49 +00:00
Artem Vasilev 879f6c3432 [LL FIR] restructure lock assertion to prevent NPEs
When the other thread has already computed the value and cleared the
lock, the other thread could still enter the computeValueWithoutLock()
and see lock == null
2022-12-16 17:56:49 +00:00
Yahor Berdnikau 11bc3dbd82 Undeprecate missed kotlinOptions deprecation
^KT-54580 Fixed
2022-12-16 17:25:50 +00:00
Yahor Berdnikau 860d3fda95 Undeprecate 'kotlinOptions' DSL
'@ReplaceWith' is not that flexible in this case and proper IDE support
required for smooth migration. After such migration in IDE will be added
 - deprecation should be restored.

 ^KT-54399 Fixed
2022-12-16 17:25:49 +00:00
mcpiroman a244aaf162 KT-53957 Fix indy lambdas with extension and context receivers (#5021) 2022-12-16 17:47:58 +01:00
Sebastian Sellmair b6682d1789 [Gradle] IdeaKotlinClasspath: Use Intener implementation from kotlin-tooling-core
^KT-55475 Verification Pending
2022-12-16 16:46:16 +00:00
Sebastian Sellmair 71fac797ee [kotlin-tooling-core] Implement generic Interner
^KT-55475 Verification Pending
2022-12-16 16:46:16 +00:00
Sebastian Sellmair 84fdc5e3df [Gradle] Cleanup shared run configurations
^KT-55475 Verification Pending
2022-12-16 16:46:15 +00:00
Sebastian Sellmair ca32347c91 [Gradle] Add IdeaKotlinClasspathSerializationTest.test - empty ByteArray
^KT-55475 Verification Pending
2022-12-16 16:46:15 +00:00
Sebastian Sellmair e19d5768e2 [Gradle] Add documentation on IdeaKotlinProjectArtifactDependency.artifactsClasspath
^KT-55475 Verification Pending
2022-12-16 16:46:15 +00:00
Sebastian Sellmair aed8c323e4 [Gradle] Fix IdeSourceDependencyResolutionTest after 9f810116
^KT-55475 Verification Pending
2022-12-16 16:46:14 +00:00
Sebastian Sellmair 38f310467a [Gradle] Implement IdeaKotlinClasspath interner
This very simple interner mechanism ensures that when import runs
within the IDE process, we de-duplicate existing file instances.

This might have an effect, because during GradleProjectResolution
we could have plenty source sets that refer to the same
files.

^KT-55492 Verification Pending
2022-12-16 16:46:14 +00:00
Sebastian Sellmair e32cff3b38 [Gradle] Implement IdeMultiplatformImport using new IdeaKotlinClasspath
^KT-55492 Verification Pending
2022-12-16 16:46:13 +00:00
Sebastian Sellmair 53c5444a7a [Gradle] kgp-idea: Compatibility tests: bump version to 1.8.20-dev-4242
KT-55492
2022-12-16 16:46:13 +00:00
Sebastian Sellmair 4eb5641e2a [Gradle] Implement IdeaKotlinClasspath concept
KT-55492
2022-12-16 16:46:13 +00:00
Evgeniy.Zhelenskiy f6c63c6e4f [IR, Serialization] Support kotlinx-based (de)serialization of MFVC, nullable MFVC value assignment to nonnull variable
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-12-16 17:20:51 +01:00
Ilya Kirillov 561df74419 [kotlin] fix NPE from lockWithPCECheck when action lambda returns a nullable value 2022-12-16 17:17:13 +01:00
Shahlin Ibrahim 65f71cccc9 Fix several typos in docs of K/N runtime (#5054) 2022-12-16 19:05:08 +03:00
Svyatoslav Kuzmich 62ac77ca39 [Wasm] Add comments to .wat files 2022-12-16 13:57:59 +00:00
Alexander Shabalin 41dbbd1fc8 [K/N] More idiomatic configurations usage for CompilationDatabasePlugin ^KT-53776 2022-12-16 13:48:30 +00:00
Alexander Shabalin f2835f3534 [K/N] Use Gradle configurations for CompileToBitcode modules ^KT-53776 2022-12-16 13:48:30 +00:00
Ivan Kochurkin 584280bdd4 [FIR] Use lazy PropertyInitializationInfoData in FirPropertyInitializationChecker 2022-12-16 12:21:13 +00:00
Ivan Kochurkin 6aca5e3037 [FIR] Fast check of changed in CfgTraverser 2022-12-16 12:21:13 +00:00
Mikhail Glukhikh 03afc1f2d8 K2: don't create so large arrays in each CFGNode 2022-12-16 12:06:19 +00:00
Mikhail Glukhikh 0ecd9000cd Fir2IrClassifierStorage: drop unnecessary signature manipulations 2022-12-16 11:37:03 +00:00
Mikhail Glukhikh 8580461b5b FIR2IR: remove redundant calls of preCacheBuiltinClassMembers
#KT-55421 Fixed
2022-12-16 11:37:02 +00:00
Yahor Berdnikau 189ef3425f Add test to check kaptGenerateStub and KotlinCompiler have same module-name
^KT-55334
2022-12-16 09:27:40 +00:00
Takumi Maeomote c4f83adc2a Add sample for Map.asSequence (#5055) 2022-12-15 19:58:38 +03:00
Anna Kozlova a529f8510d [LL] ensure FirConstExpression's annotations are not lost (KTIJ-23968) 2022-12-15 14:31:48 +00:00
Mikhail Glukhikh cc53671395 K2: optimize out empty maps in CFG nodes 2022-12-15 13:20:26 +00:00
Dmitriy Dolovov ab4603c9a3 [K/N] Mute LLDB tests if any other than DEBUG opt mode is used 2022-12-15 13:11:57 +00:00
Sebastian Sellmair c802fd30c0 [Gradle] IdeJvmAndAndroidDependencyResolutionTest: Add assertion on jvmAndAndroidTest
^KT-55475 Verification Pending
2022-12-15 13:01:42 +00:00
Sebastian Sellmair 9f810116d3 [Gradle] Fine-tune Jvm and Android ide dependency resolution
The binary dependency resolver shall only run for remote
artifacts. Project to project dependencies shall be handled
by the IdeJvmAndAndroidSourceDependencyResolver

^KT-55475 Verification Pending
2022-12-15 13:01:42 +00:00
Alexander Udalov 5dd1777624 IR: minor, deprecate nameForIrSerialization, use name instead 2022-12-15 12:31:11 +00:00
Dmitriy Novozhilov 34be0f05b2 [FIR] Add utility for checking if FirReference is one of error reference
Also simplify relevant code in checkers
2022-12-15 12:12:21 +00:00
Dmitriy Novozhilov 7334694fd9 [FIR] Remove some rare used utilities 2022-12-15 12:12:20 +00:00
Dmitriy Novozhilov b53c4a6353 [FIR] Introduce some typed FirReference.toResolvedXXXSymbol utilities 2022-12-15 12:12:20 +00:00
Dmitriy Novozhilov cffc32ec76 [FIR] Fir utils for FirReference in package org.jetbrains.kotlin.fir.references 2022-12-15 12:12:20 +00:00
Dmitriy Novozhilov b174bb8844 [FIR] Update testdata after introducing FirResolvedErrorReference 2022-12-15 12:12:19 +00:00
Dmitriy Novozhilov dde64c10ea [FIR] Create FirResolvedErrorReference for error reference with single candidate
Note that this reference won't be created for hidden candidates,
  because they are designed to be truly invisible from the user side
2022-12-15 12:12:19 +00:00
Dmitriy Novozhilov 9e4e5eed68 [FIR] Introduce FirResolvedErrorReference node 2022-12-15 12:12:19 +00:00
Ilya Muradyan db5913bbb6 KTIJ-8463: add possibility to pass additional analyzer flags 2022-12-15 10:30:43 +01:00
Sergey Bogolepov 1137299497 [K/N] Support ObjCExport in dynamic driver 2022-12-15 08:45:22 +00:00