[FIR-TEST] Add new testdata generated after changes in previous commit
This commit is contained in:
Vendored
+20
@@ -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) { }
|
||||
}
|
||||
+31
@@ -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; }
|
||||
}
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
// FILE: KotlinFile.kt
|
||||
import java.io.File
|
||||
|
||||
fun foo(file: File) {
|
||||
file.absolutePath.length
|
||||
}
|
||||
+48
@@ -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) { }
|
||||
}
|
||||
+21
@@ -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; }
|
||||
}
|
||||
+26
@@ -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) { }
|
||||
}
|
||||
+19
@@ -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);
|
||||
}
|
||||
+10
@@ -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) { }
|
||||
}
|
||||
+10
@@ -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; }
|
||||
}
|
||||
+20
@@ -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; }
|
||||
}
|
||||
Vendored
+14
@@ -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; }
|
||||
}
|
||||
Vendored
+12
@@ -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; }
|
||||
}
|
||||
+37
@@ -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;
|
||||
}
|
||||
}
|
||||
Vendored
+29
@@ -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();
|
||||
}
|
||||
Vendored
+52
@@ -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);
|
||||
}
|
||||
Vendored
+25
@@ -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);
|
||||
}
|
||||
Vendored
+25
@@ -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);
|
||||
}
|
||||
Vendored
+28
@@ -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 {}
|
||||
Vendored
+29
@@ -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 {}
|
||||
+22
@@ -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;
|
||||
}
|
||||
}
|
||||
+22
@@ -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) {}
|
||||
}
|
||||
Vendored
+22
@@ -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 ""; }
|
||||
}
|
||||
Vendored
+16
@@ -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) {}
|
||||
}
|
||||
+9
@@ -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) { }
|
||||
}
|
||||
+28
@@ -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();
|
||||
}
|
||||
+23
@@ -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();
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// FILE: KotlinFile.kt
|
||||
|
||||
fun bar() = JavaClass::foo
|
||||
|
||||
// FILE: JavaClass.java
|
||||
|
||||
public class JavaClass {
|
||||
public String getFoo() {}
|
||||
}
|
||||
Vendored
+13
@@ -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; }
|
||||
}
|
||||
Vendored
+16
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user