import java.lang.reflect.Constructor;
import java.util.List;
class TestNested {
class Local {}
return new Local();
}
}
class Inner {}
return new Inner();
}
private class PrivateInner {}
return new PrivateInner();
}
void testAll() {
for(Object o
: List.
of(getLocal
(), getInner
(), getPrivateInner
(), getAnonymous
())) {
Constructor<?>[] constructors = o.getClass().getDeclaredConstructors();
for(Constructor
<?> c
: constructors
) System.
out.
println(c
); }
}
new TestNested().testAll();
}
}
aW1wb3J0IGphdmEubGFuZy5yZWZsZWN0LkNvbnN0cnVjdG9yOwppbXBvcnQgamF2YS51dGlsLkxpc3Q7CgpjbGFzcyBUZXN0TmVzdGVkIHsKICAgIE9iamVjdCBnZXRMb2NhbCgpIHsKICAgICAgICBjbGFzcyBMb2NhbCB7fQogICAgICAgIHJldHVybiBuZXcgTG9jYWwoKTsKICAgIH0KICAKICAgIE9iamVjdCBnZXRBbm9ueW1vdXMoKSB7CiAgICAgICAgcmV0dXJuIG5ldyBPYmplY3QoKSB7fTsKICAgIH0KCiAgICBjbGFzcyBJbm5lciB7fQoKICAgIE9iamVjdCBnZXRJbm5lcigpIHsKICAgICAgICByZXR1cm4gbmV3IElubmVyKCk7CiAgICB9CgogICAgcHJpdmF0ZSBjbGFzcyBQcml2YXRlSW5uZXIge30KCiAgICBPYmplY3QgZ2V0UHJpdmF0ZUlubmVyKCkgewogICAgICAgIHJldHVybiBuZXcgUHJpdmF0ZUlubmVyKCk7CiAgICB9CiAgCiAgICB2b2lkIHRlc3RBbGwoKSB7CiAgICAgIGZvcihPYmplY3QgbzogTGlzdC5vZihnZXRMb2NhbCgpLCBnZXRJbm5lcigpLCBnZXRQcml2YXRlSW5uZXIoKSwgZ2V0QW5vbnltb3VzKCkpKQogICAgICAgIHsKICAgICAgICAgICAgQ29uc3RydWN0b3I8Pz5bXSBjb25zdHJ1Y3RvcnMgPSBvLmdldENsYXNzKCkuZ2V0RGVjbGFyZWRDb25zdHJ1Y3RvcnMoKTsKICAgICAgICAgICAgZm9yKENvbnN0cnVjdG9yPD8+IGM6IGNvbnN0cnVjdG9ycykgU3lzdGVtLm91dC5wcmludGxuKGMpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbiB7CiAgICAgICAgbmV3IFRlc3ROZXN0ZWQoKS50ZXN0QWxsKCk7CiAgICB9Cn0=