Commit Graph

97008 Commits

Author SHA1 Message Date
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
Mikhail Glukhikh b271b409c7 Fix final -> open modality in new test data after 2022-12-14 23:19:37 +01:00
Steven Schäfer 6af616d3c3 FIR: make declarations marked with 'override' implicitly open
#KT-52236 Fixed
2022-12-14 21:46:41 +00:00
Bogdan Mukvich 9c1a68fcec Specify versions-maven-plugin version explicitly
If version not specified explicitly maven-cli downloads the latest
Regression have been introduced in version 2.14.0
https://github.com/mojohaus/versions/issues/848
2022-12-14 18:15:07 +01:00
Vyacheslav Gerasimov 4ae12bf270 Build: Introduce jsFirCompilerTest & jsIrCompilerTest root tasks 2022-12-14 15:13:09 +01:00
Vyacheslav Gerasimov 4c4a92be44 Build: Introduce parcelizeTests root task 2022-12-14 15:13:08 +01:00
Dmitrii Gridin 4dec14eb8e CODEOWNERS: don't require separate review of generated files 2022-12-14 12:51:51 +00:00
Ilya Kirillov 68a17242b3 [FIR] fix NPE on missing java annotations qualifier
^KTIJ-23075 fixed
2022-12-14 09:58:07 +00:00
Dmitriy Dolovov f07f7885c5 [K/N] Small clean-up in LLDB tests 2022-12-14 08:58:10 +00:00
Johan Bay 842a66c3de [K/N] Migrate LLDB test to blackboxtest
This change only introduces a single sample test together
with the necessary plumbing for basic LLDB testing.
Migrating the rest of the tests over and introducing more
complex interop setups will be tackled as a follow-up.
2022-12-14 08:58:10 +00:00
Bogdan Mukvich d61c3d1add Exclude gradle integration tests build directory from codebase tests 2022-12-14 08:50:43 +00:00
Ilya Kirillov 8b88315a69 [LL FIR] do not allocate lambda for the ValueWithPostCompute.guard
to reduce a memory consumption for a little

ValueWithPostCompute are created very often
2022-12-14 08:33:07 +00:00
Ilya Kirillov 2bb3b41348 [LL FIR] clear implementation details in ValueWithPostCompute after the value is computed
to save some memory
2022-12-14 08:33:07 +00:00
Ilya Kirillov f9298d8e85 [LL FIR] try to check for PCE in ValueWithPostCompute to avoid possible deadlocks 2022-12-14 08:33:06 +00:00
Ilya Kirillov de7383ff15 [LL FIR] check for PCE after acquiring the lock for resolve
To the moment we acquire the lock, the computation might not be needed
2022-12-14 08:33:06 +00:00
Ilya Kirillov c80221afd3 [LL FIR] always use lockWithPCECheck for resolve to check possible PCE 2022-12-14 08:33:06 +00:00
Ilya Kirillov d7ee312b83 [Analysis API] do not rethrow java.lang.Error
Errors as OutOfMemoryError should not be caught or wrapped
2022-12-14 08:33:05 +00:00
Ilya Kirillov 9cf77e19be [LL FIR] fix memory leak from LLFirSessionProvider for the module
LLFirSessionProvider stores all transitive module dependencies,
even if they are not needed or already invalidated and garbage collected

Now, the dependencies are stored on the weak references, and so then nobody uses them, they will be garbage collected
2022-12-14 08:33:05 +00:00
Dmitrii Gridin 34e4645385 [ULC] avoid resolve from KtUltraLightClassModifierList.hasModifierProperty in most cases
^KT-55445 Fixed
2022-12-13 18:18:00 +00:00