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.QuercusClass; 35 import com.caucho.quercus.env.Value; 36 import com.caucho.util.L10N; 37 38 41 public class ClassConstExpr extends Expr { 42 private static final L10N L = new L10N(ClassMethodExpr.class); 43 44 protected final String _className; 45 protected final String _name; 46 47 public ClassConstExpr(Location location, String className, String name) 48 { 49 super(location); 50 51 _className = className.intern(); 52 _name = name.intern(); 53 } 54 55 public ClassConstExpr(String className, String name) 56 { 57 _className = className.intern(); 58 _name = name.intern(); 59 } 60 61 68 public Value eval(Env env) 69 { 70 return eval(env, env.getClass(_className)); 71 } 72 73 public Value eval(Env env, QuercusClass ownerClass) 74 { 75 return ownerClass.getConstant(env, _name); 76 } 77 78 public String toString() 79 { 80 return _className + "::" + _name + "()"; 81 } 82 } 83 84 | Popular Tags |