The problem was caused by concurrent access to the non-thread safe List.
This list is not needed anymore, previously it was used to store strong
references to FIR diagnostics corresponding references in KtDiagnostics
were weak references.
^KTIJ-21449 fixed
'kotlin-android' plugins will not try to configure the project, when
any of these two plugins are applied. Usually these plugins are used
to handle Android resources and no compilation is required.
^KT-51898 Fixed
This is somewhat suboptimal since this results in `::suspendInline`
generating 2 classes while `{ suspendInline() }` only creates 1, but
it's the best allowed by the existing hierarchy of classes in stdlib. At
least it works?
^KT-50832 Fixed
Remove manual up-to-date checks that were preventing task
from being retrieved from the build cache. When outputs are
not present, task would always run because of
https://github.com/gradle/gradle/issues/9095.
Test: CommonizerIT
These tests don't work on JVM target 1.6 after 6d664bcd10 because we're
generating `Boolean.compare` which is only available since 1.8. (It is
not a big deal because JVM target 1.6 is prohibited for users now.)
It's incorrect to take the first parameter type from the expression
itself because it can be nullable if smart casts are used. And if it's
nullable, it's mapped to the wrapper type and calling
`comparisonOperandType` for it makes no sense. Instead, take the type
from the callee function, as it's guaranteed to be mapped to a JVM
primitive type.
E.g. in `test1` function in the added test, the problem was that the
dispatch receiver type of the call expression is `Double?`, which is
mapped to `java/lang/Double`, whereas we clearly wanted to obtain the
primitive `D` (double) type.
#KT-52163 Fixed
Node.js support already use 16.13.0.
Probably it's useful to use default version for dogfooding propose,
Likely it's cover small cases, but at least could help to catch some
platform dependent issues.
If we need some specific (likely newer) version of node somewhere
in the project it's better to specify it for specific parts and
consider updating version of node inside gradle support and revert
a change.