Fix type argument inconsistency in FirResolvedQualifier

This commit is contained in:
Mikhail Glukhikh
2020-12-07 17:22:14 +03:00
committed by TeamCityServer
parent d6e144c80e
commit 42ea4463ee
4 changed files with 21 additions and 1 deletions
@@ -0,0 +1,12 @@
// Extracted from ReflectKotlinClass.kt
private val TYPES_ELIGIBLE_FOR_SIMPLE_VISIT = setOf<Class<*>>(
// Primitives
java.lang.Integer::class.java, java.lang.Character::class.java, java.lang.Byte::class.java, java.lang.Long::class.java,
java.lang.Short::class.java, java.lang.Boolean::class.java, java.lang.Double::class.java, java.lang.Float::class.java,
// Arrays of primitives
IntArray::class.java, CharArray::class.java, ByteArray::class.java, LongArray::class.java,
ShortArray::class.java, BooleanArray::class.java, DoubleArray::class.java, FloatArray::class.java,
// Others
Class::class.java, String::class.java
)
@@ -0,0 +1,3 @@
FILE: TypesEligibleForSimpleVisit.kt
private final val TYPES_ELIGIBLE_FOR_SIMPLE_VISIT: R|kotlin/collections/Set<java/lang/Class<*>>| = R|kotlin/collections/setOf|<R|java/lang/Class<*>|>(vararg(<getClass>(Q|java/lang/Integer|).R|kotlin/jvm/java|<R|java/lang/Integer|>, <getClass>(Q|java/lang/Character|).R|kotlin/jvm/java|<R|java/lang/Character|>, <getClass>(Q|java/lang/Byte|).R|kotlin/jvm/java|<R|java/lang/Byte|>, <getClass>(Q|java/lang/Long|).R|kotlin/jvm/java|<R|java/lang/Long|>, <getClass>(Q|java/lang/Short|).R|kotlin/jvm/java|<R|java/lang/Short|>, <getClass>(Q|java/lang/Boolean|).R|kotlin/jvm/java|<R|java/lang/Boolean|>, <getClass>(Q|java/lang/Double|).R|kotlin/jvm/java|<R|java/lang/Double|>, <getClass>(Q|java/lang/Float|).R|kotlin/jvm/java|<R|java/lang/Float|>, <getClass>(Q|kotlin/IntArray|).R|kotlin/jvm/java|<R|kotlin/IntArray|>, <getClass>(Q|kotlin/CharArray|).R|kotlin/jvm/java|<R|kotlin/CharArray|>, <getClass>(Q|kotlin/ByteArray|).R|kotlin/jvm/java|<R|kotlin/ByteArray|>, <getClass>(Q|kotlin/LongArray|).R|kotlin/jvm/java|<R|kotlin/LongArray|>, <getClass>(Q|kotlin/ShortArray|).R|kotlin/jvm/java|<R|kotlin/ShortArray|>, <getClass>(Q|kotlin/BooleanArray|).R|kotlin/jvm/java|<R|kotlin/BooleanArray|>, <getClass>(Q|kotlin/DoubleArray|).R|kotlin/jvm/java|<R|kotlin/DoubleArray|>, <getClass>(Q|kotlin/FloatArray|).R|kotlin/jvm/java|<R|kotlin/FloatArray|>, <getClass>(Q|java/lang/Class|).R|kotlin/jvm/java|<R|java/lang/Class<*>|>, <getClass>(Q|kotlin/String|).R|kotlin/jvm/java|<R|kotlin/String|>))
private get(): R|kotlin/collections/Set<java/lang/Class<*>>|
@@ -1239,6 +1239,11 @@ public class FirDiagnosticsWithStdlibTestGenerated extends AbstractFirDiagnostic
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/receiverResolutionInLambda.kt");
}
@TestMetadata("TypesEligibleForSimpleVisit.kt")
public void testTypesEligibleForSimpleVisit() throws Exception {
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/TypesEligibleForSimpleVisit.kt");
}
@TestMetadata("weakHashMap.kt")
public void testWeakHashMap() throws Exception {
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/weakHashMap.kt");
@@ -48,7 +48,7 @@ class FirQualifiedNameResolver(private val components: BodyResolveComponents) {
if (callee.name.isSpecial) {
qualifierStack.clear()
} else {
qualifierStack.add(NameWithTypeArguments(callee.name, typeArguments))
qualifierStack.add(NameWithTypeArguments(callee.name, typeArguments.toList()))
}
}