📄 typeaccess.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 TypeAccess extends Access implements Cloneable {
public void flushCache() { super.flushCache(); decls_visited = -1; decls_computed = false; decls_value = null; decl_visited = -1; decl_computed = false; decl_value = null; qualifiedLookupVariable_String_visited = new java.util.HashMap(4); dumpString_visited = -1; name_visited = -1; packageName_visited = -1; nameWithPackage_visited = -1; typeName_visited = -1; isTypeAccess_visited = -1; predNameType_visited = -1; type_visited = -1; type_computed = false; type_value = null; staticContextQualifier_visited = -1; } @SuppressWarnings({"unchecked", "cast"}) public TypeAccess clone() throws CloneNotSupportedException { TypeAccess node = (TypeAccess)super.clone(); node.decls_visited = -1; node.decls_computed = false; node.decls_value = null; node.decl_visited = -1; node.decl_computed = false; node.decl_value = null; node.qualifiedLookupVariable_String_visited = new java.util.HashMap(4); node.dumpString_visited = -1; node.name_visited = -1; node.packageName_visited = -1; node.nameWithPackage_visited = -1; node.typeName_visited = -1; node.isTypeAccess_visited = -1; node.predNameType_visited = -1; node.type_visited = -1; node.type_computed = false; node.type_value = null; node.staticContextQualifier_visited = -1; node.in$Circle(false); node.is$Final(false); return node; } @SuppressWarnings({"unchecked", "cast"}) public TypeAccess copy() { try { TypeAccess node = (TypeAccess)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 TypeAccess fullCopy() { TypeAccess res = (TypeAccess)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 AccessControl.jrag at line 128 public void accessControl() { super.accessControl(); TypeDecl hostType = hostType(); if(hostType != null && !hostType.isUnknown() && !type().accessibleFrom(hostType)) { error("" + this + " in " + hostType().fullName() + " can not access type " + type().fullName()); } else if((hostType == null || hostType.isUnknown()) && !type().accessibleFromPackage(hostPackage())) { error("" + this + " can not access type " + type().fullName()); } } // Declared in NameCheck.jrag at line 155 public void nameCheck() { if(isQualified() && !qualifier().isTypeAccess() && !qualifier().isPackageAccess()) error("can not access the type named " + decl().typeName() + " in this context"); if(decls().isEmpty()) error("no visible type named " + typeName()); if(decls().size() > 1) { StringBuffer s = new StringBuffer(); s.append("several types named " + name() + ":"); for(Iterator iter = decls().iterator(); iter.hasNext(); ) { TypeDecl t = (TypeDecl)iter.next(); s.append(" " + t.typeName()); } error(s.toString()); } } // Declared in NodeConstructors.jrag at line 23 public TypeAccess(String name, int start, int end) { this(name); this.start = start; this.end = end; } // Declared in NodeConstructors.jrag at line 44 public TypeAccess(String typeName) { this("", typeName); } // Declared in PrettyPrint.jadd at line 499 public void toString(StringBuffer s) { if(decl().isReferenceType()) s.append(nameWithPackage()); else s.append(decl().name()); } // Declared in java.ast at line 3 // Declared in java.ast line 20
public TypeAccess() { super();
} // Declared in java.ast at line 10
// Declared in java.ast line 20 public TypeAccess(String p0, String p1) { setPackage(p0); setID(p1); } // Declared in java.ast at line 16 // Declared in java.ast line 20 public TypeAccess(beaver.Symbol p0, beaver.Symbol p1) { setPackage(p0); setID(p1); } // Declared in java.ast at line 21 protected int numChildren() {
return 0;
} // Declared in java.ast at line 24
public boolean mayHaveRewrite() { return false; } // Declared in java.ast at line 2 // Declared in java.ast line 20 private String tokenString_Package; // Declared in java.ast at line 3 public void setPackage(String value) { tokenString_Package = value; } // Declared in java.ast at line 6 public int Packagestart; // Declared in java.ast at line 7 public int Packageend; // Declared in java.ast at line 8 public void setPackage(beaver.Symbol symbol) { if(symbol.value != null && !(symbol.value instanceof String)) throw new UnsupportedOperationException("setPackage is only valid for String lexemes"); tokenString_Package = (String)symbol.value; Packagestart = symbol.getStart(); Packageend = symbol.getEnd(); } // Declared in java.ast at line 15 public String getPackage() { return tokenString_Package != null ? tokenString_Package : ""; } // Declared in java.ast at line 2 // Declared in java.ast line 20 private String tokenString_ID; // Declared in java.ast at line 3 public void setID(String value) { tokenString_ID = value; } // Declared in java.ast at line 6 public int IDstart; // Declared in java.ast at line 7 public int IDend; // Declared in java.ast at line 8 public void setID(beaver.Symbol symbol) { if(symbol.value != null && !(symbol.value instanceof String))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -