📄 methoddecl.java
字号:
// build accessor declaration m = new MethodDecl( modifiers, type().createQualifiedAccess(), name() + "$access$" + accessorIndex, (List)getParameterList().fullCopy(), (List)getExceptionList().fullCopy(), new Opt( new Block( new List().add( createAccessorStmt() ) ) ) ); m = methodQualifier.addMemberMethod(m); methodQualifier.addAccessor(this, "method", m); return m; } // Declared in InnerClasses.jrag at line 227 private Stmt createAccessorStmt() { List argumentList = new List(); for(int i = 0; i < getNumParameter(); i++) argumentList.add(new VarAccess(getParameter(i).name())); Access access = new MethodAccess(name(), argumentList); if(!isStatic()) access = new ThisAccess("this").qualifiesAccess(access); return isVoid() ? (Stmt) new ExprStmt(access) : new ReturnStmt(new Opt(access)); } // Declared in InnerClasses.jrag at line 237 public MethodDecl createSuperAccessor(TypeDecl methodQualifier) { MethodDecl m = (MethodDecl)methodQualifier.getAccessor(this, "method_super"); if(m != null) return m; int accessorIndex = methodQualifier.accessorCounter++; List parameters = new List(); List args = new List(); for(int i = 0; i < getNumParameter(); i++) { parameters.add(getParameter(i).fullCopy()); args.add(new VarAccess(getParameter(i).name())); } Stmt stmt; if(type().isVoid()) stmt = new ExprStmt(new SuperAccess("super").qualifiesAccess(new MethodAccess(name(), args))); else stmt = new ReturnStmt(new Opt(new SuperAccess("super").qualifiesAccess(new MethodAccess(name(), args)))); m = new MethodDecl( new Modifiers(new List().add(new Modifier("synthetic"))), type().createQualifiedAccess(), name() + "$access$" + accessorIndex, parameters, new List(), new Opt( new Block( new List().add(stmt) ) ) ); m = methodQualifier.addMemberMethod(m); methodQualifier.addAccessor(this, "method_super", m); return m; } // Declared in java.ast at line 3 // Declared in java.ast line 88
public MethodDecl() { super();
setChild(new List(), 2);
setChild(new List(), 3);
setChild(new Opt(), 4);
} // Declared in java.ast at line 13
// Declared in java.ast line 88 public MethodDecl(Modifiers p0, Access p1, String p2, List<ParameterDeclaration> p3, List<Access> p4, Opt<Block> p5) { setChild(p0, 0); setChild(p1, 1); setID(p2); setChild(p3, 2); setChild(p4, 3); setChild(p5, 4); } // Declared in java.ast at line 23 // Declared in java.ast line 88 public MethodDecl(Modifiers p0, Access p1, beaver.Symbol p2, List<ParameterDeclaration> p3, List<Access> p4, Opt<Block> p5) { setChild(p0, 0); setChild(p1, 1); setID(p2); setChild(p3, 2); setChild(p4, 3); setChild(p5, 4); } // Declared in java.ast at line 32 protected int numChildren() {
return 5;
} // Declared in java.ast at line 35
public boolean mayHaveRewrite() { return false; } // Declared in java.ast at line 2 // Declared in java.ast line 88 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 88 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 88 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)) throw new UnsupportedOperationException("setID is only valid for String lexemes"); tokenString_ID = (String)symbol.value; IDstart = symbol.getStart(); IDend = symbol.getEnd(); } // Declared in java.ast at line 15 public String getID() { return tokenString_ID != null ? tokenString_ID : ""; } // Declared in java.ast at line 2 // Declared in java.ast line 88 public void setParameterList(List<ParameterDeclaration> list) { setChild(list, 2); } // Declared in java.ast at line 6 private int getNumParameter = 0; // Declared in java.ast at line 7 public int getNumParameter() { return getParameterList().getNumChild(); } // Declared in java.ast at line 11 @SuppressWarnings({"unchecked", "cast"}) public ParameterDeclaration getParameter(int i) { return (ParameterDeclaration)getParameterList().getChild(i); } // Declared in java.ast at line 15 public void addParameter(ParameterDeclaration node) { List<ParameterDeclaration> list = getParameterList(); list.addChild(node); } // Declared in java.ast at line 20 public void setParameter(ParameterDeclaration node, int i) { List<ParameterDeclaration> list = getParameterList(); list.setChild(node, i); } // Declared in java.ast at line 24 public List<ParameterDeclaration> getParameters() { return getParameterList(); } // Declared in java.ast at line 27 public List<ParameterDeclaration> getParametersNoTransform() { return getParameterListNoTransform(); } // Declared in java.ast at line 31 @SuppressWarnings({"unchecked", "cast"}) public List<ParameterDeclaration> getParameterList() { return (List<ParameterDeclaration>)getChild(2); } // Declared in java.ast at line 35 @SuppressWarnings({"unchecked", "cast"}) public List<ParameterDeclaration> getParameterListNoTransform() { return (List<ParameterDeclaration>)getChildNoTransform(2); } // Declared in java.ast at line 2 // Declared in java.ast line 88 public void setExceptionList(List<Access> list) { setChild(list, 3); } // Declared in java.ast at line 6 private int getNumException = 0; // Declared in java.ast at line 7 public int getNumException() { return getExceptionList().getNumChild(); } // Declared in java.ast at line 11 @SuppressWarnings({"unchecked", "cast"}) public Access getException(int i) { return (Access)getExceptionList().getChild(i); } // Declared in java.ast at line 15 public void addException(Access node) { List<Access> list = getExceptionList(); list.addChild(node); } // Declared in java.ast at line 20 public void setException(Access node, int i) { List<Access> list = getExceptionList(); list.setChild(node, i); } // Declared in java.ast at line 24 public List<Access> getExceptions() { return getExceptionList(); } // Declared in java.ast at line 27 public List<Access> getExceptionsNoTransform() { return getExceptionListNoTransform(); } // Declared in java.ast at line 31 @SuppressWarnings({"unchecked", "cast"}) public List<Access> getExceptionList() { return (List<Access>)getChild(3); } // Declared in java.ast at line 35 @SuppressWarnings({"unchecked", "cast"}) public List<Access> getExceptionListNoTransform() { return (List<Access>)getChildNoTransform(3); } // Declared in java.ast at line 2 // Declared in java.ast line 88 public void setBlockOpt(Opt<Block> opt) { setChild(opt, 4); } // Declared in java.ast at line 6 public boolean hasBlock() { return getBlockOpt().getNumChild() != 0; } // Declared in java.ast at line 10 @SuppressWarnings({"unchecked", "cast"}) public Block getBlock() { return (Block)getBlockOpt().getChild(0); } // Declared in java.ast at line 14 public void setBlock(Block node) { getBlockOpt().setChild(node, 0); } // Declared in java.ast at line 17 @SuppressWarnings({"unchecked", "cast"}) public Opt<Block> getBlockOpt() { return (Opt<Block>)getChild(4); } // Declared in java.ast at line 21 @SuppressWarnings({"unchecked", "cast"}) public Opt<Block> getBlockOptNoTransform() { return (Opt<Block>)getChildNoTransform(4); } protected java.util.Map accessibleFrom_TypeDecl_values; // Declared in AccessControl.jrag at line 77 @SuppressWarnings({"unchecked", "cast"}) public boolean accessibleFrom(TypeDecl type) { Object _parameters = type;if(accessibleFrom_TypeDecl_values == null) accessibleFrom_TypeDecl_values = new java.util.HashMap(4); if(accessibleFrom_TypeDecl_values.containsKey(_parameters)) return ((Boolean)accessibleFrom_TypeDecl_values.get(_parameters)).booleanValue();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -