All Downloads are FREE. Search and download functionalities are using the official Maven repository.

llmeier.rubysrc2cpg_3.2.0.440+7-e7df7a79.source-code.RubyParserVisitor Maven / Gradle / Ivy

// Generated from /home/mp/Projects/shiftleft/joern/joern-cli/frontends/rubysrc2cpg/src/main/antlr4/io/joern/rubysrc2cpg/parser/RubyParser.g4 by ANTLR 4.7.2

    package io.joern.rubysrc2cpg.parser;

import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link RubyParser}.
 *
 * @param  The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface RubyParserVisitor extends ParseTreeVisitor {
	/**
	 * Visit a parse tree produced by {@link RubyParser#program}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProgram(RubyParser.ProgramContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#compoundStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCompoundStatement(RubyParser.CompoundStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#statements}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatements(RubyParser.StatementsContext ctx);
	/**
	 * Visit a parse tree produced by the {@code singleAssignmentStatementStatement}
	 * labeled alternative in {@link RubyParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingleAssignmentStatementStatement(RubyParser.SingleAssignmentStatementStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code modifierStatement}
	 * labeled alternative in {@link RubyParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitModifierStatement(RubyParser.ModifierStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code aliasStatement}
	 * labeled alternative in {@link RubyParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAliasStatement(RubyParser.AliasStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code undefStatement}
	 * labeled alternative in {@link RubyParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUndefStatement(RubyParser.UndefStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code expressionOrCommandStatement}
	 * labeled alternative in {@link RubyParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpressionOrCommandStatement(RubyParser.ExpressionOrCommandStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code multipleAssignmentStatementStatement}
	 * labeled alternative in {@link RubyParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultipleAssignmentStatementStatement(RubyParser.MultipleAssignmentStatementStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#definedMethodNameOrSymbol}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDefinedMethodNameOrSymbol(RubyParser.DefinedMethodNameOrSymbolContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#singleAssignmentStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingleAssignmentStatement(RubyParser.SingleAssignmentStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#multipleAssignmentStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultipleAssignmentStatement(RubyParser.MultipleAssignmentStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code variableLeftHandSide}
	 * labeled alternative in {@link RubyParser#leftHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableLeftHandSide(RubyParser.VariableLeftHandSideContext ctx);
	/**
	 * Visit a parse tree produced by the {@code indexingLeftHandSide}
	 * labeled alternative in {@link RubyParser#leftHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndexingLeftHandSide(RubyParser.IndexingLeftHandSideContext ctx);
	/**
	 * Visit a parse tree produced by the {@code memberAccessLeftHandSide}
	 * labeled alternative in {@link RubyParser#leftHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMemberAccessLeftHandSide(RubyParser.MemberAccessLeftHandSideContext ctx);
	/**
	 * Visit a parse tree produced by the {@code qualifiedLeftHandSide}
	 * labeled alternative in {@link RubyParser#leftHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQualifiedLeftHandSide(RubyParser.QualifiedLeftHandSideContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#multipleLeftHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultipleLeftHandSide(RubyParser.MultipleLeftHandSideContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#multipleLeftHandSideExceptPacking}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultipleLeftHandSideExceptPacking(RubyParser.MultipleLeftHandSideExceptPackingContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#packingLeftHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPackingLeftHandSide(RubyParser.PackingLeftHandSideContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#groupedLeftHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGroupedLeftHandSide(RubyParser.GroupedLeftHandSideContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#multipleLeftHandSideItem}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultipleLeftHandSideItem(RubyParser.MultipleLeftHandSideItemContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#multipleRightHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultipleRightHandSide(RubyParser.MultipleRightHandSideContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#splattingRightHandSide}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSplattingRightHandSide(RubyParser.SplattingRightHandSideContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#methodIdentifier}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodIdentifier(RubyParser.MethodIdentifierContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#methodName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodName(RubyParser.MethodNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#methodOnlyIdentifier}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodOnlyIdentifier(RubyParser.MethodOnlyIdentifierContext ctx);
	/**
	 * Visit a parse tree produced by the {@code commandMethodInvocationWithoutParentheses}
	 * labeled alternative in {@link RubyParser#methodInvocationWithoutParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandMethodInvocationWithoutParentheses(RubyParser.CommandMethodInvocationWithoutParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code chainedMethodInvocationWithoutParentheses}
	 * labeled alternative in {@link RubyParser#methodInvocationWithoutParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitChainedMethodInvocationWithoutParentheses(RubyParser.ChainedMethodInvocationWithoutParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code returnMethodInvocationWithoutParentheses}
	 * labeled alternative in {@link RubyParser#methodInvocationWithoutParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReturnMethodInvocationWithoutParentheses(RubyParser.ReturnMethodInvocationWithoutParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code breakMethodInvocationWithoutParentheses}
	 * labeled alternative in {@link RubyParser#methodInvocationWithoutParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBreakMethodInvocationWithoutParentheses(RubyParser.BreakMethodInvocationWithoutParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code nextMethodInvocationWithoutParentheses}
	 * labeled alternative in {@link RubyParser#methodInvocationWithoutParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNextMethodInvocationWithoutParentheses(RubyParser.NextMethodInvocationWithoutParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code yieldMethodInvocationWithoutParentheses}
	 * labeled alternative in {@link RubyParser#methodInvocationWithoutParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitYieldMethodInvocationWithoutParentheses(RubyParser.YieldMethodInvocationWithoutParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code memberAccessCommand}
	 * labeled alternative in {@link RubyParser#command}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMemberAccessCommand(RubyParser.MemberAccessCommandContext ctx);
	/**
	 * Visit a parse tree produced by the {@code simpleCommand}
	 * labeled alternative in {@link RubyParser#command}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSimpleCommand(RubyParser.SimpleCommandContext ctx);
	/**
	 * Visit a parse tree produced by the {@code commandArgumentCommandArgumentList}
	 * labeled alternative in {@link RubyParser#commandArgument}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandArgumentCommandArgumentList(RubyParser.CommandArgumentCommandArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code commandCommandArgumentList}
	 * labeled alternative in {@link RubyParser#commandArgument}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandCommandArgumentList(RubyParser.CommandCommandArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#chainedCommandWithDoBlock}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitChainedCommandWithDoBlock(RubyParser.ChainedCommandWithDoBlockContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#chainedMethodInvocation}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitChainedMethodInvocation(RubyParser.ChainedMethodInvocationContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#commandWithDoBlock}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandWithDoBlock(RubyParser.CommandWithDoBlockContext ctx);
	/**
	 * Visit a parse tree produced by the {@code commandIndexingArgumentList}
	 * labeled alternative in {@link RubyParser#indexingArgumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandIndexingArgumentList(RubyParser.CommandIndexingArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code operatorExpressionListIndexingArgumentList}
	 * labeled alternative in {@link RubyParser#indexingArgumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOperatorExpressionListIndexingArgumentList(RubyParser.OperatorExpressionListIndexingArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code operatorExpressionListWithSplattingArgumentIndexingArgumentList}
	 * labeled alternative in {@link RubyParser#indexingArgumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOperatorExpressionListWithSplattingArgumentIndexingArgumentList(RubyParser.OperatorExpressionListWithSplattingArgumentIndexingArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code associationListIndexingArgumentList}
	 * labeled alternative in {@link RubyParser#indexingArgumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssociationListIndexingArgumentList(RubyParser.AssociationListIndexingArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code splattingArgumentIndexingArgumentList}
	 * labeled alternative in {@link RubyParser#indexingArgumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSplattingArgumentIndexingArgumentList(RubyParser.SplattingArgumentIndexingArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#splattingArgument}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSplattingArgument(RubyParser.SplattingArgumentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#operatorExpressionList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOperatorExpressionList(RubyParser.OperatorExpressionListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#operatorExpressionList2}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOperatorExpressionList2(RubyParser.OperatorExpressionList2Context ctx);
	/**
	 * Visit a parse tree produced by the {@code emptyArgumentWithParentheses}
	 * labeled alternative in {@link RubyParser#argumentWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEmptyArgumentWithParentheses(RubyParser.EmptyArgumentWithParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code argumentListArgumentWithParentheses}
	 * labeled alternative in {@link RubyParser#argumentWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArgumentListArgumentWithParentheses(RubyParser.ArgumentListArgumentWithParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code operatorExpressionsAndChainedCommandWithBlockArgumentWithParentheses}
	 * labeled alternative in {@link RubyParser#argumentWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOperatorExpressionsAndChainedCommandWithBlockArgumentWithParentheses(RubyParser.OperatorExpressionsAndChainedCommandWithBlockArgumentWithParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code chainedCommandWithDoBlockArgumentWithParentheses}
	 * labeled alternative in {@link RubyParser#argumentWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitChainedCommandWithDoBlockArgumentWithParentheses(RubyParser.ChainedCommandWithDoBlockArgumentWithParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code blockArgumentArgumentList}
	 * labeled alternative in {@link RubyParser#argumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlockArgumentArgumentList(RubyParser.BlockArgumentArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code splattingArgumentArgumentList}
	 * labeled alternative in {@link RubyParser#argumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSplattingArgumentArgumentList(RubyParser.SplattingArgumentArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code operatorsArgumentList}
	 * labeled alternative in {@link RubyParser#argumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOperatorsArgumentList(RubyParser.OperatorsArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code associationsArgumentList}
	 * labeled alternative in {@link RubyParser#argumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssociationsArgumentList(RubyParser.AssociationsArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code singleCommandArgumentList}
	 * labeled alternative in {@link RubyParser#argumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingleCommandArgumentList(RubyParser.SingleCommandArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#commandArgumentList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandArgumentList(RubyParser.CommandArgumentListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#primaryValueList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimaryValueList(RubyParser.PrimaryValueListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#blockArgument}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlockArgument(RubyParser.BlockArgumentContext ctx);
	/**
	 * Visit a parse tree produced by the {@code operatorExpressionOrCommand}
	 * labeled alternative in {@link RubyParser#expressionOrCommand}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOperatorExpressionOrCommand(RubyParser.OperatorExpressionOrCommandContext ctx);
	/**
	 * Visit a parse tree produced by the {@code notExpressionOrCommand}
	 * labeled alternative in {@link RubyParser#expressionOrCommand}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNotExpressionOrCommand(RubyParser.NotExpressionOrCommandContext ctx);
	/**
	 * Visit a parse tree produced by the {@code keywordAndOrExpressionOrCommand}
	 * labeled alternative in {@link RubyParser#expressionOrCommand}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitKeywordAndOrExpressionOrCommand(RubyParser.KeywordAndOrExpressionOrCommandContext ctx);
	/**
	 * Visit a parse tree produced by the {@code commandExpressionOrCommand}
	 * labeled alternative in {@link RubyParser#expressionOrCommand}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandExpressionOrCommand(RubyParser.CommandExpressionOrCommandContext ctx);
	/**
	 * Visit a parse tree produced by the {@code ternaryOperatorExpression}
	 * labeled alternative in {@link RubyParser#operatorExpression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTernaryOperatorExpression(RubyParser.TernaryOperatorExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code primaryOperatorExpression}
	 * labeled alternative in {@link RubyParser#operatorExpression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimaryOperatorExpression(RubyParser.PrimaryOperatorExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code returnWithoutArguments}
	 * labeled alternative in {@link RubyParser#primary}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReturnWithoutArguments(RubyParser.ReturnWithoutArgumentsContext ctx);
	/**
	 * Visit a parse tree produced by the {@code breakWithoutArguments}
	 * labeled alternative in {@link RubyParser#primary}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBreakWithoutArguments(RubyParser.BreakWithoutArgumentsContext ctx);
	/**
	 * Visit a parse tree produced by the {@code nextWithoutArguments}
	 * labeled alternative in {@link RubyParser#primary}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNextWithoutArguments(RubyParser.NextWithoutArgumentsContext ctx);
	/**
	 * Visit a parse tree produced by the {@code redoWithoutArguments}
	 * labeled alternative in {@link RubyParser#primary}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRedoWithoutArguments(RubyParser.RedoWithoutArgumentsContext ctx);
	/**
	 * Visit a parse tree produced by the {@code retryWithoutArguments}
	 * labeled alternative in {@link RubyParser#primary}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRetryWithoutArguments(RubyParser.RetryWithoutArgumentsContext ctx);
	/**
	 * Visit a parse tree produced by the {@code primaryValuePrimary}
	 * labeled alternative in {@link RubyParser#primary}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimaryValuePrimary(RubyParser.PrimaryValuePrimaryContext ctx);
	/**
	 * Visit a parse tree produced by the {@code methodDefinition}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodDefinition(RubyParser.MethodDefinitionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code beginEndExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBeginEndExpression(RubyParser.BeginEndExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code indexingAccessExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndexingAccessExpression(RubyParser.IndexingAccessExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code constantAssignmentExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstantAssignmentExpression(RubyParser.ConstantAssignmentExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code untilExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUntilExpression(RubyParser.UntilExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code moduleDefinition}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitModuleDefinition(RubyParser.ModuleDefinitionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code singletonMethodDefinition}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingletonMethodDefinition(RubyParser.SingletonMethodDefinitionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code bitwiseAndExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBitwiseAndExpression(RubyParser.BitwiseAndExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code logicalAndExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLogicalAndExpression(RubyParser.LogicalAndExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code memberAccessExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMemberAccessExpression(RubyParser.MemberAccessExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code unaryExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnaryExpression(RubyParser.UnaryExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code numericLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNumericLiteral(RubyParser.NumericLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code classDefinition}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassDefinition(RubyParser.ClassDefinitionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code quotedExpandedSymbolArrayLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedSymbolArrayLiteral(RubyParser.QuotedExpandedSymbolArrayLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code forExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForExpression(RubyParser.ForExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code bracketedArrayLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBracketedArrayLiteral(RubyParser.BracketedArrayLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code lambdaExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLambdaExpression(RubyParser.LambdaExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code caseWithoutExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCaseWithoutExpression(RubyParser.CaseWithoutExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code quotedNonExpandedStringLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedNonExpandedStringLiteral(RubyParser.QuotedNonExpandedStringLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code shiftExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitShiftExpression(RubyParser.ShiftExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code endlessMethodDefinition}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEndlessMethodDefinition(RubyParser.EndlessMethodDefinitionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code quotedExpandedExternalCommandLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedExternalCommandLiteral(RubyParser.QuotedExpandedExternalCommandLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code regularExpressionLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRegularExpressionLiteral(RubyParser.RegularExpressionLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code powerExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPowerExpression(RubyParser.PowerExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code quotedNonExpandedSymbolArrayLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedNonExpandedSymbolArrayLiteral(RubyParser.QuotedNonExpandedSymbolArrayLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code bitwiseOrExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBitwiseOrExpression(RubyParser.BitwiseOrExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code quotedExpandedStringLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedStringLiteral(RubyParser.QuotedExpandedStringLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code attributeAssignmentExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAttributeAssignmentExpression(RubyParser.AttributeAssignmentExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code equalityExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEqualityExpression(RubyParser.EqualityExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code bracketAssignmentExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBracketAssignmentExpression(RubyParser.BracketAssignmentExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code rangeExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRangeExpression(RubyParser.RangeExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code additiveExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAdditiveExpression(RubyParser.AdditiveExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code relationalExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelationalExpression(RubyParser.RelationalExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code localVariableAssignmentExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLocalVariableAssignmentExpression(RubyParser.LocalVariableAssignmentExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code hashLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHashLiteral(RubyParser.HashLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code hereDocs}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHereDocs(RubyParser.HereDocsContext ctx);
	/**
	 * Visit a parse tree produced by the {@code assignmentWithRescue}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssignmentWithRescue(RubyParser.AssignmentWithRescueContext ctx);
	/**
	 * Visit a parse tree produced by the {@code methodCallWithParentheses}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodCallWithParentheses(RubyParser.MethodCallWithParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code groupingStatement}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGroupingStatement(RubyParser.GroupingStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code ifExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIfExpression(RubyParser.IfExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code quotedNonExpandedStringArrayLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedNonExpandedStringArrayLiteral(RubyParser.QuotedNonExpandedStringArrayLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code unlessExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnlessExpression(RubyParser.UnlessExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code singletonClassDefinition}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingletonClassDefinition(RubyParser.SingletonClassDefinitionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code quotedExpandedStringArrayLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedStringArrayLiteral(RubyParser.QuotedExpandedStringArrayLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code quotedExpandedRegularExpressionLiteral}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedRegularExpressionLiteral(RubyParser.QuotedExpandedRegularExpressionLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code whileExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWhileExpression(RubyParser.WhileExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code singleQuotedStringExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingleQuotedStringExpression(RubyParser.SingleQuotedStringExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code multiplicativeExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultiplicativeExpression(RubyParser.MultiplicativeExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code logicalOrExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLogicalOrExpression(RubyParser.LogicalOrExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code unaryMinusExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnaryMinusExpression(RubyParser.UnaryMinusExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code symbolExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSymbolExpression(RubyParser.SymbolExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code doubleQuotedStringExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDoubleQuotedStringExpression(RubyParser.DoubleQuotedStringExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code yieldExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitYieldExpression(RubyParser.YieldExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code caseWithExpression}
	 * labeled alternative in {@link RubyParser#primaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCaseWithExpression(RubyParser.CaseWithExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code superWithParentheses}
	 * labeled alternative in {@link RubyParser#methodCallsWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSuperWithParentheses(RubyParser.SuperWithParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code superWithoutParentheses}
	 * labeled alternative in {@link RubyParser#methodCallsWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSuperWithoutParentheses(RubyParser.SuperWithoutParenthesesContext ctx);
	/**
	 * Visit a parse tree produced by the {@code isDefinedExpression}
	 * labeled alternative in {@link RubyParser#methodCallsWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIsDefinedExpression(RubyParser.IsDefinedExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code isDefinedCommand}
	 * labeled alternative in {@link RubyParser#methodCallsWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIsDefinedCommand(RubyParser.IsDefinedCommandContext ctx);
	/**
	 * Visit a parse tree produced by the {@code methodCallExpression}
	 * labeled alternative in {@link RubyParser#methodCallsWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodCallExpression(RubyParser.MethodCallExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code methodCallWithBlockExpression}
	 * labeled alternative in {@link RubyParser#methodCallsWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodCallWithBlockExpression(RubyParser.MethodCallWithBlockExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code methodCallWithParenthesesExpression}
	 * labeled alternative in {@link RubyParser#methodCallsWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodCallWithParenthesesExpression(RubyParser.MethodCallWithParenthesesExpressionContext ctx);
	/**
	 * Visit a parse tree produced by the {@code methodCallOrVariableReference}
	 * labeled alternative in {@link RubyParser#methodCallsWithParentheses}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodCallOrVariableReference(RubyParser.MethodCallOrVariableReferenceContext ctx);
	/**
	 * Visit a parse tree produced by the {@code commandCommandOrPrimaryValueClass}
	 * labeled alternative in {@link RubyParser#commandOrPrimaryValueClass}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandCommandOrPrimaryValueClass(RubyParser.CommandCommandOrPrimaryValueClassContext ctx);
	/**
	 * Visit a parse tree produced by the {@code primaryValueCommandOrPrimaryValueClass}
	 * labeled alternative in {@link RubyParser#commandOrPrimaryValueClass}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimaryValueCommandOrPrimaryValueClass(RubyParser.PrimaryValueCommandOrPrimaryValueClassContext ctx);
	/**
	 * Visit a parse tree produced by the {@code keywordAndOrCommandOrPrimaryValue}
	 * labeled alternative in {@link RubyParser#commandOrPrimaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitKeywordAndOrCommandOrPrimaryValue(RubyParser.KeywordAndOrCommandOrPrimaryValueContext ctx);
	/**
	 * Visit a parse tree produced by the {@code commandCommandOrPrimaryValue}
	 * labeled alternative in {@link RubyParser#commandOrPrimaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommandCommandOrPrimaryValue(RubyParser.CommandCommandOrPrimaryValueContext ctx);
	/**
	 * Visit a parse tree produced by the {@code notCommandOrPrimaryValue}
	 * labeled alternative in {@link RubyParser#commandOrPrimaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNotCommandOrPrimaryValue(RubyParser.NotCommandOrPrimaryValueContext ctx);
	/**
	 * Visit a parse tree produced by the {@code primaryValueCommandOrPrimaryValue}
	 * labeled alternative in {@link RubyParser#commandOrPrimaryValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimaryValueCommandOrPrimaryValue(RubyParser.PrimaryValueCommandOrPrimaryValueContext ctx);
	/**
	 * Visit a parse tree produced by the {@code curlyBracesBlock}
	 * labeled alternative in {@link RubyParser#block}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCurlyBracesBlock(RubyParser.CurlyBracesBlockContext ctx);
	/**
	 * Visit a parse tree produced by the {@code doBlockBlock}
	 * labeled alternative in {@link RubyParser#block}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDoBlockBlock(RubyParser.DoBlockBlockContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#doBlock}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDoBlock(RubyParser.DoBlockContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#blockParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlockParameter(RubyParser.BlockParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#thenClause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitThenClause(RubyParser.ThenClauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#elseClause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitElseClause(RubyParser.ElseClauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#elsifClause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitElsifClause(RubyParser.ElsifClauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#whenClause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWhenClause(RubyParser.WhenClauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#whenArgument}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWhenArgument(RubyParser.WhenArgumentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#doClause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDoClause(RubyParser.DoClauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#forVariable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForVariable(RubyParser.ForVariableContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#bodyStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBodyStatement(RubyParser.BodyStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#rescueClause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRescueClause(RubyParser.RescueClauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#exceptionClassList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExceptionClassList(RubyParser.ExceptionClassListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#exceptionVariableAssignment}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExceptionVariableAssignment(RubyParser.ExceptionVariableAssignmentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#ensureClause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEnsureClause(RubyParser.EnsureClauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#definedMethodName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDefinedMethodName(RubyParser.DefinedMethodNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#methodParameterPart}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodParameterPart(RubyParser.MethodParameterPartContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#parameterList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParameterList(RubyParser.ParameterListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#mandatoryOrOptionalParameterList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMandatoryOrOptionalParameterList(RubyParser.MandatoryOrOptionalParameterListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code mandatoryMandatoryOrOptionalParameter}
	 * labeled alternative in {@link RubyParser#mandatoryOrOptionalParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMandatoryMandatoryOrOptionalParameter(RubyParser.MandatoryMandatoryOrOptionalParameterContext ctx);
	/**
	 * Visit a parse tree produced by the {@code optionalMandatoryOrOptionalParameter}
	 * labeled alternative in {@link RubyParser#mandatoryOrOptionalParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOptionalMandatoryOrOptionalParameter(RubyParser.OptionalMandatoryOrOptionalParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#mandatoryParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMandatoryParameter(RubyParser.MandatoryParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#optionalParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOptionalParameter(RubyParser.OptionalParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#optionalParameterName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOptionalParameterName(RubyParser.OptionalParameterNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#arrayParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArrayParameter(RubyParser.ArrayParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#hashParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHashParameter(RubyParser.HashParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#procParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProcParameter(RubyParser.ProcParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#procParameterName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProcParameterName(RubyParser.ProcParameterNameContext ctx);
	/**
	 * Visit a parse tree produced by the {@code className}
	 * labeled alternative in {@link RubyParser#classPath}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassName(RubyParser.ClassNameContext ctx);
	/**
	 * Visit a parse tree produced by the {@code topClassPath}
	 * labeled alternative in {@link RubyParser#classPath}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTopClassPath(RubyParser.TopClassPathContext ctx);
	/**
	 * Visit a parse tree produced by the {@code nestedClassPath}
	 * labeled alternative in {@link RubyParser#classPath}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNestedClassPath(RubyParser.NestedClassPathContext ctx);
	/**
	 * Visit a parse tree produced by the {@code variableReferenceSingletonObject}
	 * labeled alternative in {@link RubyParser#singletonObject}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableReferenceSingletonObject(RubyParser.VariableReferenceSingletonObjectContext ctx);
	/**
	 * Visit a parse tree produced by the {@code expressionSingletonObject}
	 * labeled alternative in {@link RubyParser#singletonObject}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpressionSingletonObject(RubyParser.ExpressionSingletonObjectContext ctx);
	/**
	 * Visit a parse tree produced by the {@code variableVariableReference}
	 * labeled alternative in {@link RubyParser#variableReference}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableVariableReference(RubyParser.VariableVariableReferenceContext ctx);
	/**
	 * Visit a parse tree produced by the {@code pseudoVariableVariableReference}
	 * labeled alternative in {@link RubyParser#variableReference}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPseudoVariableVariableReference(RubyParser.PseudoVariableVariableReferenceContext ctx);
	/**
	 * Visit a parse tree produced by the {@code constantVariableReference}
	 * labeled alternative in {@link RubyParser#variableReference}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstantVariableReference(RubyParser.ConstantVariableReferenceContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#associationList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssociationList(RubyParser.AssociationListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code associationElement}
	 * labeled alternative in {@link RubyParser#association}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssociationElement(RubyParser.AssociationElementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code associationHashArg}
	 * labeled alternative in {@link RubyParser#association}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssociationHashArg(RubyParser.AssociationHashArgContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#associationKey}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssociationKey(RubyParser.AssociationKeyContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#associationHashArgument}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssociationHashArgument(RubyParser.AssociationHashArgumentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#regexpLiteralContent}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRegexpLiteralContent(RubyParser.RegexpLiteralContentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#singleQuotedString}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingleQuotedString(RubyParser.SingleQuotedStringContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#singleOrDoubleQuotedString}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingleOrDoubleQuotedString(RubyParser.SingleOrDoubleQuotedStringContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#doubleQuotedString}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDoubleQuotedString(RubyParser.DoubleQuotedStringContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedExpandedExternalCommandString}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedExternalCommandString(RubyParser.QuotedExpandedExternalCommandStringContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#doubleQuotedStringContent}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDoubleQuotedStringContent(RubyParser.DoubleQuotedStringContentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedNonExpandedLiteralString}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedNonExpandedLiteralString(RubyParser.QuotedNonExpandedLiteralStringContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedExpandedLiteralString}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedLiteralString(RubyParser.QuotedExpandedLiteralStringContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedExpandedLiteralStringContent}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedLiteralStringContent(RubyParser.QuotedExpandedLiteralStringContentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedNonExpandedArrayElementContent}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedNonExpandedArrayElementContent(RubyParser.QuotedNonExpandedArrayElementContentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedExpandedArrayElementContent}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedArrayElementContent(RubyParser.QuotedExpandedArrayElementContentContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedExpandedArrayElement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedArrayElement(RubyParser.QuotedExpandedArrayElementContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedNonExpandedArrayElementList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedNonExpandedArrayElementList(RubyParser.QuotedNonExpandedArrayElementListContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#quotedExpandedArrayElementList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuotedExpandedArrayElementList(RubyParser.QuotedExpandedArrayElementListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code pureSymbolLiteral}
	 * labeled alternative in {@link RubyParser#symbol}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPureSymbolLiteral(RubyParser.PureSymbolLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code singleQuotedSymbolLiteral}
	 * labeled alternative in {@link RubyParser#symbol}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingleQuotedSymbolLiteral(RubyParser.SingleQuotedSymbolLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code doubleQuotedSymbolLiteral}
	 * labeled alternative in {@link RubyParser#symbol}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDoubleQuotedSymbolLiteral(RubyParser.DoubleQuotedSymbolLiteralContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#hereDoc}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHereDoc(RubyParser.HereDocContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#isDefinedKeyword}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIsDefinedKeyword(RubyParser.IsDefinedKeywordContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#assignmentOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssignmentOperator(RubyParser.AssignmentOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#statementModifier}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatementModifier(RubyParser.StatementModifierContext ctx);
	/**
	 * Visit a parse tree produced by the {@code constantIdentifierVariable}
	 * labeled alternative in {@link RubyParser#variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstantIdentifierVariable(RubyParser.ConstantIdentifierVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code globalIdentifierVariable}
	 * labeled alternative in {@link RubyParser#variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGlobalIdentifierVariable(RubyParser.GlobalIdentifierVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code classIdentifierVariable}
	 * labeled alternative in {@link RubyParser#variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassIdentifierVariable(RubyParser.ClassIdentifierVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code instanceIdentifierVariable}
	 * labeled alternative in {@link RubyParser#variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInstanceIdentifierVariable(RubyParser.InstanceIdentifierVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code localIdentifierVariable}
	 * labeled alternative in {@link RubyParser#variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLocalIdentifierVariable(RubyParser.LocalIdentifierVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code nilPseudoVariable}
	 * labeled alternative in {@link RubyParser#pseudoVariable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNilPseudoVariable(RubyParser.NilPseudoVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code truePseudoVariable}
	 * labeled alternative in {@link RubyParser#pseudoVariable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTruePseudoVariable(RubyParser.TruePseudoVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code falsePseudoVariable}
	 * labeled alternative in {@link RubyParser#pseudoVariable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFalsePseudoVariable(RubyParser.FalsePseudoVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code selfPseudoVariable}
	 * labeled alternative in {@link RubyParser#pseudoVariable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelfPseudoVariable(RubyParser.SelfPseudoVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code linePseudoVariable}
	 * labeled alternative in {@link RubyParser#pseudoVariable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLinePseudoVariable(RubyParser.LinePseudoVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code filePseudoVariable}
	 * labeled alternative in {@link RubyParser#pseudoVariable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFilePseudoVariable(RubyParser.FilePseudoVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code encodingPseudoVariable}
	 * labeled alternative in {@link RubyParser#pseudoVariable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEncodingPseudoVariable(RubyParser.EncodingPseudoVariableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code decimalUnsignedLiteral}
	 * labeled alternative in {@link RubyParser#unsignedNumericLiteral}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDecimalUnsignedLiteral(RubyParser.DecimalUnsignedLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code binaryUnsignedLiteral}
	 * labeled alternative in {@link RubyParser#unsignedNumericLiteral}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBinaryUnsignedLiteral(RubyParser.BinaryUnsignedLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code octalUnsignedLiteral}
	 * labeled alternative in {@link RubyParser#unsignedNumericLiteral}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOctalUnsignedLiteral(RubyParser.OctalUnsignedLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code hexadecimalUnsignedLiteral}
	 * labeled alternative in {@link RubyParser#unsignedNumericLiteral}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHexadecimalUnsignedLiteral(RubyParser.HexadecimalUnsignedLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code floatWithoutExponentUnsignedLiteral}
	 * labeled alternative in {@link RubyParser#unsignedNumericLiteral}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFloatWithoutExponentUnsignedLiteral(RubyParser.FloatWithoutExponentUnsignedLiteralContext ctx);
	/**
	 * Visit a parse tree produced by the {@code floatWithExponentUnsignedLiteral}
	 * labeled alternative in {@link RubyParser#unsignedNumericLiteral}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFloatWithExponentUnsignedLiteral(RubyParser.FloatWithExponentUnsignedLiteralContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#unaryOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnaryOperator(RubyParser.UnaryOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#multiplicativeOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultiplicativeOperator(RubyParser.MultiplicativeOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#additiveOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAdditiveOperator(RubyParser.AdditiveOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#bitwiseShiftOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBitwiseShiftOperator(RubyParser.BitwiseShiftOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#bitwiseOrOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBitwiseOrOperator(RubyParser.BitwiseOrOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#relationalOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelationalOperator(RubyParser.RelationalOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#equalityOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEqualityOperator(RubyParser.EqualityOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#rangeOperator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRangeOperator(RubyParser.RangeOperatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link RubyParser#keyword}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitKeyword(RubyParser.KeywordContext ctx);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy