From: brian Date: Sun, 3 Jul 2005 20:35:15 +0000 (+0000) Subject: added VOID_EXPR X-Git-Url: http://git.megacz.com/?p=org.ibex.classgen.git;a=commitdiff_plain;h=bc4d7cc9145dfdd0feba52e05cd0d33b7eff9efb;ds=sidebyside added VOID_EXPR darcs-hash:20050703203515-24bed-43d6b184da67c24d2169923da7fbd9d08ba61b3c.gz --- diff --git a/src/org/ibex/classgen/JSSA.java b/src/org/ibex/classgen/JSSA.java index b8e57ca..d304d0f 100644 --- a/src/org/ibex/classgen/JSSA.java +++ b/src/org/ibex/classgen/JSSA.java @@ -79,6 +79,10 @@ public class JSSA extends MethodGen implements CGConst { // SSA-node classes ///////////////////////////////////////////////////////////////////////////////////////// + public final Expr VOID_EXPR = new Expr() { + public Type getType() { return Type.VOID; } + }; + /** an purely imperative operation which does not generate data */ public abstract class Op { //public abstract Op[] predecessors(); // not implemented yet @@ -240,9 +244,9 @@ public class JSSA extends MethodGen implements CGConst { public class Return extends Op { final Expr e; - public Return() { this(null); } + public Return() { this(VOID_EXPR); } public Return(Expr e) { this.e = e; } - public String toString() { return e==null?"return":("return "+e.toString()); } + public String toString() { return e.getType() == Type.VOID ? "return" : ("return "+e.toString()); } } /** GETFIELD and GETSTATIC */