You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2012/09/28 18:40:30 UTC
svn commit: r1391534 -
/commons/sandbox/nabla/trunk/src/main/java/org/apache/commons/nabla/forward/analysis/ClassDifferentiator.java
Author: luc
Date: Fri Sep 28 16:40:30 2012
New Revision: 1391534
URL: http://svn.apache.org/viewvc?rev=1391534&view=rev
Log:
Fixed generated bytecode for getPrimitiveField private method.
Modified:
commons/sandbox/nabla/trunk/src/main/java/org/apache/commons/nabla/forward/analysis/ClassDifferentiator.java
Modified: commons/sandbox/nabla/trunk/src/main/java/org/apache/commons/nabla/forward/analysis/ClassDifferentiator.java
URL: http://svn.apache.org/viewvc/commons/sandbox/nabla/trunk/src/main/java/org/apache/commons/nabla/forward/analysis/ClassDifferentiator.java?rev=1391534&r1=1391533&r2=1391534&view=diff
==============================================================================
--- commons/sandbox/nabla/trunk/src/main/java/org/apache/commons/nabla/forward/analysis/ClassDifferentiator.java (original)
+++ commons/sandbox/nabla/trunk/src/main/java/org/apache/commons/nabla/forward/analysis/ClassDifferentiator.java Fri Sep 28 16:40:30 2012
@@ -197,15 +197,14 @@ public class ClassDifferentiator {
null, null);
Label start = new Label();
Label end = new Label();
- Label handler = new Label();
- method.visitTryCatchBlock(start, end, handler, Type.getInternalName(IllegalAccessException.class));
- method.visitTryCatchBlock(start, end, handler, Type.getInternalName(NoSuchFieldException.class));
+ method.visitTryCatchBlock(start, end, end, Type.getInternalName(IllegalAccessException.class));
+ method.visitTryCatchBlock(start, end, end, Type.getInternalName(NoSuchFieldException.class));
method.visitLabel(start);
method.visitLdcInsn(Type.getType(primitiveClass));
method.visitVarInsn(Opcodes.ALOAD, 1);
method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, Type.getInternalName(Class.class),
"getDeclaredField",
- Type.getMethodDescriptor(Type.getType(String.class), Type.getType(Field.class)));
+ Type.getMethodDescriptor(Type.getType(Field.class), Type.getType(String.class)));
method.visitVarInsn(Opcodes.ASTORE, 2);
method.visitVarInsn(Opcodes.ALOAD, 2);
method.visitInsn(Opcodes.ICONST_1);
@@ -219,9 +218,8 @@ public class ClassDifferentiator {
method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, Type.getInternalName(Field.class),
"get",
Type.getMethodDescriptor(Type.getType(Object.class), Type.getType(Object.class)));
- method.visitLabel(end);
method.visitInsn(Opcodes.ARETURN);
- method.visitLabel(handler);
+ method.visitLabel(end);
method.visitVarInsn(Opcodes.ASTORE, 2);
method.visitTypeInsn(Opcodes.NEW, Type.getInternalName(RuntimeException.class));
method.visitInsn(Opcodes.DUP);