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 + -
显示快捷键?