⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 methoddecl.java

📁 JDK1.4编译器后端
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    // 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 + -