Commit Graph

1039 Commits

Author SHA1 Message Date
Ilya Kirillov 4c94e2958e Analysis: add more run configurations 2021-12-27 16:23:22 +03:00
Hung Nguyen a900f2b66d KT-45777: Reorganize unit test data for classpath snapshot feature
to make it easier to add more tests in the next commits.

- Add unit tests for constants and inline functions

Also add tests for different kinds of Kotlin classes: CLASS,
FILE_FACADE, MULTIFILE_CLASS.

-Add unit test for nested classes

Also remove the existing integration test for nested classes to keep the
integration tests focused on the key scenarios while unit tests will
cover the corner cases.

Ignore inline functions that are private
2021-12-24 18:31:49 +03:00
sebastian.sellmair 2e55b82ba3 [MPP] Introduce allModulesProviding(Expects|Actuals)For filters
This new filters will also take care of filtering out descriptors
that are provided by 'regular' dependencies instead of 'dependsOn'
dependencies.

^KT-50120
2021-12-21 21:31:44 +00:00
Vyacheslav Gerasimov f7a9065b75 Build: Use intellij maven repo instead of downloaded IDEA
#KTI-82
2021-12-16 21:48:23 +03:00
Hung Nguyen 586fa8af64 KT-45777: Shrink classpath snapshot incrementally
Currently, we shrink classpath snapshots at 2 steps:
  - Classpath diffing: Shrink the current classpath snapshot against
    the previous lookup symbols
  - Classpath snapshot saving: Shrink the current classpath snapshot
    against the current lookup symbols

With this commit, the shrinking at the second step is now incremental.
The shrinking at the first step is still non-incremental.
2021-12-14 13:10:08 +03:00
sebastian.sellmair 1fb723f844 [Gradle][KPM] Split fragment factories into composable entities
This compasability will ensure that external target authors
(AGP) are able to reuse most of KPM code whilst allowing a lot of
customizability.
2021-12-07 21:38:56 +00:00
Dmitriy Novozhilov 1d32d5c7d8 [FIR] Slightly reorganize directory structure of FIR plugin prototype 2021-12-03 14:17:38 +03:00
Dmitriy Novozhilov dd17e98266 Revert changes in .idea/vcs.xml 2021-12-01 11:49:36 +03:00
Tianyu Geng f1d0791f15 Analysis API: add test for KtDeclaration.getReturnKtType
FE1.0 always return kotlin.Unit as return type for constructors while
FIR returns the constructed class type. I am not sure which is more
desirable. Also, I am not sure how to make FE1.0 behave the same way.
2021-11-30 18:02:33 +01:00
Sergej Jaskiewicz 0e93931e24 Remove .idea/misc.xml 2021-11-30 16:47:51 +00:00
Artem Kobzar 08b0e17d47 feat(polyfills): use stdlib for js polyfills. 2021-11-26 08:14:34 +00:00
Ilya Kirillov 9d6da14847 Add run configurations for running Analysis API Tests 2021-11-22 22:47:01 +01:00
Dmitriy Dolovov f33618330d [Native][tests] Add generating and running blackbox tests to "Generate Compiler Tests" run configuration 2021-11-18 13:29:10 +03:00
Nikolay Krasko b76e670ad5 Allow disabling retry tests with parameters on CI 2021-11-10 02:49:54 +03:00
Dmitriy Novozhilov 0a902c1bef [Build] Remove dist_root artifact from JPS project configuration
This artifact was used to build compiler artifact during each project
  build, which is not needed for running compiler tests. Removal of
  this artifact from build chain reduces time of build for ~3 seconds
  which is a lot for rebuilds after minor changes (which are usually
  take only few seconds)
2021-11-09 20:06:08 +03:00
Hung Nguyen bd7c2ae6d7 KT-45777: Snapshot Java classes using ASM analysis directly
This is faster than the current approach which creates
`JavaClassDescriptor`s, converts them to protos, and then snapshots
these protos.

- Refactor unit tests to faciliate further changes
- moves test data to a directory that matches the tests' package name
- moves expected snapshots to a separate directory
- adds public and private fields/properties to sample class
- Compute changes between ASM-based Java class snapshots
- Don't collect members of an added Java class as changes
as it's enough to report the name of the added Java class as changed (we
also do that for added Kotlin classes and Kotlin/Java removed classes).
- Add unit tests for impact analysis in advance
- Compute impacted symbols of changed symbols
Also do not collect added classes/class members as they don't impact
recompilation.
-Use ClassId when computing Java class changes
It is more precise than JvmClassName, which can be ambiguous around the
`$` character (e.g., ClassId "com/example/A$B.C" and "com/example/A.B$C"
both have the same JvmClassName "com/example/A$B$C").
- Compute impacted set of changed symbols across Kotlin and Java
- Add unit tests for impact analysis across Kotlin and Java
- Compute supertypes of Kotlin classes during snapshotting
- Handle inner classes when computing list of changed symbols.
For the reported symbols, always check all options:
class member, inner class, top level class, top level member.

Test: IncrementalJavaChangeClasspathSnapshotIT.testAddingInnerClass
2021-11-09 13:57:56 +03:00
Artem Kobzar 979e9f94ef feat(Escaped Identifiers): add ability to use any symbol wrapped in back ticks. 2021-10-29 17:55:59 +00:00
Svyatoslav Kuzmich 4fc461a2ff [Wasm] Imporove external interface support
* Support boxing/unboxing when casting to Any
* Support ===, equals, hashCode, toString

* Support adapting String in interop boundary
2021-10-23 01:26:12 +03:00
Yan Zhulanow e2c9be0932 [FIR IDE] Extract common components of the Analysis API to separate modules 2021-10-20 19:41:23 +03:00
Tianyu Geng e3b92fe5f3 FIR IDE: move helper to shorten refs to IDE 2021-10-15 00:43:20 +03:00
Igor Laevsky 14eee7c539 [Wasm] Add kotlin-test-wasm library 2021-10-14 17:24:02 +03:00
Dmitriy Novozhilov 3da2fbf02d [FIR] Add FIR plugin tests to list of all testData directories 2021-10-12 17:26:22 +03:00
Svyatoslav Kuzmich 3bce0cc055 [Wasm] Support coroutines
- Reuse JS IR Suspend function lowering
  - Fix types
  - Disable reinterpretCast-based optimization for inline
    classes
- Add basic support to Wasm stdlib
- Explicitly transform suspend functions into regular functions
  with continuations
- Clean suspend function handling from JS IR codegen
2021-10-12 08:42:01 +03:00
Dmitriy Novozhilov c32ca7b387 [Test] Add parcelize testdata to test helper config 2021-10-07 13:08:46 +03:00
Svyatoslav Kuzmich 80c9dd3440 Update .idea/kotlinc.xml automatically modified by IDE 2021-10-01 17:18:48 +03:00
Sergej Jaskiewicz 43bfe2333c Add Kotlin/JS test data to the Compiler Test Helper config 2021-09-30 10:02:53 +00:00
sebastian.sellmair 29fb74d27d [Gradle] Don't run post-evaluation-checks on projects that failed to configure
When in 'lenient' or 'classpath' mode, Gradle will catch exceptions
during project evaluation and collect them into the
'ClassPathModeExceptionCollector'.

Running checks on the project after evaluation should only happen
if the project is properly configured (aka no such exceptions collected)
to prevent false positive error reports (that will then fail
the Gradle process and swallow the real cause)

^KT-48823 Verification Pending
2021-09-28 12:11:09 +00:00
Tianyu Geng 44e0efc23c FIR: fix run config after Analysis API refactoring 2021-09-22 15:47:13 +02:00
Igor Laevsky 15668e2266 [WASM] Lower Unit to Void in order to mark statements with no result 2021-09-16 20:24:44 +03:00
Denis.Zharkov 69f7c2278d FIR: Simplify resolution for qualifier receiver
Seems there's no need anymore in ClassifierPrioritized group
2021-09-14 19:13:36 +03:00
Dmitriy Novozhilov 6a8f36e313 Add spec testdata to test helper plugin configuration 2021-09-02 13:34:28 +03:00
Dmitriy Novozhilov e766339c81 Add config for compiler test helper plugin
This config stores list of directories with testdata, so test plugin
  helper will work for .kt files in them
2021-09-01 16:14:22 +03:00
Ilya Gorbunov 516c2933ce Run configuration for regenerating builtins sources 2021-08-25 06:22:17 +03:00
Igor Laevsky 0f84525bdc WASM: Implement wasm-native strings part 1
There are several changes here but they all required for at least one test to pass.
- Implemented String class and several utility functions using built-in CharArray
- Added new constant memory segment to hold string literals and required funcs to work with them
- Added very crude mostly incorrect rudimentary ability to pass strings back to javascript
2021-08-04 16:23:28 +03:00
Viacheslav Kormushkin 1654824467 Commonization of CocoaPods libraries
#KT-41631
2021-08-03 12:50:05 +00:00
Alexander Udalov 91c39ed01c Build: remove obsolete compiler arguments
These compiler arguments enable features which are enabled by default in
the current Kotlin anyway.

The only exception is in :compiler:cli which uses an old language
version.
2021-07-27 13:35:38 +02:00
Nikolay Krasko 6a0b71d3e4 Drop old IDEA run configurations 2021-07-21 11:23:56 +02:00
Svyatoslav Kuzmich a468792a19 [Wasm] Support Milestone 3 of V8 Wasm GC
Advance V8 version to 9.2.212

Relevant Wasm GC changes:
https://github.com/WebAssembly/gc/commit/f9f8ffa445c2c0fe4ac284a1d12a8c5477da4457
2021-07-15 10:59:06 +00:00
sebastian.sellmair 09f9a1ce5b [Commonizer] Share Test: Commonizer / Light run configuration
This run configuration can be used to run only light weight/faster tests
2021-07-15 10:04:34 +00:00
Igor Laevsky ce6459d059 WASM: Optimize few cases where spread operator is used on an immediate array 2021-07-02 15:39:30 +03:00
Igor Laevsky d835b3c164 WASM: Implement spread operator 2021-07-02 15:39:29 +03:00
Nikita Bobko 5a6f07402b Fix 'Generate FIR Checker Components and FIR/IDE Diagnostics' run configuration 2021-06-23 14:06:08 +02:00
Nikolay Krasko 965eff66ce Add information about protected branches 2021-06-09 20:05:24 +03:00
Ilya Chernikov ca352c9556 Fix jvm method reading when descriptor and signature do not match
#KT-38325 fixed
2021-04-12 16:23:53 +03:00
sebastian.sellmair 50d0439af3 [Minor] Share 'Test: Commonizer' run configuration 2021-04-09 23:36:00 +02:00
sebastian.sellmair 2bb0dbaf38 [Gradle] Implement CommonizerHierarchicalIT integration test 2021-04-09 23:36:00 +02:00
Elena Lepilkina 510e38b791 [K/N][performance] Adopted performance service to work with new configurations and build numbers 2021-03-29 17:10:18 +00:00
Dmitriy Novozhilov 21b1d97b30 Add predefined run configuration for FIR tree generation 2021-03-24 12:56:13 +03:00
sebastian.sellmair 4e07dcf2d8 Minor: Add dictionaries/sebastiansellmair.xml 2021-03-16 15:47:17 +00:00
Dmitriy Novozhilov a7c08345b4 Extract Generate Compiler Tests run configuration back to top level 2021-03-15 12:13:04 +03:00