package de.dhbwstuttgart.strucTypes4.grammar;// Generated from /home/sebastian/Schreibtisch/FLJava/src/FWJ.g4 by ANTLR 4.6
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link FWJParser}.
 */
public interface FWJListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link FWJParser#sourceFile}.
	 * @param ctx the parse tree
	 */
	void enterSourceFile(FWJParser.SourceFileContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#sourceFile}.
	 * @param ctx the parse tree
	 */
	void exitSourceFile(FWJParser.SourceFileContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#classX}.
	 * @param ctx the parse tree
	 */
	void enterClassX(FWJParser.ClassXContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#classX}.
	 * @param ctx the parse tree
	 */
	void exitClassX(FWJParser.ClassXContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#feld}.
	 * @param ctx the parse tree
	 */
	void enterFeld(FWJParser.FeldContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#feld}.
	 * @param ctx the parse tree
	 */
	void exitFeld(FWJParser.FeldContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#generics}.
	 * @param ctx the parse tree
	 */
	void enterGenerics(FWJParser.GenericsContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#generics}.
	 * @param ctx the parse tree
	 */
	void exitGenerics(FWJParser.GenericsContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#generic}.
	 * @param ctx the parse tree
	 */
	void enterGeneric(FWJParser.GenericContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#generic}.
	 * @param ctx the parse tree
	 */
	void exitGeneric(FWJParser.GenericContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#methodDecl}.
	 * @param ctx the parse tree
	 */
	void enterMethodDecl(FWJParser.MethodDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#methodDecl}.
	 * @param ctx the parse tree
	 */
	void exitMethodDecl(FWJParser.MethodDeclContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#methodDeclArgs}.
	 * @param ctx the parse tree
	 */
	void enterMethodDeclArgs(FWJParser.MethodDeclArgsContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#methodDeclArgs}.
	 * @param ctx the parse tree
	 */
	void exitMethodDeclArgs(FWJParser.MethodDeclArgsContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#returnExpr}.
	 * @param ctx the parse tree
	 */
	void enterReturnExpr(FWJParser.ReturnExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#returnExpr}.
	 * @param ctx the parse tree
	 */
	void exitReturnExpr(FWJParser.ReturnExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#exprMCall}.
	 * @param ctx the parse tree
	 */
	void enterExprMCall(FWJParser.ExprMCallContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#exprMCall}.
	 * @param ctx the parse tree
	 */
	void exitExprMCall(FWJParser.ExprMCallContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#exprVar}.
	 * @param ctx the parse tree
	 */
	void enterExprVar(FWJParser.ExprVarContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#exprVar}.
	 * @param ctx the parse tree
	 */
	void exitExprVar(FWJParser.ExprVarContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#exprField}.
	 * @param ctx the parse tree
	 */
	void enterExprField(FWJParser.ExprFieldContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#exprField}.
	 * @param ctx the parse tree
	 */
	void exitExprField(FWJParser.ExprFieldContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#exprNew}.
	 * @param ctx the parse tree
	 */
	void enterExprNew(FWJParser.ExprNewContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#exprNew}.
	 * @param ctx the parse tree
	 */
	void exitExprNew(FWJParser.ExprNewContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterExpr(FWJParser.ExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitExpr(FWJParser.ExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#exprMCallArgs}.
	 * @param ctx the parse tree
	 */
	void enterExprMCallArgs(FWJParser.ExprMCallArgsContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#exprMCallArgs}.
	 * @param ctx the parse tree
	 */
	void exitExprMCallArgs(FWJParser.ExprMCallArgsContext ctx);
	/**
	 * Enter a parse tree produced by {@link FWJParser#bezeichner}.
	 * @param ctx the parse tree
	 */
	void enterBezeichner(FWJParser.BezeichnerContext ctx);
	/**
	 * Exit a parse tree produced by {@link FWJParser#bezeichner}.
	 * @param ctx the parse tree
	 */
	void exitBezeichner(FWJParser.BezeichnerContext ctx);
}