Commit Graph

109750 Commits

Author SHA1 Message Date
Timofey Solonin 1a4eaf796d Make resources configuration lenient
This prevents resolution failures if resources configuration ends up
selecting java-api variants

^KT-66393
2024-03-11 09:05:35 +00:00
Timofey Solonin 947d4c57e7 Reproduce resources resolution failure with legacy stdlib in dependencies
Sometimes native variants might depend on java-api dependencies.
Resources configuration doesn't have compatibility rules for these and fails to resolve them.

^KT-66393
2024-03-11 09:05:35 +00:00
Timofey Solonin f813ca1975 Allow js target resources publication
^KT-65540
2024-03-11 09:04:25 +00:00
Timofey Solonin 76814a8bbe Test expected js target resources publication bahavior
^KT-65540
2024-03-11 09:04:25 +00:00
Roman Golyshev b765cf3f99 KT-66411 [AA] Add fake source kind for single expression block around array assignments
A wrapper block was introduced as a part of fixing KT-59748, but was
assigned a real source, which had `getOrBuildFir` confused because
of the incorrectly built `KtToFirMapping`

It is relevant for:
- `if`, `when` expressions with an assignment as a single expression
- Kotlin code fragments,
when the assignment is being analysed as a single expression
in the fragment

^KT-66411 Fixed
2024-03-10 15:35:47 +00:00
Roman Golyshev ec06654a73 KT-66411 [AA] Add test for the getOrBuildFir on array assignment expression as a single when/if branch expression 2024-03-10 15:35:47 +00:00
Roman Golyshev 83a80a45a9 KT-66411 [AA] Add more tests for resolving compound set operators 2024-03-10 15:35:47 +00:00
Igor Yakovlev 324d079111 [WasmJs] Prohibit external classes to be a storage of an associated objects
Fix #KT-65355
2024-03-09 10:40:46 +01:00
Igor Yakovlev 6930fc8fed [WasmJs] Add support for external class reflection
Fix #KT-64890
2024-03-09 10:40:46 +01:00
Alexander.Likhachev e302420197 [BTA tests] Use arbitrary named versions instead of just numbered ones
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev bc85375a1e [BTA tests] Provide an optimized way for making exact log line assertions
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 95b832fa8b [BTA tests] Add createFile overload for versioned source creation
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev d3c3e0faad Update dependency verification metadata 2024-03-09 01:36:22 +00:00
Alexander.Likhachev f319ff2c3c [BTA tests] Improve README.md
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev ea3d5371ef [BTA tests] Add changeFile overload for versioned source modification
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 68cf1bdc57 [BTA tests] Use explicit output assertions instead of implicit ones
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 4facf5ffbc [BTA tests] Move GlobalCompiledProjectsCache to a separate file
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 99e13318dc [BTA tests] Allow passing strategy config once to Project instance
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev f634f9dacf [BTA tests] Get BTA implementation version via the API
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 3f6b5ae86d [BTA tests] Introduce BaseTest providing CompilationService instance
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev cf8e65b3c5 [BTA tests] Specify TestDataPath/TestMetadata test data navigation
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev b970b87667 [BTA tests] Split compatibility tests and business logic test suits
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 8051fa56f2 [BTA tests] Split test infra and actual tests
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev b5fbb3f925 [BTA tests] Introduce shortcut assertion expectFailWithError
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 16a07e82bc [BTA tests] Add KDoc to clarify meaning of some symbols
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 60ccdf0e2c [BTA tests] Add example tests
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 15a24319d5 [BTA tests] Add README.md
Also rename `default` to `snapshot` in the test suit names
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 2347f732db [BTA tests] Rename the compatibility tests annotation
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 2a3cc758cf [BTA tests] Add a way to customize IC options
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 74e5b4d844 [BTA tests] Make the module scenario DSL cache key explicit
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 3466153668 [BTA tests] Cache compiled modules in scenario DSL tests
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 566d9852a3 [BTA tests] Finish project compilation after a test
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev a234e4149b [BTA tests] Add scenario DSL for writing typical IC tests
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 7141b4dcbb [BTA tests] Add base assertions DSL
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev c952d74f7c [BTA tests] Implement basic infrastructure for compilation tests
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 90fee75eba [Build, BTA] Add the Build Tools API tests to the aggregate tasks
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 4afb393ff1 [Build, BTA] Add the build tools api tests module
The module is configured to run a bunch of test suites defined as API pairs. Currently those are `CURRENT API` – `CURRENT IMPL`, `CURRENT API` – `1.9.20 IMPL`, `1.9.20 API` – `CURRENT IMPL`
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev 0196928af7 [BTA] Add debug logging about the used compilation strategy
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Alexander.Likhachev dda6b92c13 [BTA] Fix incorrect default value for IncrementalJvmCompilationConfiguration.outputDirs
^KT-61860 In Progress
2024-03-09 01:36:22 +00:00
Anna Kozlova 943d829fa7 [AA] treat named arguments as write access
^KTIJ-16835 fixed
2024-03-08 22:12:25 +00:00
Pavel Kunyavskiy 1222ef7fac [IrFakeOverrideBuilder] Do not compute signatures in Fir2IR
No one need them, while it requires significant time usage

^KT-66281
^KT-66441 Fixed
2024-03-08 21:36:59 +00:00
Anton Lakotka 5779465366 [Gradle] Don't resolve platform classpath configuration consistently ...
... with metadata dependencies. As it can cause unexpected version
downgrades.

This change restores behavior that existed previous versions. While
the separation between different source set trees remained.

The proper implementation should be done as part of KT-66375.

Related tests that were verifying the fact that platform dependencies
are also resolved consistently is ignored with reference to KT-66375

^KT-66372 Verification Pending
^KT-66154 Verification Pending
^KT-66375
2024-03-08 17:50:09 +00:00
Ilya Goncharov c3a0a41524 [Wasm] Use named imports in test-loader, runUnitTests generating into static dir
KT-65777
2024-03-08 16:30:24 +00:00
Ivan Kylchik c07781326b [K2] Remove performanceManager from CompilationContext 2024-03-08 15:58:33 +00:00
Ivan Kylchik 1eabff337d [K2] Move Generation perf calculation inside generateCodeFromIr
1. We don't need to include `GenerationState` initialization time
2. We don't need to include diagnostic reporting time
2024-03-08 15:58:33 +00:00
Ivan Kylchik fd961452b3 [K2] Move IRTranslation perf calculation inside convertToIr* methods 2024-03-08 15:58:33 +00:00
Ivan Kylchik 8275c92cd4 [K2] Move Analysis perf calculation inside corresponding fronted runner
This way it is easier to understand where `notifyAnalysis*`
methods were called. Also, in K1, we are not including
`checkKotlinPackageUsageFor*` in the analysis time.
2024-03-08 15:58:33 +00:00
Ivan Kylchik cbda22ab48 [K2] Don't include IRTranslation time as total Generation time
Such behavior is more on par with K1.

#KT-65094 Fixed
2024-03-08 15:58:33 +00:00
Dmitrii Gridin de74ca5902 [FIR] FirLocalVariableAssignmentAnalyzer: do not try to propagate empty information
`recordAssignments` merges properties into all parents which is
redundant work in the case of empty `VariableAssignments`.
This redundant work leads to critically poor performance in cases
with many local declarations.

^KT-66416 Fixed
2024-03-08 15:39:17 +00:00
Nikolay Lunyak 405852980d [FIR] Prohibit is-checks and casts for unrelated nullable types
This decision was made after a discussion
in Slack.
2024-03-08 15:37:45 +00:00