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

📄 fielddecl.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.*;public class FieldDecl extends MemberDecl implements Cloneable {
    public void flushCache() {        super.flushCache();        isStatic_visited = -1;    }     @SuppressWarnings({"unchecked", "cast"})  public FieldDecl clone() throws CloneNotSupportedException {        FieldDecl node = (FieldDecl)super.clone();        node.isStatic_visited = -1;        node.in$Circle(false);        node.is$Final(false);    return node;    }     @SuppressWarnings({"unchecked", "cast"})  public FieldDecl copy() {      try {          FieldDecl node = (FieldDecl)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 FieldDecl fullCopy() {        FieldDecl res = (FieldDecl)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 java.ast at line 3    // Declared in java.ast line 76
    public FieldDecl() {        super();
        setChild(new List(), 2);

    }    // Declared in java.ast at line 11
    // Declared in java.ast line 76    public FieldDecl(Modifiers p0, Access p1, List<VariableDecl> p2) {        setChild(p0, 0);        setChild(p1, 1);        setChild(p2, 2);    }    // Declared in java.ast at line 17  protected int numChildren() {
    return 3;
  }    // Declared in java.ast at line 20
  public boolean mayHaveRewrite() { return true; }    // Declared in java.ast at line 2    // Declared in java.ast line 76    public void setModifiers(Modifiers node) {        setChild(node, 0);    }    // Declared in java.ast at line 5    public Modifiers getModifiers() {        return (Modifiers)getChild(0);    }    // Declared in java.ast at line 9    public Modifiers getModifiersNoTransform() {        return (Modifiers)getChildNoTransform(0);    }    // Declared in java.ast at line 2    // Declared in java.ast line 76    public void setTypeAccess(Access node) {        setChild(node, 1);    }    // Declared in java.ast at line 5    public Access getTypeAccess() {        return (Access)getChild(1);    }    // Declared in java.ast at line 9    public Access getTypeAccessNoTransform() {        return (Access)getChildNoTransform(1);    }    // Declared in java.ast at line 2    // Declared in java.ast line 76    public void setVariableDeclList(List<VariableDecl> list) {        setChild(list, 2);    }    // Declared in java.ast at line 6    private int getNumVariableDecl = 0;    // Declared in java.ast at line 7    public int getNumVariableDecl() {        return getVariableDeclList().getNumChild();    }    // Declared in java.ast at line 11     @SuppressWarnings({"unchecked", "cast"})  public VariableDecl getVariableDecl(int i) {        return (VariableDecl)getVariableDeclList().getChild(i);    }    // Declared in java.ast at line 15    public void addVariableDecl(VariableDecl node) {        List<VariableDecl> list = getVariableDeclList();        list.addChild(node);    }    // Declared in java.ast at line 20    public void setVariableDecl(VariableDecl node, int i) {        List<VariableDecl> list = getVariableDeclList();        list.setChild(node, i);    }    // Declared in java.ast at line 24    public List<VariableDecl> getVariableDecls() {        return getVariableDeclList();    }    // Declared in java.ast at line 27    public List<VariableDecl> getVariableDeclsNoTransform() {        return getVariableDeclListNoTransform();    }    // Declared in java.ast at line 31     @SuppressWarnings({"unchecked", "cast"})  public List<VariableDecl> getVariableDeclList() {        return (List<VariableDecl>)getChild(2);    }    // Declared in java.ast at line 35     @SuppressWarnings({"unchecked", "cast"})  public List<VariableDecl> getVariableDeclListNoTransform() {        return (List<VariableDecl>)getChildNoTransform(2);    }    protected int isStatic_visited = -1;    // Declared in Modifiers.jrag at line 241 @SuppressWarnings({"unchecked", "cast"})     public boolean isStatic() {        if(isStatic_visited == boundariesCrossed)            throw new RuntimeException("Circular definition of attr: isStatic in class: ");        isStatic_visited = boundariesCrossed;        boolean isStatic_value = isStatic_compute();        isStatic_visited = -1;        return isStatic_value;    }    private boolean isStatic_compute() {  return getModifiers().isStatic();  }    // Declared in TypeAnalysis.jrag at line 258    public TypeDecl Define_TypeDecl_declType(ASTNode caller, ASTNode child) {        if(caller == getVariableDeclListNoTransform()) {      int childIndex = caller.getIndexOfChild(child);            return null;        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_TypeDecl_declType(this, caller);    }    // Declared in SyntacticClassification.jrag at line 77    public NameType Define_NameType_nameType(ASTNode caller, ASTNode child) {        if(caller == getTypeAccessNoTransform()) {            return NameType.TYPE_NAME;        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_NameType_nameType(this, caller);    }public ASTNode rewriteTo() {    // Declared in VariableDeclaration.jrag at line 105    if(getNumVariableDecl() == 1) {        duringVariableDeclaration++;        ASTNode result = rewriteRule0();        duringVariableDeclaration--;        return result;    }    // Declared in VariableDeclaration.jrag at line 116    if(getParent().getParent() instanceof TypeDecl &&         ((TypeDecl)getParent().getParent()).getBodyDeclListNoTransform() == getParent() && getNumVariableDecl() > 1) {        duringVariableDeclaration++;      List newList = rewriteTypeDecl_getBodyDecl();      List list = (List)getParent();      int i = list.getIndexOfChild(this);      for(int j = 1; j < newList.getNumChild(); j++)        list.insertChild(newList.getChildNoTransform(j), ++i);        duringVariableDeclaration--;      return newList.getChildNoTransform(0);    }    return super.rewriteTo();}    // Declared in VariableDeclaration.jrag at line 105    private FieldDeclaration rewriteRule0() {         debugRewrite("Rewriting " + getClass().getName() + " using rule in VariableDeclaration.jrag at line 105");{      FieldDeclaration decl = getVariableDecl(0).createFieldDeclarationFrom(getModifiers(), getTypeAccess());      decl.setStart(start); // copy location information      decl.setEnd(end); // copy location information      return decl;    }    }    // Declared in VariableDeclaration.jrag at line 116    private List rewriteTypeDecl_getBodyDecl() {         debugRewrite("Rewriting " + getClass().getName() + " using rule in VariableDeclaration.jrag at line 116");{      List varList = new List();      for(int j = 0; j < getNumVariableDecl(); j++) {        FieldDeclaration f =           getVariableDecl(j).createFieldDeclarationFrom(            (Modifiers)getModifiers().fullCopy(),            (Access)getTypeAccess().fullCopy()          );        if(j == 0)          f.setStart(start);        varList.add(f);      }      return varList;    }    }}

⌨️ 快捷键说明

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