package nl.uva.sc.encoders.ql.ast.expression;
import java.util.Set;
import nl.uva.sc.encoders.ql.ast.AstNode;
import nl.uva.sc.encoders.ql.ast.TextLocation;
import nl.uva.sc.encoders.ql.ast.type.DataType;
import nl.uva.sc.encoders.ql.ast.type.TypeMap;
import nl.uva.sc.encoders.ql.visitor.ExpressionVisitor;
public abstract class Expression extends AstNode {
public Expression(TextLocation textLocation) {
super(textLocation);
}
public abstract <T> T accept(ExpressionVisitor<T> visitor);
public abstract void collectQuestionNames(Set<String> relatedQuestionNames);
public abstract DataType getType(TypeMap typeMap);
}