1 29 30 package com.caucho.quercus.expr; 31 32 import com.caucho.quercus.Location; 33 import com.caucho.quercus.env.Env; 34 import com.caucho.quercus.env.InternStringValue; 35 import com.caucho.quercus.env.StringValue; 36 import com.caucho.quercus.env.Value; 37 38 41 public class StringLiteralExpr extends Expr { 42 protected final StringValue _value; 43 44 public StringLiteralExpr(Location location, String value) 45 { 46 super(location); 47 _value = new InternStringValue(value); 48 } 49 50 public StringLiteralExpr(Location location, StringValue value) 51 { 52 super(location); 53 _value = value; 54 } 55 56 public StringLiteralExpr(String value) 57 { 58 this(Location.UNKNOWN, value); 59 } 60 61 public StringLiteralExpr(StringValue value) 62 { 63 this(Location.UNKNOWN, value); 64 } 65 66 69 public boolean isLiteral() 70 { 71 return true; 72 } 73 74 79 public Value evalConstant() 80 { 81 return _value; 82 } 83 84 91 public Value eval(Env env) 92 { 93 return _value; 94 } 95 96 public String toString() 97 { 98 return "\"" + _value + "\""; 99 } 100 } 101 102 | Popular Tags |