]> source.dussan.org Git - aspectj.git/commitdiff
adding another abstract/code guard
authorehilsdal <ehilsdal>
Wed, 15 Jan 2003 18:42:50 +0000 (18:42 +0000)
committerehilsdal <ehilsdal>
Wed, 15 Jan 2003 18:42:50 +0000 (18:42 +0000)
using NULL rather than empty list for abstract/native bodies

weaver/src/org/aspectj/weaver/bcel/LazyMethodGen.java

index b7c46d50a9260415d3ef4362b598f6ec3ed75b69..5703b5197902bfca44ec7210930e39aa8fa6f4fd 100644 (file)
@@ -103,6 +103,9 @@ public final class LazyMethodGen {
         if (!(m.isAbstract() || m.isNative()) && m.getCode() == null) {
                throw new RuntimeException("bad non-abstract method with no code: " + m + " on " + enclosingClass);
         }
+        if ((m.isAbstract() || m.isNative()) && m.getCode() != null) {
+               throw new RuntimeException("bad abstract method with code: " + m + " on " + enclosingClass);
+        }
         MethodGen gen = new MethodGen(m, enclosingClass.getName(), enclosingClass.getConstantPoolGen());
                this.memberView = new BcelMethod(enclosingClass.getType(), m);
         this.accessFlags = gen.getAccessFlags();
@@ -657,6 +660,8 @@ public final class LazyMethodGen {
             packBody(gen);
             gen.setMaxLocals();
             gen.setMaxStack();
+        } else {
+               gen.setInstructionList(null);
         }
         return gen;
     }