[FIR-TEST] Add new testdata generated after changes in previous commit

This commit is contained in:
Dmitriy Novozhilov
2019-12-11 16:16:22 +03:00
parent e9c02a1cca
commit 2536fa0cd5
4578 changed files with 104067 additions and 1 deletions
@@ -0,0 +1,20 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.url = javaClass.url + "/"
javaClass.<!VARIABLE_EXPECTED!>htmlFile<!> += "1"
javaClass.<!UNRESOLVED_REFERENCE!>URL<!>
javaClass.<!UNRESOLVED_REFERENCE!>uRL<!>
javaClass.<!UNRESOLVED_REFERENCE!>HTMLFile<!>
javaClass.<!UNRESOLVED_REFERENCE!>hTMLFile<!>
javaClass.<!UNRESOLVED_REFERENCE!>htmlfile<!>
}
// FILE: JavaClass.java
public class JavaClass {
public String getURL() { return true; }
public void setURL(String value) { }
public String getHTMLFile() { return true; }
public void setHTMLFile(String value) { }
}
@@ -0,0 +1,31 @@
// FILE: KotlinFile.kt
open class KotlinClass1 : JavaClass1() {
public fun getSomethingKotlin1(): Int = 1
}
class KotlinClass2 : JavaClass2() {
public fun getSomethingKotlin2(): Int = 1
}
fun foo(k: KotlinClass2) {
useInt(k.getSomething1())
useInt(k.something1)
useInt(k.getSomething2())
useInt(k.something2)
useInt(k.getSomethingKotlin1())
useInt(k.getSomethingKotlin2())
k.somethingKotlin1
k.somethingKotlin2
}
fun useInt(i: Int) {}
// FILE: JavaClass1.java
public class JavaClass1 {
public int getSomething1() { return 1; }
}
// FILE: JavaClass2.java
public class JavaClass2 extends KotlinClass1 {
public int getSomething2() { return 1; }
}
@@ -0,0 +1,6 @@
// FILE: KotlinFile.kt
import java.io.File
fun foo(file: File) {
file.absolutePath.length
}
@@ -0,0 +1,48 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.something1
javaClass.something2
javaClass.something2 = 1
javaClass.something2++
javaClass.something3
javaClass.something3 = 1
javaClass.something3++
javaClass.something4
javaClass.something4 = 1
javaClass.something4++
javaClass.something5
javaClass.something5 = 1
javaClass.something5++
}
// FILE: JavaClass.java
public class JavaClass {
@Deprecated
public int getSomething1() { return 1; }
@Deprecated
public int getSomething2() { return 1; }
public void setSomething2(int value) { }
public int getSomething3() { return 1; }
@Deprecated
public void setSomething3(int value) { }
@Deprecated
public int getSomething4() { return 1; }
@Deprecated
public void setSomething4(int value) { }
/**
* @deprecated Bla-bla-bla
*/
public int getSomething5() { return 1; }
/**
* @deprecated Ha-ha-ha
*/
public void setSomething5(int value) { }
}
@@ -0,0 +1,21 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.<!UNRESOLVED_REFERENCE!>something1<!>
javaClass.<!UNRESOLVED_REFERENCE!>something2<!>
javaClass.somethingStatic
javaClass.somethingVoid
javaClass.<!UNRESOLVED_REFERENCE!>ter<!>
}
// FILE: JavaClass.java
public class JavaClass {
public int getSomething1(int p) { return p; }
public <T> T getSomething2() { return null; }
public static int getSomethingStatic() { return 1; }
public void getSomethingVoid() { }
public int getter() { return 1; }
}
@@ -0,0 +1,26 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.something1++
javaClass.something2++
javaClass.something3++
javaClass.something4++
javaClass.something5 = null
}
// FILE: JavaClass.java
public class JavaClass {
public int getSomething1() { return 1; }
public void setSomething1(int value, char c) { }
public int getSomething2() { return 1; }
public void setSomething2(String value) { }
public int getSomething3() { return 1; }
public <T> void setSomething3(int value) { return value; }
public int getSomething4() { return 1; }
public static void setSomething4(int value) { }
public int[] getSomething5() { return null; }
public void setSomething5(int... value) { }
}
@@ -0,0 +1,19 @@
// FILE: KotlinFile.kt
interface C : A, B
fun foo(c: C) {
c.setSomething(c.getSomething() + 1)
c.something++
}
// FILE: A.java
public interface A {
int getSomething();
}
// FILE: B.java
public interface B {
int getSomething();
void setSomething(int value);
}
@@ -0,0 +1,10 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass<String>) {
javaClass.<!VARIABLE_EXPECTED!>something<!> += "x"
}
// FILE: JavaClass.java
public class JavaClass<T> {
public T getSomething() { return null; }
public void setSomething(T value) { }
}
@@ -0,0 +1,10 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.a
javaClass.<!UNRESOLVED_REFERENCE!>A<!>
}
// FILE: JavaClass.java
public class JavaClass {
public int getA() { return 1; }
}
@@ -0,0 +1,20 @@
// FILE: KotlinFile.kt
class KotlinClass {
public fun getSomething(): Int = 1
}
fun foo(javaClass: JavaClass, kotlinClass: KotlinClass) {
useInt(javaClass.getSomething())
useInt(javaClass.something)
javaClass.something = 1
javaClass.<!UNRESOLVED_REFERENCE!>Something<!>
useInt(kotlinClass.getSomething())
kotlinClass.something
}
fun useInt(i: Int) {}
// FILE: JavaClass.java
public class JavaClass {
public int getSomething() { return 1; }
}
@@ -0,0 +1,14 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.something1++
javaClass.something2++
}
// FILE: JavaClass.java
public class JavaClass {
public int getSomething1() { return 1; }
public void setSomething1(int value) { }
public int getSomething2() { return 1; }
public JavaClass setSomething2(int value) { return this; }
}
@@ -0,0 +1,12 @@
// FILE: KotlinFile.kt
fun JavaClass.foo() {
useInt(getSomething())
useInt(something)
}
fun useInt(i: Int) {}
// FILE: JavaClass.java
public class JavaClass {
public int getSomething() { return 1; }
}
@@ -0,0 +1,37 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.isSomething = !javaClass.isSomething
javaClass.isSomething2 = !javaClass.isSomething2
javaClass.<!UNRESOLVED_REFERENCE!>something<!>
javaClass.isSomethingWrong
javaClass.<!UNRESOLVED_REFERENCE!>somethingWrong<!>
javaClass.<!UNRESOLVED_REFERENCE!>issueFlag<!>
javaClass.<!UNRESOLVED_REFERENCE!>isSueFlag<!>
}
// FILE: JavaClass.java
public class JavaClass {
public boolean isSomething() {
return true;
}
public void setSomething(boolean value) {
}
public boolean getIsSomething2() {
return true;
}
public void setIsSomething2(boolean value) {
}
public int isSomethingWrong() {
return 1;
}
public boolean issueFlag() {
return true;
}
}
@@ -0,0 +1,29 @@
// FILE: KotlinFile.kt
open class KotlinClass {
public open fun getSomething1(): Int = 1
public open fun setSomething2(value: Int) {}
}
fun foo(javaClass: JavaClass) {
useInt(javaClass.getSomething1())
useInt(javaClass.something1)
javaClass.setSomething2(javaClass.getSomething2() + 1)
javaClass.something2 = javaClass.something2 + 1
}
fun useInt(i: Int) {}
// FILE: JavaClass.java
public class JavaClass extends KotlinClass implements JavaInterface {
public int getSomething1() { return 1; }
public int getSomething2() { return 1; }
public void setSomething2(int value) {}
}
// FILE: JavaInterface.java
public class JavaInterface {
int getSomething2();
}
@@ -0,0 +1,52 @@
// FILE: KotlinFile.kt
abstract class KotlinClass : JavaClass(), KotlinInterface, JavaInterface {
override fun getSomething1(): Int = 1
override fun getSomething3(): String = ""
override fun setSomething4(value: String) {}
override fun getSomething5(): String = ""
}
interface KotlinInterface {
public fun getSomething1(): Int
public fun getSomething4(): String
}
fun foo(k: KotlinClass) {
useInt(k.getSomething1())
useInt(k.something1)
useInt(k.getSomething2())
useInt(k.something2)
useString(k.getSomething3())
useString(k.something3)
k.setSomething4("")
k.<!VARIABLE_EXPECTED!>something4<!> += ""
k.setSomething4(null)
k.something4 = null
useString(k.getSomething5())
useString(k.something5)
k.setSomething5(1)
k.something5 = 1
}
fun useInt(i: Int) {}
fun useString(i: String) {}
// FILE: JavaClass.java
public class JavaClass {
public int getSomething1() { return 1; }
public int getSomething2() { return 1; }
public Object getSomething3() { return null; }
}
// FILE: JavaInterface.java
public interface JavaInterface {
String getSomething4();
void setSomething4(String value);
Object getSomething5();
void setSomething5(Object value);
}
@@ -0,0 +1,25 @@
// FILE: KotlinFile.kt
abstract class KotlinClass : JavaInterface1, JavaInterface2 {
override fun getSomething(): String = ""
}
fun foo(k: KotlinClass) {
useString(k.getSomething())
useString(k.something)
if (k.something == null) return
k.setSomething(1)
k.something = 1
}
fun useString(i: String) {}
// FILE: JavaInterface1.java
public interface JavaInterface1 {
String getSomething();
}
// FILE: JavaInterface2.java
public interface JavaInterface2 {
void setSomething(int value);
}
@@ -0,0 +1,25 @@
// FILE: KotlinFile.kt
abstract class KotlinClass : JavaInterface1, JavaInterface2 {
override fun getSomething(): String = ""
}
fun foo(k: KotlinClass) {
useString(k.getSomething())
useString(k.something)
if (k.something == null) return
k.setSomething("")
k.something = ""
}
fun useString(i: String) {}
// FILE: JavaInterface1.java
public interface JavaInterface1 {
String getSomething();
}
// FILE: JavaInterface2.java
public interface JavaInterface2 {
void setSomething(String value);
}
@@ -0,0 +1,28 @@
// FILE: KotlinFile.kt
abstract class KotlinClass : JavaInterface3 {
override fun getSomething(): String = ""
}
fun foo(k: KotlinClass) {
useString(k.getSomething())
useString(k.something)
if (k.something == null) return
k.setSomething("")
k.something = ""
}
fun useString(i: String) {}
// FILE: JavaInterface1.java
public interface JavaInterface1 {
String getSomething();
}
// FILE: JavaInterface2.java
public interface JavaInterface2 {
void setSomething(String value);
}
// FILE: JavaInterface3.java
public interface JavaInterface3 extends JavaInterface1, JavaInterface2 {}
@@ -0,0 +1,29 @@
// FILE: KotlinFile.kt
abstract class KotlinClass : JavaInterface3 {
override fun getSomething(): String = ""
}
fun foo(k: KotlinClass) {
useString(k.getSomething())
useString(k.something)
if (k.something == null) return
k.setSomething("")
k.something = ""
}
fun useString(i: String) {}
// FILE: JavaInterface1.java
public interface JavaInterface1 {
String getSomething();
}
// FILE: JavaInterface2.java
public interface JavaInterface2 {
String getSomething();
void setSomething(String value);
}
// FILE: JavaInterface3.java
public interface JavaInterface3 extends JavaInterface1, JavaInterface2 {}
@@ -0,0 +1,22 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.КакоеТоСвойство = javaClass.КакоеТоСвойство + 1
javaClass.<!UNRESOLVED_REFERENCE!>какоеТоСвойство<!>
javaClass.КУ
javaClass.<!UNRESOLVED_REFERENCE!>ку<!>
}
// FILE: JavaClass.java
public class JavaClass {
public int getКакоеТоСвойство() {
return 0;
}
public void setКакоеТоСвойство(int value) {
}
public int getКУ() {
return 0;
}
}
@@ -0,0 +1,22 @@
// FILE: KotlinFile.kt
package k
import JavaClass
fun foo(javaClass: JavaClass) {
javaClass.somethingPublic
javaClass.<!INAPPLICABLE_CANDIDATE!>somethingProtected<!>
javaClass.<!INAPPLICABLE_CANDIDATE!>somethingPrivate<!>
javaClass.<!INAPPLICABLE_CANDIDATE!>somethingPackage<!>
javaClass.somethingPublic = 1
}
// FILE: JavaClass.java
public class JavaClass {
public int getSomethingPublic() { return 1; }
protected int getSomethingProtected() { return 1; }
private int getSomethingPrivate() { return 1; }
int getSomethingPackage() { return 1; }
protected void setSomethingPublic(int value) {}
}
@@ -0,0 +1,22 @@
// FILE: KotlinFile.kt
fun foo(o: JavaClass2) {
useString(o.something)
o.something = ""
o.setSomething(1)
o.something = 1 // we generate extension property for JavaClass2 with more specific type
o.<!VARIABLE_EXPECTED!>something<!> += "1"
}
fun useString(i: String) {}
// FILE: JavaClass1.java
public class JavaClass1 {
public Object getSomething() { return null; }
public void setSomething(Object value) { }
}
// FILE: JavaClass2.java
public class JavaClass2 extends JavaClass1 {
public String getSomething() { return ""; }
}
@@ -0,0 +1,16 @@
// FILE: KotlinFile.kt
package k
import JavaClass
fun foo(javaClass: JavaClass) {
val v = javaClass.<!INAPPLICABLE_CANDIDATE!>something<!>
javaClass.<!INAPPLICABLE_CANDIDATE!>something<!> = 1
javaClass.<!INAPPLICABLE_CANDIDATE, INAPPLICABLE_CANDIDATE!>something<!><!UNRESOLVED_REFERENCE!>++<!>
}
// FILE: JavaClass.java
public class JavaClass {
protected int getSomething() { return 1; }
public void setSomething(int value) {}
}
@@ -0,0 +1,9 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.<!UNRESOLVED_REFERENCE!>something<!> = 1
}
// FILE: JavaClass.java
public class JavaClass {
public void setSomething(int value) { }
}
@@ -0,0 +1,28 @@
// FILE: KotlinFile.kt
fun foo(o: JavaInterface2): Int {
if (o is JavaClass) {
o.something++
return o.x + o.something2
}
return 0
}
// FILE: JavaClass.java
public abstract class JavaClass extends BaseClass implements JavaInterface {
public int getSomething() { return 1; }
public void setSomething(int value) { }
}
// FILE: BaseClass.java
public abstract class BaseClass implements JavaInterface {
}
// FILE: JavaInterface.java
public interface JavaInterface {
int getX();
}
// FILE: JavaInterface2.java
public interface JavaInterface2 {
int getSomething2();
}
@@ -0,0 +1,23 @@
// FILE: KotlinFile.kt
fun Any.foo(): Int {
if (this is JavaClass) {
something++
return x
}
return 0
}
// FILE: JavaClass.java
public abstract class JavaClass extends BaseClass implements JavaInterface {
public int getSomething() { return 1; }
public void setSomething(int value) { }
}
// FILE: BaseClass.java
public abstract class BaseClass implements JavaInterface {
}
// FILE: JavaInterface.java
public interface JavaInterface {
int getX();
}
@@ -0,0 +1,9 @@
// FILE: KotlinFile.kt
fun bar() = JavaClass::foo
// FILE: JavaClass.java
public class JavaClass {
public String getFoo() {}
}
@@ -0,0 +1,13 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.getSomething().<!INAPPLICABLE_CANDIDATE!>length<!>
javaClass.something.<!INAPPLICABLE_CANDIDATE!>length<!>
}
// FILE: JavaClass.java
import org.jetbrains.annotations.*;
public class JavaClass {
@Nullable
public String getSomething() { return null; }
}
@@ -0,0 +1,16 @@
// FILE: KotlinFile.kt
fun <T: B> foo(t: T) {
t.setSomething(t.getSomething() + 1)
t.something++
}
// FILE: A.java
public interface A {
int getSomething();
}
// FILE: B.java
public interface B extends A {
void setSomething(int value);
}