package com.klq.ast.impl.stmt; import com.klq.ast.IStatementVisitor; import com.klq.ast.impl.Location; import com.klq.ast.impl.Type; import com.klq.ast.impl.expr.AExpression; import com.klq.ast.impl.expr.IdentifierNode; /** * Created by juriaan on 17-2-15. */ public class ComputedQuestionNode extends QuestionNode { private AExpression computedAnswer; public ComputedQuestionNode(IdentifierNode questionID, Type questionType, String text, AExpression computedAnswer, Location location) { super(questionID, questionType, text, location); this.computedAnswer = computedAnswer; } public ComputedQuestionNode(IdentifierNode questionID, Type questionType, String text, AExpression computedAnswer) { super(questionID, questionType, text); this.computedAnswer = computedAnswer; } public AExpression getComputedAnswer() { return computedAnswer; } @Override public void printSelf() { super.printSelf(); System.out.printf("Child class: %s", computedAnswer.getClass()); System.out.println(); } @Override public <T> T accept(IStatementVisitor<T> visitor) { return visitor.visit(this); } }