import java.io.*;
class Main {
static class Outer {
static interface A {
interface B {}
}
static class D implements A {
private interface B {}
}
static class C extends D implements A {
interface E extends B {}
interface E1 extends D.B {}
interface E2 extends A.B {}
}
}
static class E {
{
D d = new D() {
void foo(B b){
}
};
}
}
}
class Main1 {
static interface A
{
interface B { }
}
static class D implements A
{
interface B { }
}
static class C extends D implements A
{
interface E extends B { }
interface E1 extends D.B {
}
interface E2 extends A.B { }
}
}
interface A
{
interface B { }
interface B1 { }
}
class D implements A
{
private interface B { }
interface B1 { }
}
class C extends D implements A
{
interface E extends B { }
interface E1 extends D.B { }
interface E2 extends A.B { }
interface F extends B1 { }
interface F1 extends D.B1 { }
interface F2 extends A.B1 { }
}
class AO {}
class BAO {
AO bar = new AO();
{
bar.foo();
}
private class AO {
void foo(){}
}
}
class WithFileInputStream {
private static final Runnable runn = new Runnable() {
public void run() {
new FileInputStream("path");
}
};
private static class FileInputStream {
private FileInputStream(String str) {
}
}
}
class ContainingKlass {
public static class Inner {
}
private static class OuterInner {
private static final class Inner {
private Inner s() {
return this;
}
}
}
}
class Q {
class A {
class X {
}
}
class B extends A {
class X extends B {
Class c = X.class;
}
}
}
abstract class Base {
public class Type{}
static abstract class Derived extends Base {
public class Type{}
/**
* {@link Type} should resolve to Derived.Type
*/
static class Concrete extends Derived {
Type t;
}
}
}
interface Base2 {
public class Type{}
interface Derived extends Base2 {
public class Type{}
static class Concrete implements Derived {
// still incorrect error here, not in fact ambiguous:
Type t;
}
}
}
interface I1 {
class Z {}
}
interface I2 extends I1 {
class Z {}
}
interface I3 extends I1 {
Z good();
}
interface I4 extends I2, I3 {
Z ambiguous(); // there should be an error here
}
interface I5 extends I4 {
Z ambiguous(); // there should be an error here
}