// Generated from E:/subjects/Compilers Principle/exp/antlr/aidl-to-json/src/main/resources/grammar\Aidl.g4 by ANTLR 4.9.1
package xyz.ignatz.antlr.aidl.recognizer;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link AidlParser}.
 */
public interface AidlListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link AidlParser#aidl}.
	 * @param ctx the parse tree
	 */
	void enterAidl(AidlParser.AidlContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#aidl}.
	 * @param ctx the parse tree
	 */
	void exitAidl(AidlParser.AidlContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#packageStatement}.
	 * @param ctx the parse tree
	 */
	void enterPackageStatement(AidlParser.PackageStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#packageStatement}.
	 * @param ctx the parse tree
	 */
	void exitPackageStatement(AidlParser.PackageStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#parcelableStatement}.
	 * @param ctx the parse tree
	 */
	void enterParcelableStatement(AidlParser.ParcelableStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#parcelableStatement}.
	 * @param ctx the parse tree
	 */
	void exitParcelableStatement(AidlParser.ParcelableStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#importStatement}.
	 * @param ctx the parse tree
	 */
	void enterImportStatement(AidlParser.ImportStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#importStatement}.
	 * @param ctx the parse tree
	 */
	void exitImportStatement(AidlParser.ImportStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#interfaceStatement}.
	 * @param ctx the parse tree
	 */
	void enterInterfaceStatement(AidlParser.InterfaceStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#interfaceStatement}.
	 * @param ctx the parse tree
	 */
	void exitInterfaceStatement(AidlParser.InterfaceStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#interfaceSubStatement}.
	 * @param ctx the parse tree
	 */
	void enterInterfaceSubStatement(AidlParser.InterfaceSubStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#interfaceSubStatement}.
	 * @param ctx the parse tree
	 */
	void exitInterfaceSubStatement(AidlParser.InterfaceSubStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#methodStatement}.
	 * @param ctx the parse tree
	 */
	void enterMethodStatement(AidlParser.MethodStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#methodStatement}.
	 * @param ctx the parse tree
	 */
	void exitMethodStatement(AidlParser.MethodStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#constStatement}.
	 * @param ctx the parse tree
	 */
	void enterConstStatement(AidlParser.ConstStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#constStatement}.
	 * @param ctx the parse tree
	 */
	void exitConstStatement(AidlParser.ConstStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#methodReturnType}.
	 * @param ctx the parse tree
	 */
	void enterMethodReturnType(AidlParser.MethodReturnTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#methodReturnType}.
	 * @param ctx the parse tree
	 */
	void exitMethodReturnType(AidlParser.MethodReturnTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#paramList}.
	 * @param ctx the parse tree
	 */
	void enterParamList(AidlParser.ParamListContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#paramList}.
	 * @param ctx the parse tree
	 */
	void exitParamList(AidlParser.ParamListContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#param}.
	 * @param ctx the parse tree
	 */
	void enterParam(AidlParser.ParamContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#param}.
	 * @param ctx the parse tree
	 */
	void exitParam(AidlParser.ParamContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#paramTag}.
	 * @param ctx the parse tree
	 */
	void enterParamTag(AidlParser.ParamTagContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#paramTag}.
	 * @param ctx the parse tree
	 */
	void exitParamTag(AidlParser.ParamTagContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#paramType}.
	 * @param ctx the parse tree
	 */
	void enterParamType(AidlParser.ParamTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#paramType}.
	 * @param ctx the parse tree
	 */
	void exitParamType(AidlParser.ParamTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#type}.
	 * @param ctx the parse tree
	 */
	void enterType(AidlParser.TypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#type}.
	 * @param ctx the parse tree
	 */
	void exitType(AidlParser.TypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#list}.
	 * @param ctx the parse tree
	 */
	void enterList(AidlParser.ListContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#list}.
	 * @param ctx the parse tree
	 */
	void exitList(AidlParser.ListContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#interfaceName}.
	 * @param ctx the parse tree
	 */
	void enterInterfaceName(AidlParser.InterfaceNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#interfaceName}.
	 * @param ctx the parse tree
	 */
	void exitInterfaceName(AidlParser.InterfaceNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#className}.
	 * @param ctx the parse tree
	 */
	void enterClassName(AidlParser.ClassNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#className}.
	 * @param ctx the parse tree
	 */
	void exitClassName(AidlParser.ClassNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#name}.
	 * @param ctx the parse tree
	 */
	void enterName(AidlParser.NameContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#name}.
	 * @param ctx the parse tree
	 */
	void exitName(AidlParser.NameContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#path}.
	 * @param ctx the parse tree
	 */
	void enterPath(AidlParser.PathContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#path}.
	 * @param ctx the parse tree
	 */
	void exitPath(AidlParser.PathContext ctx);
	/**
	 * Enter a parse tree produced by {@link AidlParser#id}.
	 * @param ctx the parse tree
	 */
	void enterId(AidlParser.IdContext ctx);
	/**
	 * Exit a parse tree produced by {@link AidlParser#id}.
	 * @param ctx the parse tree
	 */
	void exitId(AidlParser.IdContext ctx);
}