booleanvalue.java

来自「是有关解释器的.用JAVA编写.可以解释一般的JAVA程序.」· Java 代码 · 共 71 行

JAVA
71
字号
public class BooleanValue extends Value {
    private boolean value;

    BooleanValue() {
        value = false;
    }

    BooleanValue(boolean b) {
        value = b;
    }

    boolean isBoolean() {
        return true;
    }

    boolean booleanValue() {
        return value;
    }

    boolean isOfType(String typeName) {
        return typeName.equals("boolean");
    }

    public String toString() {
        return value ? "true" : "false";
    }

    Value or(Value v) throws InterpreterException {
        if (!v.isBoolean())
            throw new InterpreterException(
                    "This type does not support disjunction.");

        return new BooleanValue(value || ((BooleanValue) v).booleanValue());
    }

    Value and(Value v) throws InterpreterException {
        if (!v.isBoolean())
            throw new InterpreterException(
                    "This type does not support conjunction.");

        return new BooleanValue(value && ((BooleanValue) v).booleanValue());
    }

    Value isEqual(Value v) throws InterpreterException {
        if (!v.isBoolean())
            throw new InterpreterException(
                    "This type does not support equation.");

        return new BooleanValue(value == ((BooleanValue) v).booleanValue());
    }

    Value negate()//throws InterpreterException
    {
        return new BooleanValue(!value);
    }

    Value assign(Value v) throws InterpreterException {
        if (!v.isBoolean())
            throw new InterpreterException("wrong type.");

        this.value = ((BooleanValue) v).booleanValue();
        return this;
    }

    Value cloneValue() {
        return new BooleanValue(value);
    }
    
        
}

⌨️ 快捷键说明

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