package com.klq.ast.impl.stmt;
import com.klq.ast.impl.Location;
import com.klq.ast.IStatementVisitor;
import com.klq.ast.impl.expr.AExpression;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Juriaan on 22-2-2015.
*/
public class ConditionalNode extends AStatementNode {
AExpression condition;
List<AStatementNode> children;
public ConditionalNode(AExpression condition, ArrayList<AStatementNode> children, Location location) {
super(location);
init(condition, children);
}
public ConditionalNode(AExpression condition, ArrayList<AStatementNode> children) {
super();
init(condition, children);
}
private void init(AExpression condition, ArrayList<AStatementNode> children) {
this.condition = condition;
this.children = children;
}
public AExpression getCondition() {
return condition;
}
public List<AStatementNode> getChildren() {
return children;
}
public void printSelf() {
System.out.printf("Condition class: %s", condition.getClass());
System.out.println();
System.out.printf("Children size: %s", children.size() );
System.out.println();
}
@Override
public <T> T accept(IStatementVisitor<T> visitor) {
return visitor.visit(this);
}
}