⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boundfieldaccess.java

📁 JDK1.4编译器前端
💻 JAVA
字号:

package AST;
import java.util.HashSet;import java.util.LinkedHashSet;import java.io.FileNotFoundException;import java.io.File;import java.util.*;import beaver.*;import java.util.ArrayList;import java.util.zip.*;import java.io.*;// Explicitly bound access that bypasses name bindingpublic class BoundFieldAccess extends VarAccess implements Cloneable {
    public void flushCache() {        super.flushCache();        decl_visited = -1;        decl_computed = false;        decl_value = null;    }     @SuppressWarnings({"unchecked", "cast"})  public BoundFieldAccess clone() throws CloneNotSupportedException {        BoundFieldAccess node = (BoundFieldAccess)super.clone();        node.decl_visited = -1;        node.decl_computed = false;        node.decl_value = null;        node.in$Circle(false);        node.is$Final(false);    return node;    }     @SuppressWarnings({"unchecked", "cast"})  public BoundFieldAccess copy() {      try {          BoundFieldAccess node = (BoundFieldAccess)clone();          if(children != null) node.children = (ASTNode[])children.clone();          return node;      } catch (CloneNotSupportedException e) {      }      System.err.println("Error: Could not clone node of type " + getClass().getName() + "!");      return null;    }     @SuppressWarnings({"unchecked", "cast"})  public BoundFieldAccess fullCopy() {        BoundFieldAccess res = (BoundFieldAccess)copy();        for(int i = 0; i < getNumChildNoTransform(); i++) {          ASTNode node = getChildNoTransform(i);          if(node != null) node = node.fullCopy();          res.setChild(node, i);        }        return res;    }    // Declared in BoundNames.jrag at line 68  public BoundFieldAccess(FieldDeclaration f) {    this(f.name(), f);  }    // Declared in BoundNames.jrag at line 73  public boolean isExactVarAccess() {    return false;  }    // Declared in BoundNames.ast at line 3    // Declared in BoundNames.ast line 6
    public BoundFieldAccess() {        super();

    }    // Declared in BoundNames.ast at line 10
    // Declared in BoundNames.ast line 6    public BoundFieldAccess(String p0, FieldDeclaration p1) {        setID(p0);        setFieldDeclaration(p1);    }    // Declared in BoundNames.ast at line 16    // Declared in BoundNames.ast line 6    public BoundFieldAccess(beaver.Symbol p0, FieldDeclaration p1) {        setID(p0);        setFieldDeclaration(p1);    }    // Declared in BoundNames.ast at line 21  protected int numChildren() {
    return 0;
  }    // Declared in BoundNames.ast at line 24
  public boolean mayHaveRewrite() { return false; }    // Declared in BoundNames.ast at line 2    // Declared in BoundNames.ast line 6    private FieldDeclaration tokenFieldDeclaration_FieldDeclaration;    // Declared in BoundNames.ast at line 3    public void setFieldDeclaration(FieldDeclaration value) {        tokenFieldDeclaration_FieldDeclaration = value;    }    // Declared in BoundNames.ast at line 6    public FieldDeclaration getFieldDeclaration() {        return tokenFieldDeclaration_FieldDeclaration;    }    protected int decl_visited = -1;    // Declared in BoundNames.jrag at line 72 @SuppressWarnings({"unchecked", "cast"})     public Variable decl() {        if(decl_computed)            return decl_value;        if(decl_visited == boundariesCrossed)            throw new RuntimeException("Circular definition of attr: decl in class: ");        decl_visited = boundariesCrossed;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        decl_value = decl_compute();        if(isFinal && num == boundariesCrossed)            decl_computed = true;        decl_visited = -1;        return decl_value;    }    private Variable decl_compute() {  return getFieldDeclaration();  }public ASTNode rewriteTo() {    return super.rewriteTo();}}

⌨️ 快捷键说明

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