mirror of
https://github.com/corda/corda.git
synced 2025-01-22 12:28:11 +00:00
check for all non-virtual methods in invoke(), not just static ones
This commit is contained in:
parent
16ea75f91c
commit
fe0708c09a
@ -2753,9 +2753,7 @@ invoke(Thread* t, object method)
|
|||||||
object class_;
|
object class_;
|
||||||
PROTECT(t, class_);
|
PROTECT(t, class_);
|
||||||
|
|
||||||
if (methodFlags(t, method) & ACC_STATIC) {
|
if (methodVirtual(t, method)) {
|
||||||
class_ = methodClass(t, method);
|
|
||||||
} else {
|
|
||||||
unsigned parameterFootprint = methodParameterFootprint(t, method);
|
unsigned parameterFootprint = methodParameterFootprint(t, method);
|
||||||
class_ = objectClass(t, peekObject(t, t->sp - parameterFootprint));
|
class_ = objectClass(t, peekObject(t, t->sp - parameterFootprint));
|
||||||
|
|
||||||
@ -2768,6 +2766,8 @@ invoke(Thread* t, object method)
|
|||||||
} else {
|
} else {
|
||||||
method = findMethod(t, method, class_);
|
method = findMethod(t, method, class_);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
class_ = methodClass(t, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
initClass(t, class_);
|
initClass(t, class_);
|
||||||
|
Loading…
Reference in New Issue
Block a user