staticfieldlocation.java

来自「A framework written in Java for implemen」· Java 代码 · 共 50 行

JAVA
50
字号
package gnu.kawa.reflect;import gnu.bytecode.ClassType;import gnu.mapping.*;import gnu.expr.*;public class StaticFieldLocation extends FieldLocation{  public StaticFieldLocation(String cname, String fname)  {    super(null, ClassType.make(cname), fname);  }  public StaticFieldLocation(ClassType type, String mname)  {    super(null, type, mname);  }  public Object get (Object defaultValue)  {    Object val = super.get(defaultValue);    if (val instanceof kawa.lang.Macro)      getDeclaration();    return val;  }  public static StaticFieldLocation  define(Environment environ, Symbol sym, Object property,	 String cname, String fname)  {    StaticFieldLocation loc = new StaticFieldLocation(cname, fname);    environ.addLocation(sym, property, loc);    return loc;  }  public static StaticFieldLocation make (Declaration decl)  {    gnu.bytecode.Field fld = decl.field;    ClassType ctype = fld.getDeclaringClass();    StaticFieldLocation loc = new StaticFieldLocation(ctype, fld.getName());    loc.setDeclaration(decl);    //maybe setKindFlags();    return loc;  }  public static StaticFieldLocation make (/*Object name,*/ String cname, String fldName)  {     return new StaticFieldLocation(cname, fldName);  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?