Commit Graph

87851 Commits

Author SHA1 Message Date
Mikhail Glukhikh 7ccd1309e6 FirToConstantValueTransformer: extract lazy dispatchReceiverValue 2021-11-30 18:00:02 +03:00
Mads Ager f220e4a5ed [FIR] Fix a couple of issues in annotation serialization. 2021-11-30 18:00:00 +03:00
konstantin.tskhovrebov 3dd27b9b1f Add integration tests for new K/N library DSL. 2021-11-30 17:51:58 +03:00
konstantin.tskhovrebov 2e86fbd2b5 Add new DSL for configuring K/N xcframework artifact. 2021-11-30 17:51:57 +03:00
konstantin.tskhovrebov 43fe1e52c9 Add new DSL for configuring K/N fatframework artifact. 2021-11-30 17:51:57 +03:00
konstantin.tskhovrebov 3f40af10dc Add new DSL for configuring K/N framework artifact. 2021-11-30 17:51:56 +03:00
konstantin.tskhovrebov cfdd5673ee Add new DSL for configuring K/N library artifact. 2021-11-30 17:51:56 +03:00
konstantin.tskhovrebov 17fe4f67e5 Add new compilation independent KotlinNativeLinkArtifactTask. 2021-11-30 17:51:55 +03:00
konstantin.tskhovrebov bbc43cde74 Change FileCollection to List<File> for K/N argument builder. 2021-11-30 17:51:54 +03:00
Dmitriy Novozhilov f12a010fc8 [Test] Fix file separators in generated spec tests on windows
^KTI-713 Fixed
2021-11-30 17:02:55 +03:00
Sergey Bogolepov da5c86cc1e [K/N] Add missing watchos_simulator_arm64 to watchOS set_depends.sh 2021-11-30 13:02:01 +00:00
Sergey Bogolepov b0077dce88 [K/N] Speedup defFileDependencies by running it in parallel 2021-11-30 13:02:01 +00:00
Ilya Goncharov b47925b126 [JS] Update mocha and mocha-teamcity-reporter in test infrastructure
Merge-request: KT-MR-5129
2021-11-30 12:24:56 +00:00
Hung Nguyen 6ba1b2cc08 KT-45777: Don't include classpath snapshot dir in task output backup
for performance reasons: (1) the snapshots are too big, and (2) they are
usually updated only at the end of the task execution--in a failed task
run, they are usually unchanged and therefore don't need to be restored.
2021-11-30 13:59:19 +03:00
Hung Nguyen 062a8fe56f KT-45777: Ignore Kotlin synthetic classes when computing classpath changes 2021-11-30 13:59:17 +03:00
Hung Nguyen 2b65d673bb KT-45777: Also collect added classes/class members as classpath changes
as they can impact recompilation (examples shown in the code comments).

Test: Updated ClasspathChangesComputerTest
2021-11-30 13:59:17 +03:00
Hung Nguyen 8c611e0b4d KT-45777: Add -dontwarn com.google.gson.** to Proguard rules
The previous commit added gson to `incremental-compilation-impl` module.
However, gson is currently not added to -libraryjars for Proguard, so
running with -Pteamcity=true would fail with
```
> Task :kotlin-compiler:proguard
Warning: ... can't find referenced class com.google.gson.Gson
Warning: ... can't find referenced class com.google.gson.GsonBuilder
   You may need to add missing library jars or update their versions.
   If your code works fine without the missing classes, you can suppress
   the warnings with '-dontwarn' options.
   (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
```

This commits adds -dontwarn com.google.gson.** to work around this
error. The proper fix is probably to add gson (and many other libraries)
to Proguard's -libraryjars.
2021-11-30 13:59:16 +03:00
Hung Nguyen 6bee7948e7 KT-45777: Don't compute snapshots for inaccessible classes
Also visit a class file with ASM once to extract all information we need
in advance, instead of visiting the class file each time some piece of
info is needed.
2021-11-30 13:59:14 +03:00
Hung Nguyen f52be5f471 KT-45777: Move classpath diffing to incremental Kotlin compiler (2/2)
as we need access to the lookup tracker to compute classpath changes
more efficiently and reduce the size of the saved classpath snapshot.

The previous commit only changed the files' paths, this
commit actually updates the files' contents.

Note that classpath snapshotting still happens in Gradle artifact
transforms. (However, the previous commit also moved the code for
classpath snapshotting together with the code for classpath diffing as
they are closely related.)
2021-11-30 13:59:13 +03:00
Hung Nguyen dfaf195e1d KT-45777: Move classpath diffing to incremental Kotlin compiler (1/2)
This commit only changes the files' paths, the next commit will update
the files' contents.

See the next commit for more context.
2021-11-30 13:59:12 +03:00
Dmitriy Novozhilov c46e9943cc [FIR] Get rid of FirExtension.key
In reality plugin key was used only in two ways:
- found corresponding generator for member scope of generated class
- pass it to declaration origin so it can be read in backend IR plugin

Because of first usage plugin key was required to be an object, which
  reduces functionality of second usage, because there was no way to
  pass any additional info via key to IR (in future this usecase will be
  covered with IR declaration attributes, but right now we don't have
  them)

So now generator which created some class is now saved in its attributes
  and plugins can use any keys they want. And since there is no other
  usages of `FirExtension.key` it removed from FirExtension API at all
2021-11-30 12:57:53 +03:00
Dmitriy Novozhilov e7af50fe2b [FIR] Allow all extensions register declaration predicates 2021-11-30 12:57:52 +03:00
Dmitriy Novozhilov ce218b8a0b [FIR] Make FirExtensionRegistrar a proper extension point
After that commit it's allowed to register any FIR plugin using
  existing extension infrastructure (`-Xplugin` CLI argument,
  plugin.xml for IDE plugins, etc)
2021-11-30 12:57:50 +03:00
konstantin.tskhovrebov 14ee13c72e Register "embedAndSignAppleFrameworkForXcode" anytime but throw error without Xcode environment.
#KT-49971
2021-11-30 08:38:18 +00:00
Svyatoslav Scherbina ab6c8a4abe Native: make parseBinaryOptions public 2021-11-30 08:23:59 +00:00
Ilya Muradyan 6917ff7d2a [scripting] Move earlierScripts to the frontend descriptor
^KT-20488 fixed
2021-11-30 09:11:59 +03:00
Alexander Likhachev 4149b91c0d [Gradle, JS] Move KJS configuration cache tests into separate test suite
This way we make it utilize test execution workers more effectively
#KT-45745 In Progress
2021-11-30 07:24:34 +03:00
Alexander Likhachev 70c5fc703a [Gradle, JS] Add configuration cache test for Karma test task 2021-11-30 06:57:31 +03:00
Alexander Likhachev e8b9ff6c59 [Gradle, JS] Fix configuration cache problem in Mocha test task
#KT-49808 Fixed
2021-11-30 06:57:30 +03:00
Alexander Likhachev 439f69a20d [Gradle, JS] Add configuration cache test for nodejs project
#KT-49808 In Progress
2021-11-30 06:57:30 +03:00
Alexander Likhachev e6ae5db6ef [Gradle, JS] Fix configuration cache problem in KotlinJsIrLink task
#KT-49253 Fixed
2021-11-30 06:57:30 +03:00
Alexander Likhachev 32839c7ba2 [Gradle, JS] Move KJS configuration cache tests to other KJS tests
Previously some JS IR tasks weren't covered by tests
#KT-45745 In Progress
#KT-49253 In Progress
2021-11-30 06:57:29 +03:00
Alexander Likhachev f48e8dd35e [Gradle] Move basic configuration cache IT scenario to helpers file
#KT-45745 In Progress
2021-11-30 06:57:29 +03:00
Mads Ager 09da67767e [JVM_IR] Fix mangling of inline class inherited interface methods.
^KT-49864 Fixed
2021-11-30 03:33:56 +03:00
Sergej Jaskiewicz 887e91328f [JS IR] Allow value classes in external decls
Instances of value classes are passed unboxed, unless the instance is
nullable _and_ the value class wraps another nullable value.

#KT-43224 Fixed
2021-11-29 21:51:29 +00:00
Alexander Udalov 3f47725eb9 Add regression test for coroutines issue KT-49294 2021-11-29 22:09:59 +01:00
Anton Bannykh 5b66c4cdc3 [JS IR] speed up temporary name resolving 2021-11-29 21:09:35 +03:00
Anton Bannykh 2259c6f75d [JS IR IC] assert cross-file tag are not null and fix tests 2021-11-29 21:09:35 +03:00
Anton Bannykh 33cd7e982c [IR] support storing signatures for non-public symbols 2021-11-29 21:09:34 +03:00
Anton Bannykh d74ab1538b [JS IR] fix IC pipeline and unmute tests 2021-11-29 21:09:33 +03:00
Anton Bannykh 3be44a3540 [JS IR] fix missing signature 2021-11-29 21:09:33 +03:00
Anton Bannykh ef4ef8c930 [JS IR] switch to the IC Ir2Js and fix tests 2021-11-29 21:09:31 +03:00
Ilya Gorbunov 4386a800c8 KT-49721 Avoid matching from the same position after a zero-width match
In JS, RegExp can return a match before the specified start index,
if it has matched at that index, but it is in the middle of a surrogate
pair. Account for that when advancing to the next position after
a zero-width match so that it doesn't get to the middle of SP.
2021-11-29 17:02:06 +00:00
Mikhail Glukhikh cebe25ff39 FE: don't create KtFile stubs on virtual files without ids
This commit is kinda revert of the change in platform 203:
https://github.com/JetBrains/intellij-community/commit/5d91f7bf2e5718d715c0d90ed1a212ea845fb2a3

#KT-49833 Fixed
2021-11-29 18:42:23 +03:00
Dmitriy Dolovov 4482c393b6 [Native] Fix: Return sources for kotlin.test back to K/N distribution 2021-11-29 15:21:39 +00:00
Anton Lakotka 8d54b8d79a Don't publish wasm targets with KotlinJsCompilerAttribute
Currently JS/IR and WASM targets share this attribute.
This causes issues for HMPP projects on
Variant-resolution stage when both JS/IR and WAS published.
Given the fact that WASM compilation uses IR only it is logical
to exclude such attribute which should fix variant resolution in HMPP
2021-11-29 10:44:06 +01:00
dependabot[bot] f578d37947 Bump aws-sdk in /kotlin-native/tools/performance-server (#4662)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.670.0 to 2.814.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.670.0...v2.814.0)

---
updated-dependencies:
- dependency-name: aws-sdk
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-29 09:43:20 +03:00
Mikhail Glukhikh d16b5c8bd8 FE: make error message more precise #KT-49598 Fixed 2021-11-28 11:32:11 +03:00
Mikhail Glukhikh 0290ca07af FE: fix some error messages (filed -> field)
#KT-49600 Fixed
2021-11-28 11:32:10 +03:00
Mikhail Glukhikh 7fe08d5a38 FE: fix some error messages (must have only -> must only have)
#KT-49609 Fixed
2021-11-28 11:32:10 +03:00