^KT-55398 Fixed
Add nested variable's ReifiedTypeParametersUsages into closureReifiedMarkers for MethodInliner to generate nested inline anonymous class
[Gradle, JS] Remove redundant dependsOn
[Gradle, JS] Private metrics
[Gradle, JS] Fix test with run webpack on windows
[Gradle, JS] Fix detecting of input files instead of const folder kotlin
[Gradle, JS] Change up-to-date annotations in webpack task
[Gradle, JS] Add test on webpack considering changes in dependencies in up-to-date checks
[Gradle, JS] Add test on buid cache of Webpack task
[Gradle, JS] webpack config appliers are nested inputs
[Gradle, JS] Webpack task is cacheable with relative pathes
^KT-55476 fixed
ensure fir annotations are included in FirDanglingModifierList and resolved,
dedicated DanglingTopLevelModifierListStructureElement exists for top
level lists only, class level lists are processed by containing structure
element
Test framework assumes that there won't be any files with same names
in one test. But there were cases when test declared test file
with same name as one of files with helpers (e.g. `functions.kt`)
1. There was an incorrect filtration of failures if FIR_DISABLE_LAZY_RESOLVE_CHECKS
directive was present
2. `FirDumpHandler` potentially can call lazy resolution in presence of
compiler plugins, so we should call `startResolvingPhase`/`finishResolvingPhase`
in it before traversing the tree
Add a wrapper around cinterop invocation that tracks exceptions.
Wrapper has a set of handlers. Each handler checks exception for some
pattern and if it matches, throws another exception with a more
user-friendly message.
The first such case is compilation error due to missing -fmodules flag.
k1 would suggest `get` as well
but with current fir structure with fake desugaring
get is moved to the separate fake psi which doesn't exist
thus the problem is ignored for now
^ KTIJ-24025
TypeRegistry is the static map which contains mapping between type of
session component and its index in the session array. Originally
`KClass` of a component was used as a key in this map, which worked
pretty well for compiler components. But there was a problem with
components from plugins and Kotlin daemon: in compilation with daemon
we keep TypeRegistry between compilations. But for each compilation
we load plugins from jar, which brings to the situation when after N
compilations there is N entries in TypeRegistry map with different
KClass'es for same extension component. This not only causes AIOBE
but also introduces the memory leak, because we keep reference to
KClass which is not used anymore
So to fix this issue it's enough to just store FQN of component in
TypeRegistry instead of KClass
There are no tests in this commit, but they will be added in next
commit relevant to scripting. With those commits we will have gradle
integration tests which uses Kotlin compiler daemon and registers
a compiler plugin for scripting
^KT-55023 Fixed