diff --git a/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/InterceptionInstrumenter.java b/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/InterceptionInstrumenter.java index 83bcb53e3cc..4802096ca2d 100644 --- a/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/InterceptionInstrumenter.java +++ b/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/InterceptionInstrumenter.java @@ -78,8 +78,8 @@ public class InterceptionInstrumenter { FieldData fieldData = getFieldData(field, interceptorClass); List enterData = new ArrayList(); - List exitData = new ArrayList(); - List errorData = new ArrayList(); + List normalReturnData = new ArrayList(); + List exceptionData = new ArrayList(); List dumpMethods = new ArrayList(); for (Method method : interceptorClass.getMethods()) { String name = method.getName(); @@ -87,15 +87,15 @@ public class InterceptionInstrumenter { if (name.startsWith("enter")) { enterData.add(methodData); } + else if (name.startsWith("normalReturn")) { + normalReturnData.add(methodData); + } + else if (name.startsWith("exception")) { + exceptionData.add(methodData); + } else if (name.startsWith("exit")) { - exitData.add(methodData); - } - else if (name.startsWith("error")) { - errorData.add(methodData); - } - else if (name.startsWith("anyExit")) { - exitData.add(methodData); - errorData.add(methodData); + normalReturnData.add(methodData); + exceptionData.add(methodData); } else if (name.startsWith("dump")) { Class[] parameterTypes = method.getParameterTypes(); @@ -117,8 +117,8 @@ public class InterceptionInstrumenter { compilePattern(annotation.erasedSignature()), annotation.allowMultipleMatches(), enterData, - exitData, - errorData, + normalReturnData, + exceptionData, annotation.logInterceptions()); for (Method dumpMethod : dumpMethods) { @@ -286,9 +286,9 @@ public class InterceptionInstrumenter { if (applicableInstrumenters.isEmpty()) return mv; - final List exitData = new ArrayList(); + final List normalReturnData = new ArrayList(); final List enterData = new ArrayList(); - final List errorData = new ArrayList(); + final List exceptionData = new ArrayList(); org.jetbrains.asm4.commons.Method methodBeingInstrumented = new org.jetbrains.asm4.commons.Method(name, desc); @@ -302,24 +302,24 @@ public class InterceptionInstrumenter { enterData.add(methodData); } - for (MethodData methodData : instrumenter.getExitData()) { + for (MethodData methodData : instrumenter.getNormalReturnData()) { int depth = stackDepth(methodData, methodBeingInstrumented); if (maxStackDepth < depth) { maxStackDepth = depth; } - exitData.add(methodData); + normalReturnData.add(methodData); } - for (MethodData methodData : instrumenter.getErrorData()) { + for (MethodData methodData : instrumenter.getExceptionData()) { int depth = stackDepth(methodData, methodBeingInstrumented); if (maxStackDepth < depth) { maxStackDepth = depth; } - errorData.add(methodData); + exceptionData.add(methodData); } } - if (enterData.isEmpty() && exitData.isEmpty()) return mv; + if (enterData.isEmpty() && normalReturnData.isEmpty()) return mv; if (dumpInstrumentedMethods) { mv = getDumpingVisitorWrapper(mv, name, desc); @@ -362,12 +362,12 @@ public class InterceptionInstrumenter { case FRETURN: case DRETURN: case ARETURN: - for (MethodData methodData : exitData) { + for (MethodData methodData : normalReturnData) { invokeMethod(access, name, desc, getInstructionAdapter(), methodData, false); } break; case ATHROW: - for (MethodData methodData : errorData) { + for (MethodData methodData : exceptionData) { // A constructor may throw before calling super(), 'this' is not available in this case invokeMethod(access, name, desc, getInstructionAdapter(), methodData, isConstructor); } diff --git a/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/MethodInstrumenter.java b/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/MethodInstrumenter.java index bb1efea3b36..c2c347ce60a 100644 --- a/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/MethodInstrumenter.java +++ b/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/MethodInstrumenter.java @@ -21,9 +21,9 @@ import java.util.List; interface MethodInstrumenter { boolean isApplicable(String name, String desc); - List getExitData(); + List getNormalReturnData(); - List getErrorData(); + List getExceptionData(); List getEnterData(); diff --git a/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/MethodInstrumenterImpl.java b/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/MethodInstrumenterImpl.java index beeba444424..8f666fc4412 100644 --- a/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/MethodInstrumenterImpl.java +++ b/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/MethodInstrumenterImpl.java @@ -26,8 +26,8 @@ class MethodInstrumenterImpl implements MethodInstrumenter { private final Pattern descPattern; private final boolean allowMultipleMatches; private final List enterData; - private final List exitData; - private final List errorData; + private final List normalReturnData; + private final List exceptionData; private final boolean logApplications; public MethodInstrumenterImpl( @@ -36,8 +36,8 @@ class MethodInstrumenterImpl implements MethodInstrumenter { Pattern descPattern, boolean allowMultipleMatches, List enterData, - List exitData, - List errorData, boolean logApplications + List normalReturnData, + List exceptionData, boolean logApplications ) { this.debugName = debugName; this.classPattern = classPattern; @@ -45,8 +45,8 @@ class MethodInstrumenterImpl implements MethodInstrumenter { this.descPattern = descPattern; this.allowMultipleMatches = allowMultipleMatches; this.enterData = enterData; - this.exitData = exitData; - this.errorData = errorData; + this.normalReturnData = normalReturnData; + this.exceptionData = exceptionData; this.logApplications = logApplications; } @@ -73,13 +73,13 @@ class MethodInstrumenterImpl implements MethodInstrumenter { } @Override - public List getExitData() { - return exitData; + public List getNormalReturnData() { + return normalReturnData; } @Override - public List getErrorData() { - return errorData; + public List getExceptionData() { + return exceptionData; } @Override