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

📄 block.java

📁 JDK1.4编译器前端
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    private boolean isDUeverywhere_compute(Variable v) {  return isDUbefore(v) && checkDUeverywhere(v);  }    protected java.util.Map checkReturnDU_Variable_visited;    protected java.util.Map checkReturnDU_Variable_values;    // Declared in DefiniteAssignment.jrag at line 758 @SuppressWarnings({"unchecked", "cast"})     public boolean checkReturnDU(Variable v) {        Object _parameters = v;if(checkReturnDU_Variable_visited == null) checkReturnDU_Variable_visited = new java.util.HashMap(4);if(checkReturnDU_Variable_values == null) checkReturnDU_Variable_values = new java.util.HashMap(4);        if(checkReturnDU_Variable_values.containsKey(_parameters))            return ((Boolean)checkReturnDU_Variable_values.get(_parameters)).booleanValue();        if(new Integer(boundariesCrossed).equals(checkReturnDU_Variable_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: checkReturnDU in class: ");        checkReturnDU_Variable_visited.put(_parameters, new Integer(boundariesCrossed));        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        boolean checkReturnDU_Variable_value = checkReturnDU_compute(v);        if(isFinal && num == boundariesCrossed)            checkReturnDU_Variable_values.put(_parameters, Boolean.valueOf(checkReturnDU_Variable_value));        checkReturnDU_Variable_visited.remove(_parameters);        return checkReturnDU_Variable_value;    }    private boolean checkReturnDU_compute(Variable v) {    HashSet set = new HashSet();    collectBranches(set);    for(Iterator iter = set.iterator(); iter.hasNext(); ) {      Object o = iter.next();      if(o instanceof ReturnStmt) {        ReturnStmt stmt = (ReturnStmt)o;        if(!stmt.isDUafterReachedFinallyBlocks(v))          return false;      }    }    return true;  }    protected java.util.Map isDUafter_Variable_visited;    // Declared in DefiniteAssignment.jrag at line 874 @SuppressWarnings({"unchecked", "cast"})     public boolean isDUafter(Variable v) {        Object _parameters = v;if(isDUafter_Variable_visited == null) isDUafter_Variable_visited = new java.util.HashMap(4);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();        if(new Integer(boundariesCrossed).equals(isDUafter_Variable_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: isDUafter in class: ");        isDUafter_Variable_visited.put(_parameters, new Integer(boundariesCrossed));        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));        isDUafter_Variable_visited.remove(_parameters);        return isDUafter_Variable_value;    }    private boolean isDUafter_compute(Variable v) {  return getNumStmt() == 0 ? isDUbefore(v) : getStmt(getNumStmt()-1).isDUafter(v);  }    protected java.util.Map localVariableDeclaration_String_visited;    protected java.util.Map localVariableDeclaration_String_values;    // Declared in LookupVariable.jrag at line 114 @SuppressWarnings({"unchecked", "cast"})     public VariableDeclaration localVariableDeclaration(String name) {        Object _parameters = name;if(localVariableDeclaration_String_visited == null) localVariableDeclaration_String_visited = new java.util.HashMap(4);if(localVariableDeclaration_String_values == null) localVariableDeclaration_String_values = new java.util.HashMap(4);        if(localVariableDeclaration_String_values.containsKey(_parameters))            return (VariableDeclaration)localVariableDeclaration_String_values.get(_parameters);        if(new Integer(boundariesCrossed).equals(localVariableDeclaration_String_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: localVariableDeclaration in class: ");        localVariableDeclaration_String_visited.put(_parameters, new Integer(boundariesCrossed));        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        VariableDeclaration localVariableDeclaration_String_value = localVariableDeclaration_compute(name);        if(isFinal && num == boundariesCrossed)            localVariableDeclaration_String_values.put(_parameters, localVariableDeclaration_String_value);        localVariableDeclaration_String_visited.remove(_parameters);        return localVariableDeclaration_String_value;    }    private VariableDeclaration localVariableDeclaration_compute(String name) {    for(int i = 0; i < getNumStmt(); i++)      if(getStmt(i).declaresVariable(name))        return (VariableDeclaration)getStmt(i);    return null;  }    protected int canCompleteNormally_visited = -1;    // Declared in UnreachableStatements.jrag at line 37 @SuppressWarnings({"unchecked", "cast"})     public boolean canCompleteNormally() {        if(canCompleteNormally_computed)            return canCompleteNormally_value;        if(canCompleteNormally_visited == boundariesCrossed)            throw new RuntimeException("Circular definition of attr: canCompleteNormally in class: ");        canCompleteNormally_visited = boundariesCrossed;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        canCompleteNormally_value = canCompleteNormally_compute();        if(isFinal && num == boundariesCrossed)            canCompleteNormally_computed = true;        canCompleteNormally_visited = -1;        return canCompleteNormally_value;    }    private boolean canCompleteNormally_compute() {  return getNumStmt() == 0 ? reachable() : getStmt(getNumStmt() - 1).canCompleteNormally();  }    protected java.util.Map lookupType_String_visited;    protected java.util.Map lookupType_String_values;    // Declared in LookupType.jrag at line 175 @SuppressWarnings({"unchecked", "cast"})     public SimpleSet lookupType(String name) {        Object _parameters = name;if(lookupType_String_visited == null) lookupType_String_visited = new java.util.HashMap(4);if(lookupType_String_values == null) lookupType_String_values = new java.util.HashMap(4);        if(lookupType_String_values.containsKey(_parameters))            return (SimpleSet)lookupType_String_values.get(_parameters);        if(new Integer(boundariesCrossed).equals(lookupType_String_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: lookupType in class: ");        lookupType_String_visited.put(_parameters, new Integer(boundariesCrossed));        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        SimpleSet lookupType_String_value = getParent().Define_SimpleSet_lookupType(this, null, name);        if(isFinal && num == boundariesCrossed)            lookupType_String_values.put(_parameters, lookupType_String_value);        lookupType_String_visited.remove(_parameters);        return lookupType_String_value;    }    protected java.util.Map lookupVariable_String_visited;    protected java.util.Map lookupVariable_String_values;    // Declared in LookupVariable.jrag at line 17 @SuppressWarnings({"unchecked", "cast"})     public SimpleSet lookupVariable(String name) {        Object _parameters = name;if(lookupVariable_String_visited == null) lookupVariable_String_visited = new java.util.HashMap(4);if(lookupVariable_String_values == null) lookupVariable_String_values = new java.util.HashMap(4);        if(lookupVariable_String_values.containsKey(_parameters))            return (SimpleSet)lookupVariable_String_values.get(_parameters);        if(new Integer(boundariesCrossed).equals(lookupVariable_String_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: lookupVariable in class: ");        lookupVariable_String_visited.put(_parameters, new Integer(boundariesCrossed));        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        SimpleSet lookupVariable_String_value = getParent().Define_SimpleSet_lookupVariable(this, null, name);        if(isFinal && num == boundariesCrossed)            lookupVariable_String_values.put(_parameters, lookupVariable_String_value);        lookupVariable_String_visited.remove(_parameters);        return lookupVariable_String_value;    }    protected int reachable_visited = -1;    // Declared in UnreachableStatements.jrag at line 28 @SuppressWarnings({"unchecked", "cast"})     public boolean reachable() {        if(reachable_visited == boundariesCrossed)            throw new RuntimeException("Circular definition of attr: reachable in class: ");        reachable_visited = boundariesCrossed;        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        boolean reachable_value = getParent().Define_boolean_reachable(this, null);        reachable_visited = -1;        return reachable_value;    }    // Declared in LookupVariable.jrag at line 68    public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name) {        if(caller == getStmtListNoTransform()) {    int index = caller.getIndexOfChild(child);{    VariableDeclaration v = localVariableDeclaration(name);    // declare before use and shadowing    if(v != null && declaredBeforeUse(v, index))      return v;    return lookupVariable(name);  }}        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_SimpleSet_lookupVariable(this, caller, name);    }    // Declared in UnreachableStatements.jrag at line 146    public boolean Define_boolean_reportUnreachable(ASTNode caller, ASTNode child) {        if(caller == getStmtListNoTransform()) {      int i = caller.getIndexOfChild(child);            return i == 0 ? reachable() : getStmt(i-1).reachable();        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_boolean_reportUnreachable(this, caller);    }    // Declared in DefiniteAssignment.jrag at line 52    public boolean Define_boolean_isIncOrDec(ASTNode caller, ASTNode child) {        if(caller == getStmtListNoTransform()) {      int childIndex = caller.getIndexOfChild(child);            return false;        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_boolean_isIncOrDec(this, caller);    }    // Declared in UnreachableStatements.jrag at line 38    public boolean Define_boolean_reachable(ASTNode caller, ASTNode child) {        if(caller == getStmtListNoTransform()) {      int childIndex = caller.getIndexOfChild(child);            return childIndex == 0 ? reachable() : getStmt(childIndex-1).canCompleteNormally();        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_boolean_reachable(this, caller);    }    // Declared in SyntacticClassification.jrag at line 116    public NameType Define_NameType_nameType(ASTNode caller, ASTNode child) {        if(caller == getStmtListNoTransform()) {      int childIndex = caller.getIndexOfChild(child);            return NameType.EXPRESSION_NAME;        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_NameType_nameType(this, caller);    }    // Declared in NameCheck.jrag at line 291    public VariableScope Define_VariableScope_outerScope(ASTNode caller, ASTNode child) {        if(caller == getStmtListNoTransform()) {      int childIndex = caller.getIndexOfChild(child);            return this;        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_VariableScope_outerScope(this, caller);    }    // Declared in DefiniteAssignment.jrag at line 445    public boolean Define_boolean_isDAbefore(ASTNode caller, ASTNode child, Variable v) {        if(caller == getStmtListNoTransform()) {      int index = caller.getIndexOfChild(child);            return index == 0 ? isDAbefore(v) : getStmt(index - 1).isDAafter(v);        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_boolean_isDAbefore(this, caller, v);    }    // Declared in LookupType.jrag at line 292    public SimpleSet Define_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name) {        if(caller == getStmtListNoTransform()) {    int index = caller.getIndexOfChild(child);{    SimpleSet c = SimpleSet.emptySet;    for(int i = index; i >= 0 && !(getStmt(i) instanceof Case); i--) {      if(getStmt(i) instanceof LocalClassDeclStmt) {        TypeDecl t = ((LocalClassDeclStmt)getStmt(i)).getClassDecl();        if(t.name().equals(name)) {          c = c.add(t);        }      }    }    if(!c.isEmpty())      return c;    return lookupType(name);  }}        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_SimpleSet_lookupType(this, caller, name);    }    // Declared in DefiniteAssignment.jrag at line 875    public boolean Define_boolean_isDUbefore(ASTNode caller, ASTNode child, Variable v) {        if(caller == getStmtListNoTransform()) {      int index = caller.getIndexOfChild(child);            return index == 0 ? isDUbefore(v) : getStmt(index - 1).isDUafter(v);        }        if(getParent() == null) throw new RuntimeException("Trying to evaluate attribute in subtree not attached to main tree");        return getParent().Define_boolean_isDUbefore(this, caller, v);    }public ASTNode rewriteTo() {    return super.rewriteTo();}}

⌨️ 快捷键说明

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