trystmt.java

来自「JDK1.4编译器后端」· Java 代码 · 共 940 行 · 第 1/3 页

JAVA
940
字号
    }    // Declared in java.ast at line 27    public List<CatchClause> getCatchClausesNoTransform() {        return getCatchClauseListNoTransform();    }    // Declared in java.ast at line 31     @SuppressWarnings({"unchecked", "cast"})  public List<CatchClause> getCatchClauseList() {        return (List<CatchClause>)getChild(1);    }    // Declared in java.ast at line 35     @SuppressWarnings({"unchecked", "cast"})  public List<CatchClause> getCatchClauseListNoTransform() {        return (List<CatchClause>)getChildNoTransform(1);    }    // Declared in java.ast at line 2    // Declared in java.ast line 222    public void setFinallyOpt(Opt<Block> opt) {        setChild(opt, 2);    }    // Declared in java.ast at line 6    public boolean hasFinally() {        return getFinallyOpt().getNumChild() != 0;    }    // Declared in java.ast at line 10     @SuppressWarnings({"unchecked", "cast"})  public Block getFinally() {        return (Block)getFinallyOpt().getChild(0);    }    // Declared in java.ast at line 14    public void setFinally(Block node) {        getFinallyOpt().setChild(node, 0);    }    // Declared in java.ast at line 17     @SuppressWarnings({"unchecked", "cast"})  public Opt<Block> getFinallyOpt() {        return (Opt<Block>)getChild(2);    }    // Declared in java.ast at line 21     @SuppressWarnings({"unchecked", "cast"})  public Opt<Block> getFinallyOptNoTransform() {        return (Opt<Block>)getChildNoTransform(2);    }    protected boolean branches_computed = false;    protected Collection branches_value;    // Declared in BranchTarget.jrag at line 116 @SuppressWarnings({"unchecked", "cast"})     public Collection branches() {        if(branches_computed)            return branches_value;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        branches_value = branches_compute();        if(isFinal && num == boundariesCrossed)            branches_computed = true;        return branches_value;    }    private Collection branches_compute() {    HashSet set = new HashSet();    getBlock().collectBranches(set);    for(int i = 0; i < getNumCatchClause(); i++)      getCatchClause(i).collectBranches(set);    return set;  }    protected boolean branchesFromFinally_computed = false;    protected Collection branchesFromFinally_value;    // Declared in BranchTarget.jrag at line 124 @SuppressWarnings({"unchecked", "cast"})     public Collection branchesFromFinally() {        if(branchesFromFinally_computed)            return branchesFromFinally_value;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        branchesFromFinally_value = branchesFromFinally_compute();        if(isFinal && num == boundariesCrossed)            branchesFromFinally_computed = true;        return branchesFromFinally_value;    }    private Collection branchesFromFinally_compute() {    HashSet set = new HashSet();    if(hasFinally())      getFinally().collectBranches(set);    return set;  }    protected boolean targetBranches_computed = false;    protected Collection targetBranches_value;    // Declared in BranchTarget.jrag at line 132 @SuppressWarnings({"unchecked", "cast"})     public Collection targetBranches() {        if(targetBranches_computed)            return targetBranches_value;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        targetBranches_value = targetBranches_compute();        if(isFinal && num == boundariesCrossed)            targetBranches_computed = true;        return targetBranches_value;    }    private Collection targetBranches_compute() {    HashSet set = new HashSet();    if(hasFinally() && !getFinally().canCompleteNormally())      set.addAll(branches());    return set;  }    protected boolean escapedBranches_computed = false;    protected Collection escapedBranches_value;    // Declared in BranchTarget.jrag at line 140 @SuppressWarnings({"unchecked", "cast"})     public Collection escapedBranches() {        if(escapedBranches_computed)            return escapedBranches_value;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        escapedBranches_value = escapedBranches_compute();        if(isFinal && num == boundariesCrossed)            escapedBranches_computed = true;        return escapedBranches_value;    }    private Collection escapedBranches_compute() {    HashSet set = new HashSet();    if(hasFinally())      set.addAll(branchesFromFinally());    if(!hasFinally() || getFinally().canCompleteNormally())      set.addAll(branches());    return set;  }    // Declared in DefiniteAssignment.jrag at line 667 @SuppressWarnings({"unchecked", "cast"})     public boolean isDAafter(Variable v) {        Object _parameters = v;if(isDAafter_Variable_values == null) isDAafter_Variable_values = new java.util.HashMap(4);        if(isDAafter_Variable_values.containsKey(_parameters))            return ((Boolean)isDAafter_Variable_values.get(_parameters)).booleanValue();        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        boolean isDAafter_Variable_value = isDAafter_compute(v);        if(isFinal && num == boundariesCrossed)            isDAafter_Variable_values.put(_parameters, Boolean.valueOf(isDAafter_Variable_value));        return isDAafter_Variable_value;    }    private boolean isDAafter_compute(Variable v) {    // 16.2.15 4th bullet    if(!hasFinally()) {      if(!getBlock().isDAafter(v))        return false;      for(int i = 0; i < getNumCatchClause(); i++)        if(!getCatchClause(i).getBlock().isDAafter(v))          return false;      return true;    }    else {      // 16.2.15 5th bullet      if(getFinally().isDAafter(v))        return true;      if(!getBlock().isDAafter(v))        return false;      for(int i = 0; i < getNumCatchClause(); i++)        if(!getCatchClause(i).getBlock().isDAafter(v))          return false;      return true;    }  }    // Declared in DefiniteAssignment.jrag at line 918 @SuppressWarnings({"unchecked", "cast"})     public boolean isDUafterFinally(Variable v) {        boolean isDUafterFinally_Variable_value = isDUafterFinally_compute(v);        return isDUafterFinally_Variable_value;    }    private boolean isDUafterFinally_compute(Variable v) {  return getFinally().isDUafter(v);  }    // Declared in DefiniteAssignment.jrag at line 921 @SuppressWarnings({"unchecked", "cast"})     public boolean isDAafterFinally(Variable v) {        boolean isDAafterFinally_Variable_value = isDAafterFinally_compute(v);        return isDAafterFinally_Variable_value;    }    private boolean isDAafterFinally_compute(Variable v) {  return getFinally().isDAafter(v);  }    protected java.util.Map isDUbefore_Variable_visited;    protected java.util.Set isDUbefore_Variable_computed = new java.util.HashSet(4);    protected java.util.Set isDUbefore_Variable_initialized = new java.util.HashSet(4);    protected java.util.Map isDUbefore_Variable_values = new java.util.HashMap(4); @SuppressWarnings({"unchecked", "cast"})     public boolean isDUbefore(Variable v) {        Object _parameters = v;if(isDUbefore_Variable_visited == null) isDUbefore_Variable_visited = new java.util.HashMap(4);if(isDUbefore_Variable_values == null) isDUbefore_Variable_values = new java.util.HashMap(4);        if(isDUbefore_Variable_computed.contains(_parameters))            return ((Boolean)isDUbefore_Variable_values.get(_parameters)).booleanValue();        if (!isDUbefore_Variable_initialized.contains(_parameters)) {            isDUbefore_Variable_initialized.add(_parameters);            isDUbefore_Variable_values.put(_parameters, Boolean.valueOf(true));        }        if (!IN_CIRCLE) {            IN_CIRCLE = true;            int num = boundariesCrossed;        boolean isFinal = this.is$Final();            CIRCLE_INDEX = 1;            boolean new_isDUbefore_Variable_value;            do {                isDUbefore_Variable_visited.put(_parameters, new Integer(CIRCLE_INDEX));                CHANGE = false;                new_isDUbefore_Variable_value = isDUbefore_compute(v);                if (new_isDUbefore_Variable_value!=((Boolean)isDUbefore_Variable_values.get(_parameters)).booleanValue())                    CHANGE = true;                isDUbefore_Variable_values.put(_parameters, Boolean.valueOf(new_isDUbefore_Variable_value));                CIRCLE_INDEX++;            } while (CHANGE);            if(isFinal && num == boundariesCrossed){            isDUbefore_Variable_computed.add(_parameters);            }            else {            RESET_CYCLE = true;            isDUbefore_compute(v);            RESET_CYCLE = false;            isDUbefore_Variable_computed.remove(_parameters);            isDUbefore_Variable_initialized.remove(_parameters);            }            IN_CIRCLE = false;             return new_isDUbefore_Variable_value;        }        if(!new Integer(CIRCLE_INDEX).equals(isDUbefore_Variable_visited.get(_parameters))) {            isDUbefore_Variable_visited.put(_parameters, new Integer(CIRCLE_INDEX));            if (RESET_CYCLE) {                isDUbefore_Variable_computed.remove(_parameters);                isDUbefore_Variable_initialized.remove(_parameters);                return ((Boolean)isDUbefore_Variable_values.get(_parameters)).booleanValue();            }            boolean new_isDUbefore_Variable_value = isDUbefore_compute(v);            if (new_isDUbefore_Variable_value!=((Boolean)isDUbefore_Variable_values.get(_parameters)).booleanValue())                CHANGE = true;            isDUbefore_Variable_values.put(_parameters, Boolean.valueOf(new_isDUbefore_Variable_value));            return new_isDUbefore_Variable_value;        }        return ((Boolean)isDUbefore_Variable_values.get(_parameters)).booleanValue();    }    private boolean isDUbefore_compute(Variable v) {  return super.isDUbefore(v);  }    // Declared in DefiniteAssignment.jrag at line 1225 @SuppressWarnings({"unchecked", "cast"})     public boolean isDUafter(Variable v) {        Object _parameters = v;if(isDUafter_Variable_values == null) isDUafter_Variable_values = new java.util.HashMap(4);        if(isDUafter_Variable_values.containsKey(_parameters))            return ((Boolean)isDUafter_Variable_values.get(_parameters)).booleanValue();        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        boolean isDUafter_Variable_value = isDUafter_compute(v);        if(isFinal && num == boundariesCrossed)            isDUafter_Variable_values.put(_parameters, Boolean.valueOf(isDUafter_Variable_value));        return isDUafter_Variable_value;    }    private boolean isDUafter_compute(Variable v) {    // 16.2.14 4th bullet    if(!hasFinally()) {      if(!getBlock().isDUafter(v))        return false;      for(int i = 0; i < getNumCatchClause(); i++)        if(!getCatchClause(i).getBlock().isDUafter(v))          return false;      return true;    }    else      return getFinally().isDUafter(v);  }    protected java.util.Map reachableThrow_CatchClause_values;    // Declared in ExceptionHandling.jrag at line 193 @SuppressWarnings({"unchecked", "cast"})     public boolean reachableThrow(CatchClause c) {        Object _parameters = c;if(reachableThrow_CatchClause_values == null) reachableThrow_CatchClause_values = new java.util.HashMap(4);        if(reachableThrow_CatchClause_values.containsKey(_parameters))            return ((Boolean)reachableThrow_CatchClause_values.get(_parameters)).booleanValue();        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        boolean reachableThrow_CatchClause_value = reachableThrow_compute(c);        if(isFinal && num == boundariesCrossed)            reachableThrow_CatchClause_values.put(_parameters, Boolean.valueOf(reachableThrow_CatchClause_value));        return reachableThrow_CatchClause_value;    }    private boolean reachableThrow_compute(CatchClause c) {  return getBlock().reachedException(c.getParameter().type());  }    // Declared in UnreachableStatements.jrag at line 113 @SuppressWarnings({"unchecked", "cast"})     public boolean canCompleteNormally() {        if(canCompleteNormally_computed)            return canCompleteNormally_value;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?