import javax.tools.ToolProvider;
class GetArrayClass {
public static Class<?> viaGetClass() {
return new String[0].
getClass(); }
public static Class<?> viaClassLiteral() {
}
public static void main
(String[] args
) { decompile();
}
private static void decompile() {
Object args
= new String[]{"-c", GetArrayClass.
class.
getName()}; try {
ToolProvider.getSystemJavaCompiler().getClass().getClassLoader()
.loadClass("com.sun.tools.javap.Main")
.
getMethod("main",
String[].
class).
invoke(null, args
); } catch(ReflectiveOperationException ex) {
}
}
private GetArrayClass(){}
}
CmltcG9ydCBqYXZheC50b29scy5Ub29sUHJvdmlkZXI7CgpjbGFzcyBHZXRBcnJheUNsYXNzIHsKICAgIHB1YmxpYyBzdGF0aWMgQ2xhc3M8Pz4gdmlhR2V0Q2xhc3MoKSB7CiAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmdbMF0uZ2V0Q2xhc3MoKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgQ2xhc3M8Pz4gdmlhQ2xhc3NMaXRlcmFsKCkgewogICAgICAgIHJldHVybiBTdHJpbmdbXS5jbGFzczsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBkZWNvbXBpbGUoKTsKICAgIH0KICAgIHByaXZhdGUgc3RhdGljIHZvaWQgZGVjb21waWxlKCkgewogICAgICAgIE9iamVjdCBhcmdzID0gbmV3IFN0cmluZ1tdeyItYyIsIEdldEFycmF5Q2xhc3MuY2xhc3MuZ2V0TmFtZSgpfTsKICAgICAgICB0cnkgewogICAgICAgICAgICBUb29sUHJvdmlkZXIuZ2V0U3lzdGVtSmF2YUNvbXBpbGVyKCkuZ2V0Q2xhc3MoKS5nZXRDbGFzc0xvYWRlcigpCiAgICAgICAgICAgICAgICAubG9hZENsYXNzKCJjb20uc3VuLnRvb2xzLmphdmFwLk1haW4iKQogICAgICAgICAgICAgICAgLmdldE1ldGhvZCgibWFpbiIsIFN0cmluZ1tdLmNsYXNzKS5pbnZva2UobnVsbCwgYXJncyk7CiAgICAgICAgfSBjYXRjaChSZWZsZWN0aXZlT3BlcmF0aW9uRXhjZXB0aW9uIGV4KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbGxlZ2FsU3RhdGVFeGNlcHRpb24oZXgpOwogICAgICAgIH0KICAgIH0KICAgIHByaXZhdGUgR2V0QXJyYXlDbGFzcygpe30KfQo=