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

📄 conditionalexpr.java

📁 JDK1.4编译器前端
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        isConstant_value = isConstant_compute();        if(isFinal && num == boundariesCrossed)            isConstant_computed = true;        isConstant_visited = -1;        return isConstant_value;    }    private boolean isConstant_compute() {  return getCondition().isConstant() && getTrueExpr().isConstant() && getFalseExpr().isConstant();  }    protected int booleanOperator_visited = -1;    protected boolean booleanOperator_computed = false;    protected boolean booleanOperator_value;    // Declared in DefiniteAssignment.jrag at line 232 @SuppressWarnings({"unchecked", "cast"})     public boolean booleanOperator() {        if(booleanOperator_computed)            return booleanOperator_value;        if(booleanOperator_visited == boundariesCrossed)            throw new RuntimeException("Circular definition of attr: booleanOperator in class: ");        booleanOperator_visited = boundariesCrossed;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        booleanOperator_value = booleanOperator_compute();        if(isFinal && num == boundariesCrossed)            booleanOperator_computed = true;        booleanOperator_visited = -1;        return booleanOperator_value;    }    private boolean booleanOperator_compute() {  return getTrueExpr().type().isBoolean() && getFalseExpr().type().isBoolean();  }    protected java.util.Map isDAafterTrue_Variable_visited;    // Declared in DefiniteAssignment.jrag at line 386 @SuppressWarnings({"unchecked", "cast"})     public boolean isDAafterTrue(Variable v) {        Object _parameters = v;if(isDAafterTrue_Variable_visited == null) isDAafterTrue_Variable_visited = new java.util.HashMap(4);        if(new Integer(boundariesCrossed).equals(isDAafterTrue_Variable_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: isDAafterTrue in class: ");        isDAafterTrue_Variable_visited.put(_parameters, new Integer(boundariesCrossed));        boolean isDAafterTrue_Variable_value = isDAafterTrue_compute(v);        isDAafterTrue_Variable_visited.remove(_parameters);        return isDAafterTrue_Variable_value;    }    private boolean isDAafterTrue_compute(Variable v) {  return (getTrueExpr().isDAafterTrue(v) && getFalseExpr().isDAafterTrue(v)) || isFalse();  }    protected java.util.Map isDAafterFalse_Variable_visited;    // Declared in DefiniteAssignment.jrag at line 387 @SuppressWarnings({"unchecked", "cast"})     public boolean isDAafterFalse(Variable v) {        Object _parameters = v;if(isDAafterFalse_Variable_visited == null) isDAafterFalse_Variable_visited = new java.util.HashMap(4);        if(new Integer(boundariesCrossed).equals(isDAafterFalse_Variable_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: isDAafterFalse in class: ");        isDAafterFalse_Variable_visited.put(_parameters, new Integer(boundariesCrossed));        boolean isDAafterFalse_Variable_value = isDAafterFalse_compute(v);        isDAafterFalse_Variable_visited.remove(_parameters);        return isDAafterFalse_Variable_value;    }    private boolean isDAafterFalse_compute(Variable v) {  return (getTrueExpr().isDAafterFalse(v) && getFalseExpr().isDAafterFalse(v)) || isTrue();  }    protected java.util.Map isDAafter_Variable_visited;    // Declared in DefiniteAssignment.jrag at line 391 @SuppressWarnings({"unchecked", "cast"})     public boolean isDAafter(Variable v) {        Object _parameters = v;if(isDAafter_Variable_visited == null) isDAafter_Variable_visited = new java.util.HashMap(4);        if(new Integer(boundariesCrossed).equals(isDAafter_Variable_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: isDAafter in class: ");        isDAafter_Variable_visited.put(_parameters, new Integer(boundariesCrossed));        boolean isDAafter_Variable_value = isDAafter_compute(v);        isDAafter_Variable_visited.remove(_parameters);        return isDAafter_Variable_value;    }    private boolean isDAafter_compute(Variable v) {  return booleanOperator() ? isDAafterTrue(v) && isDAafterFalse(v) : getTrueExpr().isDAafter(v) && getFalseExpr().isDAafter(v);  }    protected java.util.Map isDUafterTrue_Variable_visited;    // Declared in DefiniteAssignment.jrag at line 820 @SuppressWarnings({"unchecked", "cast"})     public boolean isDUafterTrue(Variable v) {        Object _parameters = v;if(isDUafterTrue_Variable_visited == null) isDUafterTrue_Variable_visited = new java.util.HashMap(4);        if(new Integer(boundariesCrossed).equals(isDUafterTrue_Variable_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: isDUafterTrue in class: ");        isDUafterTrue_Variable_visited.put(_parameters, new Integer(boundariesCrossed));        boolean isDUafterTrue_Variable_value = isDUafterTrue_compute(v);        isDUafterTrue_Variable_visited.remove(_parameters);        return isDUafterTrue_Variable_value;    }    private boolean isDUafterTrue_compute(Variable v) {  return getTrueExpr().isDUafterTrue(v) && getFalseExpr().isDUafterTrue(v);  }    protected java.util.Map isDUafterFalse_Variable_visited;    // Declared in DefiniteAssignment.jrag at line 821 @SuppressWarnings({"unchecked", "cast"})     public boolean isDUafterFalse(Variable v) {        Object _parameters = v;if(isDUafterFalse_Variable_visited == null) isDUafterFalse_Variable_visited = new java.util.HashMap(4);        if(new Integer(boundariesCrossed).equals(isDUafterFalse_Variable_visited.get(_parameters)))            throw new RuntimeException("Circular definition of attr: isDUafterFalse in class: ");        isDUafterFalse_Variable_visited.put(_parameters, new Integer(boundariesCrossed));        boolean isDUafterFalse_Variable_value = isDUafterFalse_compute(v);        isDUafterFalse_Variable_visited.remove(_parameters);        return isDUafterFalse_Variable_value;    }    private boolean isDUafterFalse_compute(Variable v) {  return getTrueExpr().isDUafterFalse(v) && getFalseExpr().isDUafterFalse(v);  }    protected java.util.Map isDUafter_Variable_visited;    // Declared in DefiniteAssignment.jrag at line 825 @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(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));        boolean isDUafter_Variable_value = isDUafter_compute(v);        isDUafter_Variable_visited.remove(_parameters);        return isDUafter_Variable_value;    }    private boolean isDUafter_compute(Variable v) {  return booleanOperator() ? isDUafterTrue(v) && isDUafterFalse(v) : getTrueExpr().isDUafter(v) && getFalseExpr().isDUafter(v);  }    protected int type_visited = -1;    protected boolean type_computed = false;    protected TypeDecl type_value;    // Declared in TypeAnalysis.jrag at line 365 @SuppressWarnings({"unchecked", "cast"})     public TypeDecl type() {        if(type_computed)            return type_value;        if(type_visited == boundariesCrossed)            throw new RuntimeException("Circular definition of attr: type in class: ");        type_visited = boundariesCrossed;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        type_value = type_compute();        if(isFinal && num == boundariesCrossed)            type_computed = true;        type_visited = -1;        return type_value;    }    private TypeDecl type_compute() {    TypeDecl trueType = getTrueExpr().type();    TypeDecl falseType = getFalseExpr().type();        if(trueType == falseType) return trueType;        if(trueType.isNumericType() && falseType.isNumericType()) {      if(trueType.isByte() && falseType.isShort()) return falseType;      if(trueType.isShort() && falseType.isByte()) return trueType;      if((trueType.isByte() || trueType.isShort() || trueType.isChar()) &&          falseType.isInt() && getFalseExpr().isConstant() && getFalseExpr().representableIn(trueType))        return trueType;      if((falseType.isByte() || falseType.isShort() || falseType.isChar()) &&          trueType.isInt() && getTrueExpr().isConstant() && getTrueExpr().representableIn(falseType))        return falseType;      return trueType.binaryNumericPromotion(falseType);    }    else if(trueType.isBoolean() && falseType.isBoolean()) {      return trueType;    }    else if(trueType.isReferenceType() && falseType.isNull()) {      return trueType;    }    else if(trueType.isNull() && falseType.isReferenceType()) {      return falseType;    }    else if(trueType.isReferenceType() && falseType.isReferenceType()) {      if(trueType.assignConversionTo(falseType, null))        return falseType;      if(falseType.assignConversionTo(trueType, null))        return trueType;      return unknownType();    }    else      return unknownType();  }    // Declared in DefiniteAssignment.jrag at line 390    public boolean Define_boolean_isDAbefore(ASTNode caller, ASTNode child, Variable v) {        if(caller == getFalseExprNoTransform()) {            return getCondition().isDAafterFalse(v);        }        if(caller == getTrueExprNoTransform()) {            return getCondition().isDAafterTrue(v);        }        if(caller == getConditionNoTransform()) {            return isDAbefore(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 DefiniteAssignment.jrag at line 824    public boolean Define_boolean_isDUbefore(ASTNode caller, ASTNode child, Variable v) {        if(caller == getFalseExprNoTransform()) {            return getCondition().isDUafterFalse(v);        }        if(caller == getTrueExprNoTransform()) {            return getCondition().isDUafterTrue(v);        }        if(caller == getConditionNoTransform()) {            return isDUbefore(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 + -