package com.drawbridge.jsengine.ast; import java.util.LinkedList; import com.drawbridge.jsengine.Scope; import com.drawbridge.jsengine.jsobjects.JSBoolean; import com.drawbridge.jsengine.jsobjects.JSType; import com.drawbridge.vl.blocks.BlockPrimitive; import com.google.caja.parser.js.BooleanLiteral; public class BooleanLiteralEvaluator extends Evaluator { boolean value; public BooleanLiteralEvaluator(Evaluator parent, Scope scope, BooleanLiteral bLiteral) { super(parent, scope, bLiteral.getFilePosition()); value = bLiteral.getValue(); } @Override public JSType evaluate() throws EvaluatorException { return new JSBoolean(value); } @Override public LinkedList<com.drawbridge.vl.blocks.Block> getBlocks() { LinkedList<com.drawbridge.vl.blocks.Block> result = new LinkedList<com.drawbridge.vl.blocks.Block>(); result.add(new BlockPrimitive(getFilePosition(), this, value ? "true" : "false")); return result; } @Override public boolean compare(Evaluator e) { if (!e.getClass().equals(getClass())) return false; BooleanLiteralEvaluator ble = (BooleanLiteralEvaluator) e; if (value == ble.value && e.getFilePosition().equals(getFilePosition())) return true; else return false; } }