|
Relates :
|
If you create a java.lang.reflect.Method to a Method that is deleted during redefinition, the method.invoke gets InternalError exception, and not a NoSuchMethodError wrapped in InvocationTargetException. If you add the method back, you still get InternalError.
from reflection.cpp:
InstanceKlass* klass = InstanceKlass::cast(java_lang_Class::as_Klass(mirror));
Method* m = klass->method_with_idnum(slot);
if (m == NULL) {
THROW_MSG_0(vmSymbols::java_lang_InternalError(), "invoke");
}
|