package uva.qls.ast.statements.visitor; import uva.qls.ast.ASTNode; import uva.qls.ast.Page; import uva.qls.ast.Prog; import uva.qls.ast.StyleSheet; import uva.qls.ast.component.visitor.ComponentVisitor; import uva.qls.ast.literal.visitor.LiteralVisitor; import uva.qls.ast.statements.DefaultValue; import uva.qls.ast.statements.Question; import uva.qls.ast.statements.Section; import uva.qls.ast.statements.Statement; import uva.qls.ast.statements.Subsection; import uva.qls.ast.style.visitor.StyleVisitor; import uva.qls.ast.type.TypeVisitor; public interface StatementVisitor<T> extends StyleVisitor<T>, ComponentVisitor<T>, LiteralVisitor<T>, TypeVisitor<T>{ public T visitASTNode(ASTNode node); public T visitProg(Prog prog); public T visitPage(Page page); public T visitStyleSheet(StyleSheet styleSheet); public T visitStatement(Statement statement); public T visitDefaultValueComponent(DefaultValue defaultValue); public T visitDefaultValueStatements(DefaultValue defaultValue); public T visitQuestion(Question question); public T visitSection(Section section); public T visitSubsection(Subsection subsection); }