/* package whatever; // don't place package name! */
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/* Name of the class has to be "Main" only if the class is public. */
final class Scratch1
{
private Scratch1()
{
}
public Object myMethod
( int a
) {
return a * 2;
}
{
Method myMethodMethod
= Scratch1.
class.
getMethod( "myMethod",
Integer.
TYPE ); /* this is nonsensical, but I am adding it just to prove it is not the problem: */
Class<?> methodClass = Class.forName(myMethodMethod.getDeclaringClass().getName());
Object myInstance
= methodClass.
newInstance(); myMethodMethod.invoke( myInstance, value );
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEubGFuZy5yZWZsZWN0Lkludm9jYXRpb25UYXJnZXRFeGNlcHRpb247CmltcG9ydCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2Q7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KZmluYWwgY2xhc3MgU2NyYXRjaDEKewogICAgcHJpdmF0ZSBTY3JhdGNoMSgpCiAgICB7CiAgICB9CgogICAgcHVibGljIE9iamVjdCBteU1ldGhvZCggaW50IGEgKQogICAgewogICAgICAgIHJldHVybiBhICogMjsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiggU3RyaW5nW10gYXJncyApIHRocm93cyBOb1N1Y2hNZXRob2RFeGNlcHRpb24sIEludm9jYXRpb25UYXJnZXRFeGNlcHRpb24sIElsbGVnYWxBY2Nlc3NFeGNlcHRpb24sIENsYXNzTm90Rm91bmRFeGNlcHRpb24sIEluc3RhbnRpYXRpb25FeGNlcHRpb24KICAgIHsKICAgICAgICBNZXRob2QgbXlNZXRob2RNZXRob2QgPSBTY3JhdGNoMS5jbGFzcy5nZXRNZXRob2QoICJteU1ldGhvZCIsIEludGVnZXIuVFlQRSApOwogICAgICAgIC8qIHRoaXMgaXMgbm9uc2Vuc2ljYWwsIGJ1dCBJIGFtIGFkZGluZyBpdCBqdXN0IHRvIHByb3ZlIGl0IGlzIG5vdCB0aGUgcHJvYmxlbTogKi8KICAgICAgICBDbGFzczw/PiBtZXRob2RDbGFzcyA9IENsYXNzLmZvck5hbWUobXlNZXRob2RNZXRob2QuZ2V0RGVjbGFyaW5nQ2xhc3MoKS5nZXROYW1lKCkpOwogICAgICAgIE9iamVjdCBteUluc3RhbmNlID0gbWV0aG9kQ2xhc3MubmV3SW5zdGFuY2UoKTsKICAgICAgICBJbnRlZ2VyIHZhbHVlID0gMTA7CiAgICAgICAgbXlNZXRob2RNZXRob2QuaW52b2tlKCBteUluc3RhbmNlLCB2YWx1ZSApOwogICAgfQp9Cg==