📄 compilationunit.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.*;// 7.3 Compilation Unitspublic class CompilationUnit extends ASTNode<ASTNode> implements Cloneable {
public void flushCache() { super.flushCache(); packageName_computed = false; packageName_value = null; destinationPath_computed = false; destinationPath_value = null; lookupType_String_values = null; } @SuppressWarnings({"unchecked", "cast"}) public CompilationUnit clone() throws CloneNotSupportedException { CompilationUnit node = (CompilationUnit)super.clone(); node.packageName_computed = false; node.packageName_value = null; node.destinationPath_computed = false; node.destinationPath_value = null; node.lookupType_String_values = null; node.in$Circle(false); node.is$Final(false); return node; } @SuppressWarnings({"unchecked", "cast"}) public CompilationUnit copy() { try { CompilationUnit node = (CompilationUnit)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 CompilationUnit fullCopy() { CompilationUnit res = (CompilationUnit)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 ClassPath.jrag at line 148 private String relativeName; // Declared in ClassPath.jrag at line 149 private String pathName; // Declared in ClassPath.jrag at line 150 private boolean fromSource; // Declared in ClassPath.jrag at line 152 public void setRelativeName(String name) { relativeName = name; } // Declared in ClassPath.jrag at line 155 public void setPathName(String name) { pathName = name; } // Declared in ClassPath.jrag at line 158 public void setFromSource(boolean value) { fromSource = value; } // Declared in ErrorCheck.jrag at line 67 protected java.util.ArrayList errors = new java.util.ArrayList(); // Declared in ErrorCheck.jrag at line 68 protected java.util.ArrayList warnings = new java.util.ArrayList(); // Declared in ErrorCheck.jrag at line 70 public Collection parseErrors() { return parseErrors; } // Declared in ErrorCheck.jrag at line 71 public void addParseError(Problem msg) { parseErrors.add(msg); } // Declared in ErrorCheck.jrag at line 72 protected Collection parseErrors = new ArrayList(); // Declared in ErrorCheck.jrag at line 230 public void errorCheck(Collection collection) { collectErrors(); collection.addAll(errors); } // Declared in ErrorCheck.jrag at line 234 public void errorCheck(Collection err, Collection warn) { collectErrors(); err.addAll(errors); warn.addAll(warnings); } // Declared in NameCheck.jrag at line 35 public void nameCheck() { for(int i = 0; i < getNumImportDecl(); i++) { ImportDecl decl = getImportDecl(i); if(decl instanceof SingleTypeImportDecl) { if(localLookupType(decl.getAccess().type().name()).contains(decl.getAccess().type())) error("" + decl + " is conflicting with visible type"); } } } // Declared in PrettyPrint.jadd at line 44 public void toString(StringBuffer s) { try { if(!getPackageDecl().equals("")) { s.append("package " + getPackageDecl() + ";\n"); } for(int i = 0; i < getNumImportDecl(); i++) { getImportDecl(i).toString(s); } for(int i = 0; i < getNumTypeDecl(); i++) { getTypeDecl(i).toString(s); s.append("\n"); } } catch (NullPointerException e) { System.out.print("Error in compilation unit hosting " + getTypeDecl(0).typeName()); throw e; } } // Declared in GenerateClassfile.jrag at line 18 public void generateClassfile() { if(fromSource()) { for(int i = 0; i < getNumTypeDecl(); i++) { getTypeDecl(i).generateClassfile(); getTypeDecl(i).clear(); } } } // Declared in Transformations.jrag at line 18 public void transformation() { if(fromSource()) { for(int i = 0; i < getNumTypeDecl(); i++) { getTypeDecl(i).transformation(); } } } // Declared in java.ast at line 3 // Declared in java.ast line 4
public CompilationUnit() { super();
setChild(new List(), 0);
setChild(new List(), 1);
} // Declared in java.ast at line 12
// Declared in java.ast line 4 public CompilationUnit(java.lang.String p0, List<ImportDecl> p1, List<TypeDecl> p2) { setPackageDecl(p0); setChild(p1, 0); setChild(p2, 1); } // Declared in java.ast at line 19 // Declared in java.ast line 4 public CompilationUnit(beaver.Symbol p0, List<ImportDecl> p1, List<TypeDecl> p2) { setPackageDecl(p0); setChild(p1, 0); setChild(p2, 1); } // Declared in java.ast at line 25 protected int numChildren() {
return 2;
} // Declared in java.ast at line 28
public boolean mayHaveRewrite() { return false; } // Declared in java.ast at line 2 // Declared in java.ast line 4 private java.lang.String tokenjava_lang_String_PackageDecl; // Declared in java.ast at line 3 public void setPackageDecl(java.lang.String value) { tokenjava_lang_String_PackageDecl = value; } // Declared in java.ast at line 6 public int PackageDeclstart; // Declared in java.ast at line 7 public int PackageDeclend; // Declared in java.ast at line 8 public void setPackageDecl(beaver.Symbol symbol) { if(symbol.value != null && !(symbol.value instanceof String)) throw new UnsupportedOperationException("setPackageDecl is only valid for String lexemes"); tokenjava_lang_String_PackageDecl = (String)symbol.value; PackageDeclstart = symbol.getStart(); PackageDeclend = symbol.getEnd(); } // Declared in java.ast at line 15 public java.lang.String getPackageDecl() { return tokenjava_lang_String_PackageDecl != null ? tokenjava_lang_String_PackageDecl : ""; } // Declared in java.ast at line 2 // Declared in java.ast line 4 public void setImportDeclList(List<ImportDecl> list) { setChild(list, 0); } // Declared in java.ast at line 6 private int getNumImportDecl = 0; // Declared in java.ast at line 7 public int getNumImportDecl() { return getImportDeclList().getNumChild(); } // Declared in java.ast at line 11 @SuppressWarnings({"unchecked", "cast"}) public ImportDecl getImportDecl(int i) { return (ImportDecl)getImportDeclList().getChild(i); } // Declared in java.ast at line 15 public void addImportDecl(ImportDecl node) { List<ImportDecl> list = getImportDeclList(); list.addChild(node); } // Declared in java.ast at line 20 public void setImportDecl(ImportDecl node, int i) { List<ImportDecl> list = getImportDeclList(); list.setChild(node, i); } // Declared in java.ast at line 24 public List<ImportDecl> getImportDecls() { return getImportDeclList(); } // Declared in java.ast at line 27 public List<ImportDecl> getImportDeclsNoTransform() { return getImportDeclListNoTransform(); } // Declared in java.ast at line 31 @SuppressWarnings({"unchecked", "cast"}) public List<ImportDecl> getImportDeclList() { return (List<ImportDecl>)getChild(0); } // Declared in java.ast at line 35 @SuppressWarnings({"unchecked", "cast"}) public List<ImportDecl> getImportDeclListNoTransform() { return (List<ImportDecl>)getChildNoTransform(0); } // Declared in java.ast at line 2 // Declared in java.ast line 4 public void setTypeDeclList(List<TypeDecl> list) { setChild(list, 1); } // Declared in java.ast at line 6 private int getNumTypeDecl = 0; // Declared in java.ast at line 7 public int getNumTypeDecl() { return getTypeDeclList().getNumChild(); } // Declared in java.ast at line 11 @SuppressWarnings({"unchecked", "cast"}) public TypeDecl getTypeDecl(int i) { return (TypeDecl)getTypeDeclList().getChild(i); } // Declared in java.ast at line 15 public void addTypeDecl(TypeDecl node) { List<TypeDecl> list = getTypeDeclList(); list.addChild(node); } // Declared in java.ast at line 20 public void setTypeDecl(TypeDecl node, int i) { List<TypeDecl> list = getTypeDeclList(); list.setChild(node, i); } // Declared in java.ast at line 24 public List<TypeDecl> getTypeDecls() { return getTypeDeclList(); } // Declared in java.ast at line 27 public List<TypeDecl> getTypeDeclsNoTransform() { return getTypeDeclListNoTransform(); } // Declared in java.ast at line 31 @SuppressWarnings({"unchecked", "cast"}) public List<TypeDecl> getTypeDeclList() { return (List<TypeDecl>)getChild(1); } // Declared in java.ast at line 35
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -