// 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.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link AidlParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface AidlVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link AidlParser#aidl}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAidl(AidlParser.AidlContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#packageStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPackageStatement(AidlParser.PackageStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#parcelableStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParcelableStatement(AidlParser.ParcelableStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#importStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitImportStatement(AidlParser.ImportStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#interfaceStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceStatement(AidlParser.InterfaceStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#interfaceSubStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceSubStatement(AidlParser.InterfaceSubStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#methodStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodStatement(AidlParser.MethodStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#constStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstStatement(AidlParser.ConstStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#methodReturnType}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodReturnType(AidlParser.MethodReturnTypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#paramList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParamList(AidlParser.ParamListContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#param}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParam(AidlParser.ParamContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#paramTag}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParamTag(AidlParser.ParamTagContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#paramType}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParamType(AidlParser.ParamTypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitType(AidlParser.TypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList(AidlParser.ListContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#interfaceName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceName(AidlParser.InterfaceNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#className}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassName(AidlParser.ClassNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitName(AidlParser.NameContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#path}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPath(AidlParser.PathContext ctx);
	/**
	 * Visit a parse tree produced by {@link AidlParser#id}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitId(AidlParser.IdContext ctx);
}