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);
}