]> source.dussan.org Git - aspectj.git/commitdiff
Bit of missing support...
authoraclement <aclement>
Mon, 31 Jan 2005 11:32:21 +0000 (11:32 +0000)
committeraclement <aclement>
Mon, 31 Jan 2005 11:32:21 +0000 (11:32 +0000)
bcel-builder/src/org/aspectj/apache/bcel/generic/InstructionFactory.java
bcel-builder/src/org/aspectj/apache/bcel/generic/PUSH.java

index 8524f03beb04e6a77de5ad21f0143a6908b4b6fb..9943e0949a6e311371767bb3deb57e869ea5f6e7 100644 (file)
@@ -61,7 +61,7 @@ import org.aspectj.apache.bcel.Constants;
  * byte code generating backend of a compiler. You can subclass it to
  * add your own create methods.
  *
- * @version $Id: InstructionFactory.java,v 1.2 2004/11/19 16:45:19 aclement Exp $
+ * @version $Id: InstructionFactory.java,v 1.3 2005/01/31 11:32:21 aclement Exp $
  * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
  * @see Constants
  */
@@ -154,6 +154,8 @@ public class InstructionFactory
       push = new PUSH(cp, (Boolean)value);
     else if(value instanceof Character)
       push = new PUSH(cp, (Character)value);
+    else if (value instanceof ObjectType) 
+        push = new PUSH(cp, (ObjectType)value);
     else
       throw new ClassGenException("Illegal type: " + value.getClass());
 
index ce5300fbe1db37744d2e3422dfa5c8fbbfe709a3..16e5fdf1e53d29f5bcbb9edb2d64c138c2b62110 100644 (file)
@@ -59,7 +59,7 @@ import org.aspectj.apache.bcel.Constants;
  * Wrapper class for push operations, which are implemented either as BIPUSH,
  * LDC or xCONST_n instructions.
  *
- * @version $Id: PUSH.java,v 1.4 2004/11/22 08:31:27 aclement Exp $
+ * @version $Id: PUSH.java,v 1.5 2005/01/31 11:32:21 aclement Exp $
  * @author  <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
  */
 public final class PUSH
@@ -83,6 +83,10 @@ public final class PUSH
     else // If everything fails create a Constant pool entry
       instruction = new LDC(cp.addInteger(value));
   }
+  
+  public PUSH(ConstantPoolGen cp, ObjectType t) {
+       instruction = new LDC_W(cp.addClass(t));
+  }
 
   /**
    * @param cp Constant pool