Fork of the Fernflower decompiler
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fernflower/testData/classes/pkg/PrivateClasses.java

205 lines
3.8 KiB

package pkg;
class PrivateClasses {
private interface Callable<T> {
T call();
}
private static final Runnable R1 = new Runnable() {
@Override
public void run() {
String s = "";
class NonCapturingLocalR1 {
private final String s;
public NonCapturingLocalR1(String s) {
this.s = s;
}
@Override
public String toString() {
return this.s;
}
}
class CapturingLocalR1 {
private final int i;
public CapturingLocalR1(int i) {
this.i = i;
}
@Override
public String toString() {
return s + ":" + i;
}
}
new NonCapturingLocalR1(s).toString();
new CapturingLocalR1(42).toString();
Callable<String> c1 = new Callable<String>() {
@Override
public String call() {
return null;
}
};
Callable<String> c2 = new Callable<String>() {
@Override
public String call() {
return s;
}
};
(c1.call() + c2.call()).length();
}
};
private final Runnable R2 = new Runnable() {
@Override
public void run() {
String s = "";
class NonCapturingLocalR2 {
private final String s;
public NonCapturingLocalR2(String s) {
this.s = s;
}
@Override
public String toString() {
return this.s;
}
}
class CapturingLocalR1 {
private final int i;
public CapturingLocalR1(int i) {
this.i = i;
}
@Override
public String toString() {
return s + ":" + i;
}
}
new NonCapturingLocalR2(s).toString();
new CapturingLocalR1(42).toString();
Callable<String> c1 = new Callable<String>() {
@Override
public String call() {
return null;
}
};
Callable<String> c2 = new Callable<String>() {
@Override
public String call() {
return s;
}
};
(c1.call() + c2.call()).length();
}
};
public static void m1(String s) {
class NonCapturingLocalM1 {
private final String s;
public NonCapturingLocalM1(String s) {
this.s = s;
}
@Override
public String toString() {
return this.s;
}
}
class CapturingLocalM1 {
private final int i;
public CapturingLocalM1(int i) {
this.i = i;
}
@Override
public String toString() {
return s + ":" + i;
}
}
new NonCapturingLocalM1(s).toString();
new CapturingLocalM1(42).toString();
Callable<String> c1 = new Callable<String>() {
@Override
public String call() {
return null;
}
};
Callable<String> c2 = new Callable<String>() {
@Override
public String call() {
return s;
}
};
(c1.call() + c2.call()).length();
}
public void m2(String s) {
class NonCapturingLocalM2 {
private final String s;
public NonCapturingLocalM2(String s) {
this.s = s;
}
@Override
public String toString() {
return this.s;
}
}
class CapturingLocalM2 {
private final int i;
public CapturingLocalM2(int i) {
this.i = i;
}
@Override
public String toString() {
return s + ":" + i;
}
}
new NonCapturingLocalM2(s).toString();
new CapturingLocalM2(42).toString();
Callable<String> c1 = new Callable<String>() {
@Override
public String call() {
return null;
}
};
Callable<String> c2 = new Callable<String>() {
@Override
public String call() {
return s;
}
};
(c1.call() + c2.call()).length();
}
}