fix super method evaluation

This commit is contained in:
Eugene Zhuravlev
2010-11-23 18:12:19 +03:00
parent 27c5b4509d
commit 3ffa983749
2 changed files with 9 additions and 1 deletions
@@ -38,6 +38,10 @@ public class DisableGC implements Evaluator{
return result;
}
public Evaluator getDelegate() {
return myDelegate;
}
public Modifier getModifier() {
return myDelegate.getModifier();
}
@@ -61,7 +61,11 @@ public class MethodEvaluator implements Evaluator {
public Object evaluate(EvaluationContextImpl context) throws EvaluateException {
if(!context.getDebugProcess().isAttached()) return null;
DebugProcessImpl debugProcess = context.getDebugProcess();
final boolean requiresSuperObject = myObjectEvaluator instanceof SuperEvaluator;
final boolean requiresSuperObject =
myObjectEvaluator instanceof SuperEvaluator ||
(myObjectEvaluator instanceof DisableGC && ((DisableGC)myObjectEvaluator).getDelegate() instanceof SuperEvaluator);
final Object object = myObjectEvaluator.evaluate(context);
if (LOG.isDebugEnabled()) {
LOG.debug("MethodEvaluator: object = " + object);