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
Nikolay Lunyak
a4c33ee785
[FIR] Reuse shouldReportAsPerRules1() in FirCastOperatorsChecker
...
This change better aligns the checker with
the description in KT-57779.
^KT-57779
2024-03-08 15:37:45 +00:00
Nikolay Lunyak
4c0ec0fae4
[FIR] Remove redundant checks from isUpcast() and isExactTypeCast()
...
`T.() -> R` and `(T) -> R` should only be
different for resolution, but casts are only
about typechecking. Values of either of
these types can always be put into variables
of the other type.
2024-03-08 15:37:45 +00:00
Nikolay Lunyak
fbdf7e33bd
[FIR] Ensure KT-50293 is no longer a problem
...
PCLA-related changes led to this change in
behavior. In K1 an explicit cast was needed
to prevent ORA, but now in K2 this code
is green without casts.
^KT-50293 Obsolete
2024-03-08 15:37:45 +00:00
Nikolay Lunyak
a5423032a3
[FIR] Remove an always false condition from replaceType()
...
Otherwise, bootstrapping fails.
This condition is `false` because of
`require(this is ConeKotlinTypeProjection)`,
since `ConeKotlinTypeProjection` is its
sibling, not a subtype.
2024-03-08 15:37:45 +00:00
Nikolay Lunyak
4cdddb1b08
[FIR] Unify checks for is and as
2024-03-08 15:37:44 +00:00
Nikolay Lunyak
88ff93df7f
[FIR] Check is for impossibility
...
^KT-58203 Fixed
^KT-62646
2024-03-08 15:37:44 +00:00
Nikolay Lunyak
92d8da621e
[FIR] Merge the two type operator checkers into a single one
...
This way it's easier to reason about where
useless casts/is checks come from, because
everything is on the same screen.
`USELESS_CAST` disappeared from
`FirPsiJsOldFrontendDiagnosticsTestGenerated.testDynamicCastTarget`
because
`LanguageFeature.EnableDfaWarningsInK2`
is disabled, and previously it only
affected `FirCastOperatorsChecker`, but
not `FirUselessTypeOperationCallChecker`,
which felt like an unintended mistake.
A related issue: KT-50965
2024-03-08 15:37:44 +00:00