Commit Graph

95910 Commits

Author SHA1 Message Date
Simon Ogorodnik 087555ee59 KTI-955. Add tests for CODEOWNERS file
- Check list of possible owners
- Check no unknown owners
- Check no unowned files in repo
- Check no unmatched patterns
2022-11-08 17:33:05 +00:00
Simon Ogorodnik eea06eb242 KTI-955. Add initial Space CODEOWNERS file 2022-11-08 17:33:04 +00:00
Alexander Korepanov d5a73a5df1 [JS IR] Return JsIrProgramFragment generators instead of ready objects
It allows to free IrFile objects on flight
right after the JsIrProgramFragment producing.
2022-11-08 15:18:45 +00:00
Alexander Korepanov 4aaae5347a [JS IR] Allow IC metadata to be freed before the lowering 2022-11-08 15:18:45 +00:00
Alexander Korepanov 5b70d39bd0 [JS IR] Move id signature functions into a separate file 2022-11-08 15:18:44 +00:00
Alexander Korepanov c0a1fa6f98 [JS IR] Move the JS AST serialization right before the IC data committing
It allows not to keep the binary representation in memory
2022-11-08 15:18:44 +00:00
Alexander Korepanov eb781168b8 [JS IR] Move an IC IR loading process into a separate function 2022-11-08 15:18:44 +00:00
Alexander Korepanov 95e305be3a [JS IR] Simple memory optimizations
- Use hash maps and hash sets instead of linked implementations
 - Use weak hash maps for caches with IR elements as keys
 - Intern JS function signatures
2022-11-08 15:18:43 +00:00
Alexander Korepanov 731dd9c3e8 [JS IR] More detailed time measurement for the IC infrastructure 2022-11-08 15:18:43 +00:00
Zalim Bashorov 21c4580e20 [JS, Wasm] Update Nodejs to the current LTS (18.12.1) and add useful links 2022-11-08 14:31:43 +00:00
Anna Kozlova 79bed083e6 [FIR] allow primary constructors in interfaces to support invalid code
KTIJ-23504
2022-11-08 14:51:33 +01:00
Dmitriy Novozhilov ce94816d9e Advance bootstrap to 1.8.20-dev-2036 2022-11-08 15:10:57 +02:00
Yahor Berdnikau ddc72db0de Configure compilation -jvm-target also from Java toolchain spec
Correctly wire JVM toolchain spec such way that `-jvm-target` will also
be configured from toolchain spec set either via java extension or
kotlin extension.

^KT-50115 Fixed
2022-11-08 09:20:01 +00:00
Alexander Korepanov 92638573ce [JS IR] Add messages about unused cli arguments 2022-11-07 17:57:42 +00:00
Alexander Korepanov cb7df4d428 [JS IR] IrModuleToJsTransformerTmp.kt -> IrModuleToJsTransformer.kt 2022-11-07 17:57:41 +00:00
Alexander Korepanov 041e755c70 [JS IR] Cleanup BackendContext flags 2022-11-07 17:57:41 +00:00
Alexander Korepanov 4d37c1d49c [JS IR] Drop generateScriptModule flag from Merger class 2022-11-07 17:57:41 +00:00
Alexander Korepanov f1bce9fad4 [JS IR] Drop StableNamesCollector.kt 2022-11-07 17:57:40 +00:00
Alexander Korepanov 99e93258cd [JS IR] Drop NameTables class 2022-11-07 17:57:40 +00:00
Alexander Korepanov 43fbb0ba3e [JS IR] Drop IrNamerImpl.kt 2022-11-07 17:57:39 +00:00
Alexander Korepanov 7b8bd47b1a [JS IR] Drop MultiModuleSupport.kt 2022-11-07 17:57:39 +00:00
Alexander Korepanov 05395f716c [JS IR] Drop old IrModuleToJsTransformer 2022-11-07 17:57:39 +00:00
Alexander Korepanov d17794481d [JS IR] Replace IrModuleToJsTransformer with IrModuleToJsTransformerTmp 2022-11-07 17:57:38 +00:00
Vladimir Dolzhenko 2ec07b861b Add languageSetting provider
Access to facets could be heavy

#KTIJ-23501
2022-11-07 17:20:21 +00:00
Alexander Udalov d7a58a7c6c Keep track of array types in OptimizationBasicInterpreter
Merging array types with different element types, for example
`[Lj/l/String;` and `[Lj/l/Object;`, now produces `[Lj/l/Object;`
(instead of `Lj/l/Object;`), which allows for more precise tracking of
null values because we assume that AALOAD on a non-array typed value is
possible only if that value is null.

 #KT-54802 Fixed
2022-11-07 17:22:38 +01:00
Bogdan Mukvich a79927742c Fix code conformance tests after move
#KTI-962
2022-11-07 15:01:31 +00:00
Bogdan Mukvich 080b034950 Move code conformance tests from compiler tests
#KTI-962
2022-11-07 15:01:31 +00:00
Sebastian Sellmair dec0946896 [Gradle][Minor] Opt into InternalKotlinGradlePluginAPI (workaround KT-54823)
^KT-54766 Verification Pending
2022-11-07 13:39:53 +00:00
Sebastian Sellmair 2391ab0ded [Gradle][Minor] CompilationAssociator: Rename parameters to auxiliary and main
^KT-54766 Verification Pending
2022-11-07 13:39:52 +00:00
Sebastian Sellmair 25fe9589b4 [Gradle] Make ExternalKotlinTargetImpl internal
^KT-54766 Verification Pending
2022-11-07 13:39:52 +00:00
Sebastian Sellmair f34875b161 [Gradle] ExternalAndroidTargetPrototypeSmokeTest: Assume assumeAndroidSdkAvailable
^KT-54766 Verification Pending
2022-11-07 13:39:52 +00:00
Sebastian Sellmair 898174a2a0 [Gradle] Add ExternalKotlinTargetApi annotation to API snapshot 2022-11-07 13:39:51 +00:00
Sebastian Sellmair 966ed6b7fb [Gradle] Extract setupCompileTask into separate function
^KT-54766 Verification Pending
2022-11-07 13:39:51 +00:00
Sebastian Sellmair 9599c16d95 [Gradle] Initial 'externalTargetApi' w/ compilable Android prototype
^KT-54766 Verification Pending
2022-11-07 13:39:50 +00:00
Sebastian Sellmair 33adebe5bf [Gradle][MPP] Add k.g.p-tcs-android module for prototyping
KT-54766
2022-11-07 13:39:50 +00:00
nataliya.valtman 9b212cfa86 Revert "Extract KotlinClassInfo to a separate class"
This reverts commit ec3da62672.
2022-11-07 13:59:32 +01:00
Dmitriy Dolovov 271341419a [Native][tests] Fix: Always configure JUnit platform for unit tests 2022-11-07 12:44:39 +00:00
Hung Nguyen ec3da62672 Extract KotlinClassInfo to a separate class
to reduce the size of IncrementalJvmCache and prepare for the next
change.

^KT-54144 In progress

Handle changes to inline functions/property accessors with `@JvmName`s

If we detect a change in an inline function `foo` with @JvmName
`fooJvmName`, we have two options:
   1. Report that function `foo` has changed
   2. Report that method `fooJvmName` has changed

Similarly, if we detect a change in an inline property accessor with
JvmName `getFoo` of property `foo`, we have two options:
   1. Report that property `foo` has changed
   2. Report that property accessor `getFoo` has changed

The compiler is guaranteed to generate `LookupSymbol`s corresponding to
option 1 when referencing inline functions/property accessors, but it is
not guaranteed to generate `LookupSymbol`s corresponding to option 2.
(Currently the compiler seems to support option 2 for *inline*
functions/property accessors, but that may change.)

Therefore, we will choose option 1 as it is cleaner and safer.

^KT-54144 In progress

Ignore inline functions that are not found in the bytecode

^KT-54144 In progress

Add unit test for handling `@JvmName`s

Test: KotlinOnlyClasspathChangesComputerTest
             #testFunctionsAndPropertyAccessorsWithJvmNames
^KT-54144 Fixed

Small cleanup in IncrementalCompilerRunner

 - Add comment for closing caches
 - Rename providedChangedFiles to changedFiles
 - Tiny clean up in `performWorkBeforeCompilation`
 - Count directories to delete in debug logs

^KT-53015 In progress

Small cleanup in IncrementalCompilerRunner

 - Add comment for closing caches
 - Rename providedChangedFiles to changedFiles
 - Tiny clean up in `performWorkBeforeCompilation`
 - Count directories to delete in debug logs

^KT-53015 In progress
2022-11-07 13:10:02 +01:00
Bogdan Mukvich fce8b877c8 Remove unused WriteCopyrightToFile gradle task
#KTI-758
2022-11-07 08:24:19 +00:00
Aleksei.Cherepanov fbb0d6d805 Fix serialization of arrays in compiler arguments
#KT-54791 Fixed
2022-11-05 12:01:06 +00:00
Ilya Goncharov 21991a70e0 [JS] Update npm dependencies in js tests 2022-11-04 15:52:19 +00:00
Alexander Likhachev 71b431db15 [Gradle] Update the Kapt3AndroidExternalIT.testRealm test project
Now it uses the latest version of realm-gradle-plugin
#KT-45748 Fixed
2022-11-04 15:22:03 +00:00
Alexander Likhachev ff6442a1cb [Gradle] Split AGP depending on mpp lib test
#KT-45748 In Progress
2022-11-04 15:22:03 +00:00
Alexander Likhachev bdedc36ed3 [Gradle] Disable Android lint tests on Windows
Lint leaves some file descriptors opened leading to test failure on Windows. See https://android.googlesource.com/platform/tools/base/+/be16b7622a15073725ef1c1555d78cce9fa8a795 for the fix.
#KT-45748 In Progress
2022-11-04 15:22:03 +00:00
Alexander Likhachev 3fee07207e [Gradle] Move the OtherGradlePluginTests tag from Kapt3BaseIT to Kapt3IT
Tags on classes are being combined leading to Kapt3AndroidIT and other Kapt3 Android tests being marked as both ``@OtherGradlePluginTests` and `AndroidGradlePluginTests`
#KT-45748 In Progress
2022-11-04 15:22:02 +00:00
Alexander Likhachev 8508ce27c4 [Gradle] Cleanup imports in Kapt3AndroidIT
#KT-45748 In Progress
2022-11-04 15:22:02 +00:00
Alexander Likhachev db63614ae1 [Gradle] Move AndroidAndJavaConsumeMppLibIT to mpp subpackage
#KT-45748 In Progress
2022-11-04 15:22:02 +00:00
Alexander Likhachev 026288155c [Gradle] Fix KotlinAndroidMppIT.testLintInAndroidProjectsDependingOnMppWithoutAndroid
#KT-45748 In Progress
2022-11-04 15:22:01 +00:00
Alexander Likhachev d980f94fff [Gradle] Move external dependencies tests out from Kapt3AndroidIT
#KT-45748 In Progress
2022-11-04 15:22:01 +00:00
Alexander Likhachev 90b0c867ed [Gradle] Move incremental build tests out from Kapt3AndroidIT
#KT-45748 In Progress
2022-11-04 15:22:00 +00:00