baliuka 02/03/03 12:23:17
Modified: simplestore/src/java/org/apache/commons/simplestore/tools
Enhancer.java
Log:
Fixed bug in generated Exception handler
Revision Changes Path
1.2 +10 -13
jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/tools/Enhancer.java
Index: Enhancer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/tools/Enhancer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Enhancer.java 3 Mar 2002 19:35:57 -0000 1.1
+++ Enhancer.java 3 Mar 2002 20:23:17 -0000 1.2
@@ -64,7 +64,7 @@
/**
*@author Juozas Baliuka <a href="mailto:[EMAIL PROTECTED]">
* [EMAIL PROTECTED]</a>
- *@version $Id: Enhancer.java,v 1.1 2002/03/03 19:35:57 baliuka Exp $
+ *@version $Id: Enhancer.java,v 1.2 2002/03/03 20:23:17 baliuka Exp $
*/
public class Enhancer implements org.apache.bcel.Constants{
@@ -100,7 +100,7 @@
"(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;");
}
-
+
/** Creates a new instance of Enchancer */
private Enhancer() {
@@ -516,14 +516,12 @@
}
InstructionHandle ehEnd = il.append( new ASTORE(resultFromSuper) );
- // GOTO gotoHandled = new GOTO(null);
- // il.append( gotoHandled );
- // InstructionHandle ehHandled = il.append( new ASTORE(error + 1) );
- // il.append( new ALOAD(error + 1) );
- // il.append( new ALOAD(error));
+ GOTO gotoHandled = new GOTO(null);
+ il.append( gotoHandled );
+ InstructionHandle ehHandled = il.append( new ASTORE(error ) );
InstructionHandle endif = il.append( new ALOAD(0) );//this
ifInvoke.setTarget(endif);
- // gotoHandled.setTarget(endif);
+ gotoHandled.setTarget(endif);
il.append(factory.createFieldAccess(cg.getClassName(),FIELD_NAME,new
ObjectType(INTERCEPTOR_CLASS),GETFIELD));
il.append( new ALOAD(0) );//this
il.append(
factory.createGetStatic(cg.getClassName(),fieldName,METHOD_OBJECT ) );
@@ -536,16 +534,15 @@
InstructionHandle exitMethod =
generateReturnValue(il,factory,cp,mg.getReturnType(),++loaded);
- // bug in BCEL ?
- // mg.addExceptionHandler(ehStart,ehEnd,ehHandled,Type.THROWABLE);
+ mg.addExceptionHandler(ehStart,ehEnd,ehHandled,Type.THROWABLE);
mg.setMaxStack();
mg.setMaxLocals();
Method result = getMethod(mg);
if( DEBUG ){
- System.err.println(mg.getMethod());
- System.err.println(mg.getMethod().getCode());
- System.err.flush();
+ System.err.println(mg.getMethod());
+ System.err.println(mg.getMethod().getCode());
+ System.err.flush();
}
return result;
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>