package de.dhbwstuttgart.syntaxtree; import de.dhbwstuttgart.parser.SyntaxTreeGenerator.AssignToLocal; import de.dhbwstuttgart.syntaxtree.statement.ArgumentList; import de.dhbwstuttgart.syntaxtree.statement.LambdaExpression; import de.dhbwstuttgart.syntaxtree.statement.Assign; import de.dhbwstuttgart.syntaxtree.statement.BinaryExpr; import de.dhbwstuttgart.syntaxtree.statement.BoolExpression; import de.dhbwstuttgart.syntaxtree.statement.Block; import de.dhbwstuttgart.syntaxtree.statement.CastExpr; import de.dhbwstuttgart.syntaxtree.statement.EmptyStmt; import de.dhbwstuttgart.syntaxtree.statement.FieldVar; import de.dhbwstuttgart.syntaxtree.statement.ForStmt; import de.dhbwstuttgart.syntaxtree.statement.ForEachStmt; import de.dhbwstuttgart.syntaxtree.statement.IfStmt; import de.dhbwstuttgart.syntaxtree.statement.InstanceOf; import de.dhbwstuttgart.syntaxtree.statement.LocalVar; import de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl; import de.dhbwstuttgart.syntaxtree.statement.MethodCall; import de.dhbwstuttgart.syntaxtree.statement.NewClass; import de.dhbwstuttgart.syntaxtree.statement.NewArray; import de.dhbwstuttgart.syntaxtree.statement.Return; import de.dhbwstuttgart.syntaxtree.statement.ReturnVoid; import de.dhbwstuttgart.syntaxtree.statement.Switch; import de.dhbwstuttgart.syntaxtree.statement.SwitchBlock; import de.dhbwstuttgart.syntaxtree.statement.SwitchLabel; import de.dhbwstuttgart.syntaxtree.statement.Break; import de.dhbwstuttgart.syntaxtree.statement.Yield; import de.dhbwstuttgart.syntaxtree.statement.StaticClassName; import de.dhbwstuttgart.syntaxtree.statement.Super; import de.dhbwstuttgart.syntaxtree.statement.This; import de.dhbwstuttgart.syntaxtree.statement.WhileStmt; import de.dhbwstuttgart.syntaxtree.statement.DoStmt; import de.dhbwstuttgart.syntaxtree.statement.AssignToField; import de.dhbwstuttgart.syntaxtree.statement.SuperCall; import de.dhbwstuttgart.syntaxtree.statement.ExpressionReceiver; import de.dhbwstuttgart.syntaxtree.statement.UnaryExpr; import de.dhbwstuttgart.syntaxtree.statement.Literal; import de.dhbwstuttgart.syntaxtree.statement.Throw; public interface StatementVisitor { void visit(ArgumentList argumentList); void visit(LambdaExpression lambdaExpression); void visit(Assign assign); void visit(BinaryExpr binary); void visit(BoolExpression logical); void visit(Block block); void visit(CastExpr castExpr); void visit(EmptyStmt emptyStmt); void visit(FieldVar fieldVar); void visit(ForStmt forStmt); void visit(ForEachStmt forEachStmt); void visit(IfStmt ifStmt); void visit(InstanceOf instanceOf); void visit(LocalVar localVar); void visit(LocalVarDecl localVarDecl); void visit(MethodCall methodCall); void visit(NewClass methodCall); void visit(NewArray newArray); void visit(Return aReturn); void visit(ReturnVoid aReturn); void visit(Switch switchStmt); void visit(SwitchBlock switchBlock); void visit(SwitchLabel switchLabel); void visit(Break aBreak); void visit(Yield aYield); void visit(StaticClassName staticClassName); void visit(Super aSuper); void visit(This aThis); void visit(WhileStmt whileStmt); void visit(DoStmt whileStmt); void visit(AssignToField assignLeftSide); void visit(AssignToLocal assignLeftSide); void visit(SuperCall superCall); void visit(ExpressionReceiver expressionReceiver); void visit(UnaryExpr unaryExpr); void visit(Literal literal); void visit(Throw aThrow); }