package cute.concolic.symbolicstate; import cute.concolic.input.InputMap; import java.util.Stack; import java.io.PrintWriter; /** * Created by IntelliJ IDEA. * User: Koushik Sen (ksen@cs.uiuc.edu) * Date: Jul 22, 2006 * Time: 12:34:10 PM */ public class PrimitiveObjectExpression extends FunctionExpression{ private ArithmeticExpression sym; public ArithmeticExpression getSym() { return sym; } private static PrimitiveObjectExpression check(String fname, String str, Stack syms){ if(fname.equals(str)){ ArithmeticExpression e1 = (ArithmeticExpression)syms.elementAt(1); if(e1!=null){ return new PrimitiveObjectExpression(e1); } } return null; } public static PrimitiveObjectExpression getExpression(String fname, Stack syms,Stack vals){ PrimitiveObjectExpression tmp; tmp = check(fname,"NewArray",syms); if(tmp!=null) return tmp; tmp = check(fname,"<java.lang.Integer: void <init>(int)>",syms); if(tmp!=null) return tmp; tmp = check(fname,"<java.lang.Long: void <init>(long)>",syms); if(tmp!=null) return tmp; tmp = check(fname,"<java.lang.Short: void <init>(short)>",syms); if(tmp!=null) return tmp; tmp = check(fname,"<java.lang.Character: void <init>(char)>",syms); if(tmp!=null) return tmp; tmp = check(fname,"<java.lang.Byte: void <init>(byte)>",syms); if(tmp!=null) return tmp; tmp = check(fname,"<java.lang.Boolean: void <init>(boolean)>",syms); if(tmp!=null) return tmp; tmp = check(fname,"<java.lang.Double: void <init>(double)>",syms); if(tmp!=null) return tmp; tmp = check(fname,"<java.lang.Float: void <init>(float)>",syms); if(tmp!=null) return tmp; return null; } public PrimitiveObjectExpression(ArithmeticExpression expression) { sym = expression; } public void solve(double v, InputMap input) { } public void printExpression(PrintWriter out) { out.print("Primitive() "); sym.printExpression(out); } }