- Move backend.native/tests/stdlib_external to runtime/test This mirrors
tests location (in relation to sources) on other backends.
- Remove all backend.native/tests tasks using stdlib_external.
Additionally remove now unused KonanGTest.
- Include complete native-wasm/test and runtime/test in
native/native.test
- In runtime/test/numbers/MathTest.kt leave only native-specific part.
Add `FirDesignationWithScript`, because regular designation
does not account for scripts at all - that makes it
cumbersome to add the script's top level and implicit
receiver scopes when collecting contexts for the
non-top-level declarations (class members, for example)
^KT-61689 Fixed
^KT-61573 Fixed
Review: https://jetbrains.team/p/kt/reviews/11969/timeline
Tests:
- MultiPlatformIntegrationTestGenerated
- CliTestGenerated
- MultiPlatformIntegrationTestGenerated
- DiagnosticTestGenerated.Multiplatform
- FirLightTreeOldFrontendDiagnosticsTestGenerated
Also add -Xexpect-actual-classes flag to all necessary ./libraries/* modules
Otherwise compilation of those modules failes because of `-Werror`
`knownVariables` can't be moved to the outer
function, because it's specific to the current
path: we want to check that the contract
condition is approved along the current path.
For example, in the
`FirPsiDiagnosticTestGenerated.testPropertyGetter`
test when analyzing the function, we want
to check if we can derive the `d1 == Any`
type statement (where `d1` is the receiver).
If we can't, the flow won't contain `d1`
among `knownVariables`
- `getConstructorKeyword` forces an AST load due to a child search. In
most cases, we don't need to check the constructor keyword in primary
constructors at all (e.g. `class ABC()` with an implicit primary
constructor). The keyword check is only needed when there are primary
constructor modifiers (e.g. `class ABC constructor()`).
Thanks to Dima Gridin for the suggested fix.
^KT-61635 fixed
This commit optimizes functions related to method signature mapping on
the JVM backend. The most significant change is avoiding re-allocations
in StringBuilder when building internal names. The commit also includes
minor optimizations, such as removing redundant allocations of strings
and other objects.
- Hide allocator-specific data into Allocator::*::Impl
like with gc and gcScheduler modules.
- These *::Impl are still owned by specific GCs
- Additionally moved "stateless" allocator APIs into Allocator.hpp
Leave only bootstrap range again
This commits reverts da267ba2c8. It looks
like JPS import is possible without additional regular expressions. Also,
origin commit added too wide range of trusted versions.
KTI-1359
`KtReference` might be resolved from anywhere, even
from the write action - the call site might not know
anything about Kotlin, and might not be able to
somehow prevent the `inaccessible analysis session`
exception from being thrown. That's why we
have to be permissive here.
^KTIJ-26867 Fixed