package com.drawbridge.jsengine.ast; import java.util.LinkedList; import com.drawbridge.jsengine.Scope; import com.drawbridge.jsengine.jsobjects.ExecutionException; import com.drawbridge.jsengine.jsobjects.JSType; import com.google.caja.parser.js.Expression; import com.google.caja.parser.js.ExpressionStmt; public class ExpressionStmtEvaluator extends Evaluator { Expression expression; /** * Contains only an expression as it's child * * @param parser * @param expressionStmt */ public ExpressionStmtEvaluator(Evaluator parent, Scope scope, ExpressionStmt expressionStmt) { super(parent, scope, expressionStmt.getFilePosition()); expression = expressionStmt.getExpression(); mChildren.add(Evaluator.getEvaluator(this, mScope, (Expression) expression)); } @Override public JSType evaluate() throws EvaluatorException, ExecutionException { return mChildren.get(0).evaluate(); } @Override public LinkedList<com.drawbridge.vl.blocks.Block> getBlocks() { if (mChildren.size() > 0 && mChildren.get(0) != null) return mChildren.get(0).getBlocks(); else return new LinkedList<com.drawbridge.vl.blocks.Block>(); } @Override public boolean compare(Evaluator e) { // TODO Auto-generated method stub return false; } }