The source is set on the alternative block but not the XXXAssign call.
BTW, the real source is incorrect shared among the FirAugmentedArraySetCall,
FirBlock, so this change uses a fake source for the FirBlock and the
FirFunctionCall. Using fake source does not seem to be necessary for
compilable code because in that case FirAugmentedArraySetCall is
transformed to either a FirBlock or a FirFunctionCall. But it's needed
for ambiguous code where such transformation fails. In this case, all
three FirElements are present and they should not share the same real
source.
In addition, this change also sets a fake source for the `get` call of
the array access to the left hand side of the operator. For example,
`m[a] += 1` where `m` is some custom map implementation that does not
return `null` from `get`. The (fake) source of the synthetic `get` call
in FIR is now `m[a]`. This is handy because the analysis API will
resolve `m[a]` to the `get` call.
Currently platform method implementations loaded are limited by the
java.specification.version system property value, however that property
always returns 0.9 in Android.
The test checks that new packages are not accidentally non-exported,
so each new stdlib package must be either exported or specified in that
test's expected non-exported package list.
These flags are now set by default and hence no longer do any effect:
* kotlin.mpp.enableGranularSourceSetsMetadata=true
* kotlin.native.enableDependencyPropagation=false
* kotlin.mpp.enableHierarchicalCommonization=true
When HMPP project depends on non-mpp (ex. java) gradle project
Resolving *MetadataDependencies configurations should not fail due to
lack of Gradle's Kotlin MPP Extension.
Simply return null when no such extension found in non-mpp project.
Make AtomicReference behave like FreezableAtomicReference with the new MM: not frozen by default, don't require freezing value unless the ref itself is frozen. The behaviour with the old MM is unchanged.
Merge-request: KT-MR-5155
Most of those tests are ignored, because IC is not supported properly
for compiler plugins. This commit is needed to prepare infrastructure,
fix current behaviour and collect main problems of IC with plugins
Check fail.txt files in new testdata for explanation of problems
If fail.txt is present in root directory of test then exception from
test will be muted. If there were no exceptions and fail.txt exists
then test fail with suggestion to remove fail.txt
Content of fail.txt does not matter, so it can be used to store
information about why this test doesn't pass