📄 granuledecl.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 GranuleDecl extends ReferenceType implements Cloneable {
public void flushCache() { super.flushCache(); memberFields_String_visited = new java.util.HashMap(4); memberFields_String_values = null; rootClass_String_visited = new java.util.HashMap(4); isGranuleDecl_visited = -1; } @SuppressWarnings({"unchecked", "cast"}) public GranuleDecl clone() throws CloneNotSupportedException { GranuleDecl node = (GranuleDecl)super.clone(); node.memberFields_String_visited = new java.util.HashMap(4); node.memberFields_String_values = null; node.rootClass_String_visited = new java.util.HashMap(4); node.isGranuleDecl_visited = -1; node.in$Circle(false); node.is$Final(false); return node; } @SuppressWarnings({"unchecked", "cast"}) public GranuleDecl copy() { try { GranuleDecl node = (GranuleDecl)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 GranuleDecl fullCopy() { GranuleDecl res = (GranuleDecl)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 GOP.jrag at line 10
public boolean hasRootClass(){
return true;
} // Declared in GOP.jrag at line 216
public void typeCheck(){
boolean b=false;
for(int i = 0; i < getNumBodyDecl(); i++) {
if(b)
error(" granule can only have one GranuleBody exsit");
BodyDecl bodyDecl = getBodyDecl(i);
if(bodyDecl instanceof MethodDecl || bodyDecl instanceof StaticInitializer || bodyDecl instanceof ConstructorDecl )
error(" granule can not have method or initializer or constructor memeber.");
if(bodyDecl instanceof GranuleBody)
b=!b;
}
} // Declared in Granule.ast at line 3 // Declared in Granule.ast line 1
public GranuleDecl() { super();
setChild(new Opt(), 1);
setChild(new List(), 3);
} // Declared in Granule.ast at line 12
// Declared in Granule.ast line 1 public GranuleDecl(Modifiers p0, String p1, Opt<Access> p2, Access p3, List<BodyDecl> p4) { setChild(p0, 0); setID(p1); setChild(p2, 1); setChild(p3, 2); setChild(p4, 3); } // Declared in Granule.ast at line 21 // Declared in Granule.ast line 1 public GranuleDecl(Modifiers p0, beaver.Symbol p1, Opt<Access> p2, Access p3, List<BodyDecl> p4) { setChild(p0, 0); setID(p1); setChild(p2, 1); setChild(p3, 2); setChild(p4, 3); } // Declared in Granule.ast at line 29 protected int numChildren() {
return 4;
} // Declared in Granule.ast at line 32
public boolean mayHaveRewrite() { return false; } // Declared in Granule.ast at line 2 // Declared in Granule.ast line 1 public void setModifiers(Modifiers node) { setChild(node, 0); } // Declared in Granule.ast at line 5 public Modifiers getModifiers() { return (Modifiers)getChild(0); } // Declared in Granule.ast at line 9 public Modifiers getModifiersNoTransform() { return (Modifiers)getChildNoTransform(0); } // Declared in Granule.ast at line 2 // Declared in Granule.ast line 1 public void setSuperGranuleAccessOpt(Opt<Access> opt) { setChild(opt, 1); } // Declared in Granule.ast at line 6 public boolean hasSuperGranuleAccess() { return getSuperGranuleAccessOpt().getNumChild() != 0; } // Declared in Granule.ast at line 10 @SuppressWarnings({"unchecked", "cast"}) public Access getSuperGranuleAccess() { return (Access)getSuperGranuleAccessOpt().getChild(0); } // Declared in Granule.ast at line 14 public void setSuperGranuleAccess(Access node) { getSuperGranuleAccessOpt().setChild(node, 0); } // Declared in Granule.ast at line 17 @SuppressWarnings({"unchecked", "cast"}) public Opt<Access> getSuperGranuleAccessOpt() { return (Opt<Access>)getChild(1); } // Declared in Granule.ast at line 21 @SuppressWarnings({"unchecked", "cast"}) public Opt<Access> getSuperGranuleAccessOptNoTransform() { return (Opt<Access>)getChildNoTransform(1); } // Declared in Granule.ast at line 2 // Declared in Granule.ast line 1 public void setRootClassAccess(Access node) { setChild(node, 2); } // Declared in Granule.ast at line 5 public Access getRootClassAccess() { return (Access)getChild(2); } // Declared in Granule.ast at line 9 public Access getRootClassAccessNoTransform() { return (Access)getChildNoTransform(2); } // Declared in Granule.ast at line 2 // Declared in Granule.ast line 1 public void setBodyDeclList(List<BodyDecl> list) { setChild(list, 3); } // Declared in Granule.ast at line 6 private int getNumBodyDecl = 0; // Declared in Granule.ast at line 7 public int getNumBodyDecl() { return getBodyDeclList().getNumChild(); } // Declared in Granule.ast at line 11 @SuppressWarnings({"unchecked", "cast"}) public BodyDecl getBodyDecl(int i) { return (BodyDecl)getBodyDeclList().getChild(i); } // Declared in Granule.ast at line 15 public void addBodyDecl(BodyDecl node) { List<BodyDecl> list = getBodyDeclList(); list.addChild(node); } // Declared in Granule.ast at line 20 public void setBodyDecl(BodyDecl node, int i) { List<BodyDecl> list = getBodyDeclList(); list.setChild(node, i); } // Declared in Granule.ast at line 24 public List<BodyDecl> getBodyDecls() { return getBodyDeclList(); } // Declared in Granule.ast at line 27 public List<BodyDecl> getBodyDeclsNoTransform() { return getBodyDeclListNoTransform(); } // Declared in Granule.ast at line 31 @SuppressWarnings({"unchecked", "cast"}) public List<BodyDecl> getBodyDeclList() { return (List<BodyDecl>)getChild(3); } // Declared in Granule.ast at line 35 @SuppressWarnings({"unchecked", "cast"}) public List<BodyDecl> getBodyDeclListNoTransform() { return (List<BodyDecl>)getChildNoTransform(3); } protected java.util.Map memberFields_String_visited; // Declared in GOP.jrag at line 119 @SuppressWarnings({"unchecked", "cast"}) public SimpleSet memberFields(String name) { Object _parameters = name;if(memberFields_String_visited == null) memberFields_String_visited = new java.util.HashMap(4);if(memberFields_String_values == null) memberFields_String_values = new java.util.HashMap(4); if(memberFields_String_values.containsKey(_parameters)) return (SimpleSet)memberFields_String_values.get(_parameters); if(new Integer(boundariesCrossed).equals(memberFields_String_visited.get(_parameters))) throw new RuntimeException("Circular definition of attr: memberFields in class: "); memberFields_String_visited.put(_parameters, new Integer(boundariesCrossed)); int num = boundariesCrossed; boolean isFinal = this.is$Final(); SimpleSet memberFields_String_value = memberFields_compute(name); if(isFinal && num == boundariesCrossed) memberFields_String_values.put(_parameters, memberFields_String_value); memberFields_String_visited.remove(_parameters); return memberFields_String_value; } private SimpleSet memberFields_compute(String name) {
SimpleSet fields = localFields(name);
if(!fields.isEmpty())
return fields; // this causes hiding of fields in superclass and interfaces
//find field in rootclass
TypeDecl rootClass = rootClass(((TypeAccess)getRootClassAccess()).name());
if(rootClass!=null){
for(Iterator iter = rootClass.memberFields(name).iterator(); iter.hasNext(); ) {
FieldDeclaration decl = (FieldDeclaration)iter.next();
fields = fields.add(decl);
}
if(!fields.isEmpty())
return fields;
}
return fields;
} protected java.util.Map rootClass_String_visited; // Declared in GOP.jrag at line 178 @SuppressWarnings({"unchecked", "cast"}) public TypeDecl rootClass(String name) { Object _parameters = name;if(rootClass_String_visited == null) rootClass_String_visited = new java.util.HashMap(4); if(new Integer(boundariesCrossed).equals(rootClass_String_visited.get(_parameters))) throw new RuntimeException("Circular definition of attr: rootClass in class: "); rootClass_String_visited.put(_parameters, new Integer(boundariesCrossed)); TypeDecl rootClass_String_value = rootClass_compute(name); rootClass_String_visited.remove(_parameters); return rootClass_String_value; } private TypeDecl rootClass_compute(String name) {
TypeDecl decl = lookupType(packageName(),name);
if(!decl.isClassDecl())
return null;
else
return decl;
} protected int isGranuleDecl_visited = -1; // Declared in GOP.jrag at line 190 @SuppressWarnings({"unchecked", "cast"}) public boolean isGranuleDecl() { if(isGranuleDecl_visited == boundariesCrossed) throw new RuntimeException("Circular definition of attr: isGranuleDecl in class: "); isGranuleDecl_visited = boundariesCrossed; boolean isGranuleDecl_value = isGranuleDecl_compute(); isGranuleDecl_visited = -1; return isGranuleDecl_value; } private boolean isGranuleDecl_compute() { return true; } // Declared in GOP.jrag at line 9 public NameType Define_NameType_nameType(ASTNode caller, ASTNode child) { if(caller == getRootClassAccessNoTransform()) { return NameType.TYPE_NAME; } return super.Define_NameType_nameType(caller, child); }public ASTNode rewriteTo() { return super.rewriteTo();}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -