granuleaccess.java
来自「JDK1.4编译器前端」· Java 代码 · 共 137 行
JAVA
137 行
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 GranuleAccess extends Access implements Cloneable {
public void flushCache() { super.flushCache(); name_visited = -1; nameType_visited = -1; } @SuppressWarnings({"unchecked", "cast"}) public GranuleAccess clone() throws CloneNotSupportedException { GranuleAccess node = (GranuleAccess)super.clone(); node.name_visited = -1; node.nameType_visited = -1; node.in$Circle(false); node.is$Final(false); return node; } @SuppressWarnings({"unchecked", "cast"}) public GranuleAccess copy() { try { GranuleAccess node = (GranuleAccess)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 GranuleAccess fullCopy() { GranuleAccess res = (GranuleAccess)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 ShadowClass.ast at line 3 // Declared in ShadowClass.ast line 1
public GranuleAccess() { super();
} // Declared in ShadowClass.ast at line 10
// Declared in ShadowClass.ast line 1 public GranuleAccess(String p0) { setID(p0); } // Declared in ShadowClass.ast at line 15 // Declared in ShadowClass.ast line 1 public GranuleAccess(beaver.Symbol p0) { setID(p0); } // Declared in ShadowClass.ast at line 19 protected int numChildren() {
return 0;
} // Declared in ShadowClass.ast at line 22
public boolean mayHaveRewrite() { return false; } // Declared in ShadowClass.ast at line 2 // Declared in ShadowClass.ast line 1 private String tokenString_ID; // Declared in ShadowClass.ast at line 3 public void setID(String value) { tokenString_ID = value; } // Declared in ShadowClass.ast at line 6 public int IDstart; // Declared in ShadowClass.ast at line 7 public int IDend; // Declared in ShadowClass.ast at line 8 public void setID(beaver.Symbol symbol) { if(symbol.value != null && !(symbol.value instanceof String)) throw new UnsupportedOperationException("setID is only valid for String lexemes"); tokenString_ID = (String)symbol.value; IDstart = symbol.getStart(); IDend = symbol.getEnd(); } // Declared in ShadowClass.ast at line 15 public String getID() { return tokenString_ID != null ? tokenString_ID : ""; } protected int name_visited = -1; // Declared in GOP.jrag at line 16 @SuppressWarnings({"unchecked", "cast"}) public String name() { if(name_visited == boundariesCrossed) throw new RuntimeException("Circular definition of attr: name in class: "); name_visited = boundariesCrossed; String name_value = name_compute(); name_visited = -1; return name_value; } private String name_compute() { return getID(); } protected int nameType_visited = -1; // Declared in GOP.jrag at line 14 @SuppressWarnings({"unchecked", "cast"}) public NameType nameType() { if(nameType_visited == boundariesCrossed) throw new RuntimeException("Circular definition of attr: nameType in class: "); nameType_visited = boundariesCrossed; if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree"); NameType nameType_value = getParent().Define_NameType_nameType(this, null); nameType_visited = -1; return nameType_value; }public ASTNode rewriteTo() { return super.rewriteTo();}}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?