FIR: add new problematic tests
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
// FILE: JavaClass.java
|
||||
|
||||
public class JavaClass {
|
||||
protected String field;
|
||||
|
||||
public String getField() {
|
||||
return field;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun test(jc: JavaClass) {
|
||||
jc.field
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
FILE: test.kt
|
||||
public final fun test(jc: R|JavaClass|): R|kotlin/Unit| {
|
||||
R|<local>/jc|.<Ambiguity: field, [/JavaClass.field, /JavaClass.field]>#
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// FILE: JavaClass.java
|
||||
|
||||
public class JavaClass<T> {
|
||||
protected final T myHost;
|
||||
}
|
||||
|
||||
// FILE: Derived.kt
|
||||
|
||||
public class Derived : JavaClass<String>() {
|
||||
fun test() {
|
||||
myHost.length
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
FILE: Derived.kt
|
||||
public final class Derived : R|JavaClass<kotlin/String>| {
|
||||
public constructor(): R|Derived| {
|
||||
super<R|JavaClass<kotlin/String>|>()
|
||||
}
|
||||
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
this@R|/JavaClass|.R|/JavaClass.myHost|.<Unresolved name: length>#
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
// FULL_JDK
|
||||
// FILE: Logger.java
|
||||
|
||||
public class Logger {
|
||||
private static Logger me = new Logger();
|
||||
|
||||
public static Logger getInstance(String s) {
|
||||
return me;
|
||||
}
|
||||
|
||||
public static Logger getInstance(Class c) {
|
||||
return me;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun test() {
|
||||
val logger = Logger.getInstance("test")
|
||||
}
|
||||
|
||||
class MyTest {
|
||||
private val klass = this::class.java
|
||||
|
||||
private val logger = Logger.getInstance(klass)
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
FILE: test.kt
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
lval logger: R|ft<Logger, Logger?>!| = Q|Logger|.R|/Logger.getInstance|(String(test))
|
||||
}
|
||||
public final class MyTest : R|kotlin/Any| {
|
||||
public constructor(): R|MyTest| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
private final val klass: R|java/lang/Class<MyTest>| = <getClass>(this@R|/MyTest|).R|kotlin/jvm/java|
|
||||
private get(): R|java/lang/Class<MyTest>|
|
||||
|
||||
private final val logger: <ERROR TYPE REF: Inapplicable(INAPPLICABLE): [/Logger.getInstance, /Logger.getInstance]> = Q|Logger|.<Inapplicable(INAPPLICABLE): [/Logger.getInstance, /Logger.getInstance]>#(this@R|/MyTest|.R|/MyTest.klass|)
|
||||
private get(): <ERROR TYPE REF: Inapplicable(INAPPLICABLE): [/Logger.getInstance, /Logger.getInstance]>
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// FILE: JavaClass.java
|
||||
|
||||
public class JavaClass {
|
||||
public static void foo(ArrayList list) {}
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
class Some
|
||||
|
||||
fun test(list: ArrayList<Some>) {
|
||||
JavaClass.foo(list)
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
FILE: test.kt
|
||||
public final class Some : R|kotlin/Any| {
|
||||
public constructor(): R|Some| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
public final fun test(list: R|kotlin/collections/ArrayList<Some>|): R|kotlin/Unit| {
|
||||
Q|JavaClass|.R|/JavaClass.foo|(R|<local>/list|)
|
||||
}
|
||||
+20
@@ -236,6 +236,16 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/complexFlexibleInference.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("FieldAndGetter.kt")
|
||||
public void testFieldAndGetter() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/FieldAndGetter.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("FieldSubstitution.kt")
|
||||
public void testFieldSubstitution() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/FieldSubstitution.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("FunctionTypeInJava.kt")
|
||||
public void testFunctionTypeInJava() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/FunctionTypeInJava.kt");
|
||||
@@ -276,6 +286,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameterGeneric.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("LoggerInstance.kt")
|
||||
public void testLoggerInstance() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("MyException.kt")
|
||||
public void testMyException() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/MyException.kt");
|
||||
@@ -295,6 +310,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest {
|
||||
public void testOuterInnerClasses() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/outerInnerClasses.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("RawType.kt")
|
||||
public void testRawType() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/diagnostics/j+k/RawType.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/fir/resolve/testData/diagnostics/samConstructors")
|
||||
|
||||
Reference in New Issue
Block a user