// Code generated from Expr.g4 by ANTLR 4.7.2. DO NOT EDIT. package gen // Expr import ( "fmt" "reflect" "strconv" "github.com/antlr/antlr4/runtime/Go/antlr" ) // Suppress unused import errors var _ = fmt.Printf var _ = reflect.Copy var _ = strconv.Itoa var parserATN = []uint16{ 3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 61, 223, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 46, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 98, 10, 3, 3, 3, 3, 3, 5, 3, 102, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 111, 10, 3, 3, 3, 7, 3, 114, 10, 3, 12, 3, 14, 3, 117, 11, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 166, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 7, 6, 175, 10, 6, 12, 6, 14, 6, 178, 11, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 7, 7, 186, 10, 7, 12, 7, 14, 7, 189, 11, 7, 3, 7, 5, 7, 192, 10, 7, 3, 7, 3, 7, 5, 7, 196, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 203, 10, 8, 3, 8, 3, 8, 5, 8, 207, 10, 8, 3, 9, 3, 9, 3, 9, 7, 9, 212, 10, 9, 12, 9, 14, 9, 215, 11, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 2, 3, 4, 12, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 2, 9, 3, 2, 29, 32, 3, 2, 34, 37, 3, 2, 29, 30, 3, 2, 40, 43, 3, 2, 8, 9, 3, 2, 44, 45, 3, 2, 55, 56, 2, 258, 2, 22, 3, 2, 2, 2, 4, 45, 3, 2, 2, 2, 6, 165, 3, 2, 2, 2, 8, 167, 3, 2, 2, 2, 10, 171, 3, 2, 2, 2, 12, 195, 3, 2, 2, 2, 14, 206, 3, 2, 2, 2, 16, 208, 3, 2, 2, 2, 18, 216, 3, 2, 2, 2, 20, 220, 3, 2, 2, 2, 22, 23, 5, 4, 3, 2, 23, 24, 7, 2, 2, 3, 24, 3, 3, 2, 2, 2, 25, 26, 8, 3, 1, 2, 26, 27, 7, 28, 2, 2, 27, 46, 7, 55, 2, 2, 28, 46, 5, 6, 4, 2, 29, 30, 9, 2, 2, 2, 30, 46, 5, 4, 3, 27, 31, 46, 7, 33, 2, 2, 32, 46, 7, 51, 2, 2, 33, 46, 7, 56, 2, 2, 34, 46, 7, 52, 2, 2, 35, 46, 7, 54, 2, 2, 36, 46, 7, 53, 2, 2, 37, 46, 7, 55, 2, 2, 38, 46, 7, 46, 2, 2, 39, 46, 5, 12, 7, 2, 40, 46, 5, 14, 8, 2, 41, 42, 7, 19, 2, 2, 42, 43, 5, 4, 3, 2, 43, 44, 7, 20, 2, 2, 44, 46, 3, 2, 2, 2, 45, 25, 3, 2, 2, 2, 45, 28, 3, 2, 2, 2, 45, 29, 3, 2, 2, 2, 45, 31, 3, 2, 2, 2, 45, 32, 3, 2, 2, 2, 45, 33, 3, 2, 2, 2, 45, 34, 3, 2, 2, 2, 45, 35, 3, 2, 2, 2, 45, 36, 3, 2, 2, 2, 45, 37, 3, 2, 2, 2, 45, 38, 3, 2, 2, 2, 45, 39, 3, 2, 2, 2, 45, 40, 3, 2, 2, 2, 45, 41, 3, 2, 2, 2, 46, 115, 3, 2, 2, 2, 47, 48, 12, 26, 2, 2, 48, 49, 7, 3, 2, 2, 49, 114, 5, 4, 3, 27, 50, 51, 12, 25, 2, 2, 51, 52, 9, 3, 2, 2, 52, 114, 5, 4, 3, 26, 53, 54, 12, 24, 2, 2, 54, 55, 9, 4, 2, 2, 55, 114, 5, 4, 3, 25, 56, 57, 12, 23, 2, 2, 57, 58, 9, 5, 2, 2, 58, 114, 5, 4, 3, 24, 59, 60, 12, 22, 2, 2, 60, 61, 7, 4, 2, 2, 61, 114, 5, 4, 3, 23, 62, 63, 12, 21, 2, 2, 63, 64, 7, 5, 2, 2, 64, 114, 5, 4, 3, 22, 65, 66, 12, 20, 2, 2, 66, 67, 7, 6, 2, 2, 67, 114, 5, 4, 3, 21, 68, 69, 12, 19, 2, 2, 69, 70, 7, 7, 2, 2, 70, 114, 5, 4, 3, 20, 71, 72, 12, 18, 2, 2, 72, 73, 9, 6, 2, 2, 73, 114, 5, 4, 3, 19, 74, 75, 12, 17, 2, 2, 75, 76, 9, 7, 2, 2, 76, 114, 5, 4, 3, 18, 77, 78, 12, 16, 2, 2, 78, 79, 7, 47, 2, 2, 79, 114, 5, 4, 3, 17, 80, 81, 12, 15, 2, 2, 81, 82, 7, 48, 2, 2, 82, 114, 5, 4, 3, 16, 83, 84, 12, 14, 2, 2, 84, 85, 7, 26, 2, 2, 85, 86, 5, 4, 3, 2, 86, 87, 7, 27, 2, 2, 87, 88, 5, 4, 3, 15, 88, 114, 3, 2, 2, 2, 89, 90, 12, 32, 2, 2, 90, 91, 7, 17, 2, 2, 91, 92, 5, 4, 3, 2, 92, 93, 7, 18, 2, 2, 93, 114, 3, 2, 2, 2, 94, 95, 12, 31, 2, 2, 95, 97, 7, 17, 2, 2, 96, 98, 5, 4, 3, 2, 97, 96, 3, 2, 2, 2, 97, 98, 3, 2, 2, 2, 98, 99, 3, 2, 2, 2, 99, 101, 7, 27, 2, 2, 100, 102, 5, 4, 3, 2, 101, 100, 3, 2, 2, 2, 101, 102, 3, 2, 2, 2, 102, 103, 3, 2, 2, 2, 103, 114, 7, 18, 2, 2, 104, 105, 12, 30, 2, 2, 105, 106, 7, 28, 2, 2, 106, 114, 7, 55, 2, 2, 107, 108, 12, 28, 2, 2, 108, 110, 7, 19, 2, 2, 109, 111, 5, 10, 6, 2, 110, 109, 3, 2, 2, 2, 110, 111, 3, 2, 2, 2, 111, 112, 3, 2, 2, 2, 112, 114, 7, 20, 2, 2, 113, 47, 3, 2, 2, 2, 113, 50, 3, 2, 2, 2, 113, 53, 3, 2, 2, 2, 113, 56, 3, 2, 2, 2, 113, 59, 3, 2, 2, 2, 113, 62, 3, 2, 2, 2, 113, 65, 3, 2, 2, 2, 113, 68, 3, 2, 2, 2, 113, 71, 3, 2, 2, 2, 113, 74, 3, 2, 2, 2, 113, 77, 3, 2, 2, 2, 113, 80, 3, 2, 2, 2, 113, 83, 3, 2, 2, 2, 113, 89, 3, 2, 2, 2, 113, 94, 3, 2, 2, 2, 113, 104, 3, 2, 2, 2, 113, 107, 3, 2, 2, 2, 114, 117, 3, 2, 2, 2, 115, 113, 3, 2, 2, 2, 115, 116, 3, 2, 2, 2, 116, 5, 3, 2, 2, 2, 117, 115, 3, 2, 2, 2, 118, 119, 7, 10, 2, 2, 119, 120, 7, 19, 2, 2, 120, 121, 5, 4, 3, 2, 121, 122, 7, 20, 2, 2, 122, 166, 3, 2, 2, 2, 123, 124, 7, 11, 2, 2, 124, 125, 7, 19, 2, 2, 125, 126, 5, 4, 3, 2, 126, 127, 7, 24, 2, 2, 127, 128, 5, 8, 5, 2, 128, 129, 7, 20, 2, 2, 129, 166, 3, 2, 2, 2, 130, 131, 7, 12, 2, 2, 131, 132, 7, 19, 2, 2, 132, 133, 5, 4, 3, 2, 133, 134, 7, 24, 2, 2, 134, 135, 5, 8, 5, 2, 135, 136, 7, 20, 2, 2, 136, 166, 3, 2, 2, 2, 137, 138, 7, 13, 2, 2, 138, 139, 7, 19, 2, 2, 139, 140, 5, 4, 3, 2, 140, 141, 7, 24, 2, 2, 141, 142, 5, 8, 5, 2, 142, 143, 7, 20, 2, 2, 143, 166, 3, 2, 2, 2, 144, 145, 7, 14, 2, 2, 145, 146, 7, 19, 2, 2, 146, 147, 5, 4, 3, 2, 147, 148, 7, 24, 2, 2, 148, 149, 5, 8, 5, 2, 149, 150, 7, 20, 2, 2, 150, 166, 3, 2, 2, 2, 151, 152, 7, 15, 2, 2, 152, 153, 7, 19, 2, 2, 153, 154, 5, 4, 3, 2, 154, 155, 7, 24, 2, 2, 155, 156, 5, 8, 5, 2, 156, 157, 7, 20, 2, 2, 157, 166, 3, 2, 2, 2, 158, 159, 7, 16, 2, 2, 159, 160, 7, 19, 2, 2, 160, 161, 5, 4, 3, 2, 161, 162, 7, 24, 2, 2, 162, 163, 5, 8, 5, 2, 163, 164, 7, 20, 2, 2, 164, 166, 3, 2, 2, 2, 165, 118, 3, 2, 2, 2, 165, 123, 3, 2, 2, 2, 165, 130, 3, 2, 2, 2, 165, 137, 3, 2, 2, 2, 165, 144, 3, 2, 2, 2, 165, 151, 3, 2, 2, 2, 165, 158, 3, 2, 2, 2, 166, 7, 3, 2, 2, 2, 167, 168, 7, 21, 2, 2, 168, 169, 5, 4, 3, 2, 169, 170, 7, 22, 2, 2, 170, 9, 3, 2, 2, 2, 171, 176, 5, 4, 3, 2, 172, 173, 7, 24, 2, 2, 173, 175, 5, 4, 3, 2, 174, 172, 3, 2, 2, 2, 175, 178, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 11, 3, 2, 2, 2, 178, 176, 3, 2, 2, 2, 179, 180, 7, 17, 2, 2, 180, 196, 7, 18, 2, 2, 181, 182, 7, 17, 2, 2, 182, 187, 5, 4, 3, 2, 183, 184, 7, 24, 2, 2, 184, 186, 5, 4, 3, 2, 185, 183, 3, 2, 2, 2, 186, 189, 3, 2, 2, 2, 187, 185, 3, 2, 2, 2, 187, 188, 3, 2, 2, 2, 188, 191, 3, 2, 2, 2, 189, 187, 3, 2, 2, 2, 190, 192, 7, 24, 2, 2, 191, 190, 3, 2, 2, 2, 191, 192, 3, 2, 2, 2, 192, 193, 3, 2, 2, 2, 193, 194, 7, 18, 2, 2, 194, 196, 3, 2, 2, 2, 195, 179, 3, 2, 2, 2, 195, 181, 3, 2, 2, 2, 196, 13, 3, 2, 2, 2, 197, 198, 7, 21, 2, 2, 198, 207, 7, 22, 2, 2, 199, 200, 7, 21, 2, 2, 200, 202, 5, 16, 9, 2, 201, 203, 7, 24, 2, 2, 202, 201, 3, 2, 2, 2, 202, 203, 3, 2, 2, 2, 203, 204, 3, 2, 2, 2, 204, 205, 7, 22, 2, 2, 205, 207, 3, 2, 2, 2, 206, 197, 3, 2, 2, 2, 206, 199, 3, 2, 2, 2, 207, 15, 3, 2, 2, 2, 208, 213, 5, 18, 10, 2, 209, 210, 7, 24, 2, 2, 210, 212, 5, 18, 10, 2, 211, 209, 3, 2, 2, 2, 212, 215, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 17, 3, 2, 2, 2, 215, 213, 3, 2, 2, 2, 216, 217, 5, 20, 11, 2, 217, 218, 7, 27, 2, 2, 218, 219, 5, 4, 3, 2, 219, 19, 3, 2, 2, 2, 220, 221, 9, 8, 2, 2, 221, 21, 3, 2, 2, 2, 16, 45, 97, 101, 110, 113, 115, 165, 176, 187, 191, 195, 202, 206, 213, } var deserializer = antlr.NewATNDeserializer(nil) var deserializedATN = deserializer.DeserializeFromUInt16(parserATN) var literalNames = []string{ "", "'..'", "'startsWith'", "'endsWith'", "'contains'", "'matches'", "'in'", "'not in'", "'len'", "'all'", "'none'", "'any'", "'one'", "'filter'", "'map'", "'['", "']'", "'('", "')'", "'{'", "'}'", "';'", "','", "'='", "'?'", "':'", "'.'", "'+'", "'-'", "'!'", "'not'", "'nil'", "'*'", "'**'", "'/'", "'%'", "'>>'", "'<<'", "'<'", "'>'", "'<='", "'>='", "'=='", "'!='", "'#'", } var symbolicNames = []string{ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "OpenBracket", "CloseBracket", "OpenParen", "CloseParen", "OpenBrace", "CloseBrace", "SemiColon", "Comma", "Assign", "QuestionMark", "Colon", "Dot", "Plus", "Minus", "Negate", "Not", "Nil", "Multiply", "Exponent", "Divide", "Modulus", "RightShiftArithmetic", "LeftShiftArithmetic", "LessThan", "MoreThan", "LessThanEquals", "GreaterThanEquals", "Equals", "NotEquals", "Pointer", "And", "Or", "Builtins", "Ops", "BooleanLiteral", "IntegerLiteral", "FloatLiteral", "HexIntegerLiteral", "Identifier", "StringLiteral", "WhiteSpaces", "MultiLineComment", "SingleLineComment", "LineTerminator", "UnexpectedCharacter", } var ruleNames = []string{ "start", "expr", "builtins", "closure", "arguments", "arrayLiteral", "mapLiteral", "propertyNameAndValueList", "propertyAssignment", "propertyName", } var decisionToDFA = make([]*antlr.DFA, len(deserializedATN.DecisionToState)) func init() { for index, ds := range deserializedATN.DecisionToState { decisionToDFA[index] = antlr.NewDFA(ds, index) } } type ExprParser struct { *antlr.BaseParser } func NewExprParser(input antlr.TokenStream) *ExprParser { this := new(ExprParser) this.BaseParser = antlr.NewBaseParser(input) this.Interpreter = antlr.NewParserATNSimulator(this, deserializedATN, decisionToDFA, antlr.NewPredictionContextCache()) this.RuleNames = ruleNames this.LiteralNames = literalNames this.SymbolicNames = symbolicNames this.GrammarFileName = "Expr.g4" return this } // ExprParser tokens. const ( ExprParserEOF = antlr.TokenEOF ExprParserT__0 = 1 ExprParserT__1 = 2 ExprParserT__2 = 3 ExprParserT__3 = 4 ExprParserT__4 = 5 ExprParserT__5 = 6 ExprParserT__6 = 7 ExprParserT__7 = 8 ExprParserT__8 = 9 ExprParserT__9 = 10 ExprParserT__10 = 11 ExprParserT__11 = 12 ExprParserT__12 = 13 ExprParserT__13 = 14 ExprParserOpenBracket = 15 ExprParserCloseBracket = 16 ExprParserOpenParen = 17 ExprParserCloseParen = 18 ExprParserOpenBrace = 19 ExprParserCloseBrace = 20 ExprParserSemiColon = 21 ExprParserComma = 22 ExprParserAssign = 23 ExprParserQuestionMark = 24 ExprParserColon = 25 ExprParserDot = 26 ExprParserPlus = 27 ExprParserMinus = 28 ExprParserNegate = 29 ExprParserNot = 30 ExprParserNil = 31 ExprParserMultiply = 32 ExprParserExponent = 33 ExprParserDivide = 34 ExprParserModulus = 35 ExprParserRightShiftArithmetic = 36 ExprParserLeftShiftArithmetic = 37 ExprParserLessThan = 38 ExprParserMoreThan = 39 ExprParserLessThanEquals = 40 ExprParserGreaterThanEquals = 41 ExprParserEquals = 42 ExprParserNotEquals = 43 ExprParserPointer = 44 ExprParserAnd = 45 ExprParserOr = 46 ExprParserBuiltins = 47 ExprParserOps = 48 ExprParserBooleanLiteral = 49 ExprParserIntegerLiteral = 50 ExprParserFloatLiteral = 51 ExprParserHexIntegerLiteral = 52 ExprParserIdentifier = 53 ExprParserStringLiteral = 54 ExprParserWhiteSpaces = 55 ExprParserMultiLineComment = 56 ExprParserSingleLineComment = 57 ExprParserLineTerminator = 58 ExprParserUnexpectedCharacter = 59 ) // ExprParser rules. const ( ExprParserRULE_start = 0 ExprParserRULE_expr = 1 ExprParserRULE_builtins = 2 ExprParserRULE_closure = 3 ExprParserRULE_arguments = 4 ExprParserRULE_arrayLiteral = 5 ExprParserRULE_mapLiteral = 6 ExprParserRULE_propertyNameAndValueList = 7 ExprParserRULE_propertyAssignment = 8 ExprParserRULE_propertyName = 9 ) // IStartContext is an interface to support dynamic dispatch. type IStartContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // GetE returns the e rule contexts. GetE() IExprContext // SetE sets the e rule contexts. SetE(IExprContext) // IsStartContext differentiates from other interfaces. IsStartContext() } type StartContext struct { *antlr.BaseParserRuleContext parser antlr.Parser e IExprContext } func NewEmptyStartContext() *StartContext { var p = new(StartContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) p.RuleIndex = ExprParserRULE_start return p } func (*StartContext) IsStartContext() {} func NewStartContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StartContext { var p = new(StartContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) p.parser = parser p.RuleIndex = ExprParserRULE_start return p } func (s *StartContext) GetParser() antlr.Parser { return s.parser } func (s *StartContext) GetE() IExprContext { return s.e } func (s *StartContext) SetE(v IExprContext) { s.e = v } func (s *StartContext) EOF() antlr.TerminalNode { return s.GetToken(ExprParserEOF, 0) } func (s *StartContext) Expr() IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IExprContext) } func (s *StartContext) GetRuleContext() antlr.RuleContext { return s } func (s *StartContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } func (s *StartContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterStart(s) } } func (s *StartContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitStart(s) } } func (s *StartContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitStart(s) default: return t.VisitChildren(s) } } func (p *ExprParser) Start() (localctx IStartContext) { localctx = NewStartContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 0, ExprParserRULE_start) defer func() { p.ExitRule() }() defer func() { if err := recover(); err != nil { if v, ok := err.(antlr.RecognitionException); ok { localctx.SetException(v) p.GetErrorHandler().ReportError(p, v) p.GetErrorHandler().Recover(p, v) } else { panic(err) } } }() p.EnterOuterAlt(localctx, 1) { p.SetState(20) var _x = p.expr(0) localctx.(*StartContext).e = _x } { p.SetState(21) p.Match(ExprParserEOF) } return localctx } // IExprContext is an interface to support dynamic dispatch. type IExprContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsExprContext differentiates from other interfaces. IsExprContext() } type ExprContext struct { *antlr.BaseParserRuleContext parser antlr.Parser } func NewEmptyExprContext() *ExprContext { var p = new(ExprContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) p.RuleIndex = ExprParserRULE_expr return p } func (*ExprContext) IsExprContext() {} func NewExprContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExprContext { var p = new(ExprContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) p.parser = parser p.RuleIndex = ExprParserRULE_expr return p } func (s *ExprContext) GetParser() antlr.Parser { return s.parser } func (s *ExprContext) CopyFrom(ctx *ExprContext) { s.BaseParserRuleContext.CopyFrom(ctx.BaseParserRuleContext) } func (s *ExprContext) GetRuleContext() antlr.RuleContext { return s } func (s *ExprContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } type CallContext struct { *ExprContext args IArgumentsContext } func NewCallContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CallContext { var p = new(CallContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *CallContext) GetArgs() IArgumentsContext { return s.args } func (s *CallContext) SetArgs(v IArgumentsContext) { s.args = v } func (s *CallContext) GetRuleContext() antlr.RuleContext { return s } func (s *CallContext) Expr() IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IExprContext) } func (s *CallContext) OpenParen() antlr.TerminalNode { return s.GetToken(ExprParserOpenParen, 0) } func (s *CallContext) CloseParen() antlr.TerminalNode { return s.GetToken(ExprParserCloseParen, 0) } func (s *CallContext) Arguments() IArgumentsContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IArgumentsContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IArgumentsContext) } func (s *CallContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterCall(s) } } func (s *CallContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitCall(s) } } func (s *CallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitCall(s) default: return t.VisitChildren(s) } } type MatchesContext struct { *ExprContext op antlr.Token pattern IExprContext } func NewMatchesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MatchesContext { var p = new(MatchesContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *MatchesContext) GetOp() antlr.Token { return s.op } func (s *MatchesContext) SetOp(v antlr.Token) { s.op = v } func (s *MatchesContext) GetPattern() IExprContext { return s.pattern } func (s *MatchesContext) SetPattern(v IExprContext) { s.pattern = v } func (s *MatchesContext) GetRuleContext() antlr.RuleContext { return s } func (s *MatchesContext) AllExpr() []IExprContext { var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExprContext)(nil)).Elem()) var tst = make([]IExprContext, len(ts)) for i, t := range ts { if t != nil { tst[i] = t.(IExprContext) } } return tst } func (s *MatchesContext) Expr(i int) IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), i) if t == nil { return nil } return t.(IExprContext) } func (s *MatchesContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterMatches(s) } } func (s *MatchesContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitMatches(s) } } func (s *MatchesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitMatches(s) default: return t.VisitChildren(s) } } type TernaryContext struct { *ExprContext e1 IExprContext e2 IExprContext } func NewTernaryContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *TernaryContext { var p = new(TernaryContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *TernaryContext) GetE1() IExprContext { return s.e1 } func (s *TernaryContext) GetE2() IExprContext { return s.e2 } func (s *TernaryContext) SetE1(v IExprContext) { s.e1 = v } func (s *TernaryContext) SetE2(v IExprContext) { s.e2 = v } func (s *TernaryContext) GetRuleContext() antlr.RuleContext { return s } func (s *TernaryContext) AllExpr() []IExprContext { var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExprContext)(nil)).Elem()) var tst = make([]IExprContext, len(ts)) for i, t := range ts { if t != nil { tst[i] = t.(IExprContext) } } return tst } func (s *TernaryContext) Expr(i int) IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), i) if t == nil { return nil } return t.(IExprContext) } func (s *TernaryContext) QuestionMark() antlr.TerminalNode { return s.GetToken(ExprParserQuestionMark, 0) } func (s *TernaryContext) Colon() antlr.TerminalNode { return s.GetToken(ExprParserColon, 0) } func (s *TernaryContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterTernary(s) } } func (s *TernaryContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitTernary(s) } } func (s *TernaryContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitTernary(s) default: return t.VisitChildren(s) } } type PointerContext struct { *ExprContext } func NewPointerContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *PointerContext { var p = new(PointerContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *PointerContext) GetRuleContext() antlr.RuleContext { return s } func (s *PointerContext) Pointer() antlr.TerminalNode { return s.GetToken(ExprParserPointer, 0) } func (s *PointerContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterPointer(s) } } func (s *PointerContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitPointer(s) } } func (s *PointerContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitPointer(s) default: return t.VisitChildren(s) } } type StringContext struct { *ExprContext } func NewStringContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *StringContext { var p = new(StringContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *StringContext) GetRuleContext() antlr.RuleContext { return s } func (s *StringContext) StringLiteral() antlr.TerminalNode { return s.GetToken(ExprParserStringLiteral, 0) } func (s *StringContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterString(s) } } func (s *StringContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitString(s) } } func (s *StringContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitString(s) default: return t.VisitChildren(s) } } type ClosureMemberDotContext struct { *ExprContext name antlr.Token } func NewClosureMemberDotContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ClosureMemberDotContext { var p = new(ClosureMemberDotContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *ClosureMemberDotContext) GetName() antlr.Token { return s.name } func (s *ClosureMemberDotContext) SetName(v antlr.Token) { s.name = v } func (s *ClosureMemberDotContext) GetRuleContext() antlr.RuleContext { return s } func (s *ClosureMemberDotContext) Dot() antlr.TerminalNode { return s.GetToken(ExprParserDot, 0) } func (s *ClosureMemberDotContext) Identifier() antlr.TerminalNode { return s.GetToken(ExprParserIdentifier, 0) } func (s *ClosureMemberDotContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterClosureMemberDot(s) } } func (s *ClosureMemberDotContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitClosureMemberDot(s) } } func (s *ClosureMemberDotContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitClosureMemberDot(s) default: return t.VisitChildren(s) } } type UnaryContext struct { *ExprContext op antlr.Token } func NewUnaryContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *UnaryContext { var p = new(UnaryContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *UnaryContext) GetOp() antlr.Token { return s.op } func (s *UnaryContext) SetOp(v antlr.Token) { s.op = v } func (s *UnaryContext) GetRuleContext() antlr.RuleContext { return s } func (s *UnaryContext) Expr() IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IExprContext) } func (s *UnaryContext) Plus() antlr.TerminalNode { return s.GetToken(ExprParserPlus, 0) } func (s *UnaryContext) Minus() antlr.TerminalNode { return s.GetToken(ExprParserMinus, 0) } func (s *UnaryContext) Negate() antlr.TerminalNode { return s.GetToken(ExprParserNegate, 0) } func (s *UnaryContext) Not() antlr.TerminalNode { return s.GetToken(ExprParserNot, 0) } func (s *UnaryContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterUnary(s) } } func (s *UnaryContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitUnary(s) } } func (s *UnaryContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitUnary(s) default: return t.VisitChildren(s) } } type NilContext struct { *ExprContext } func NewNilContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NilContext { var p = new(NilContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *NilContext) GetRuleContext() antlr.RuleContext { return s } func (s *NilContext) Nil() antlr.TerminalNode { return s.GetToken(ExprParserNil, 0) } func (s *NilContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterNil(s) } } func (s *NilContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitNil(s) } } func (s *NilContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitNil(s) default: return t.VisitChildren(s) } } type IntegerContext struct { *ExprContext } func NewIntegerContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IntegerContext { var p = new(IntegerContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *IntegerContext) GetRuleContext() antlr.RuleContext { return s } func (s *IntegerContext) IntegerLiteral() antlr.TerminalNode { return s.GetToken(ExprParserIntegerLiteral, 0) } func (s *IntegerContext) HexIntegerLiteral() antlr.TerminalNode { return s.GetToken(ExprParserHexIntegerLiteral, 0) } func (s *IntegerContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterInteger(s) } } func (s *IntegerContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitInteger(s) } } func (s *IntegerContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitInteger(s) default: return t.VisitChildren(s) } } type ArrayContext struct { *ExprContext } func NewArrayContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ArrayContext { var p = new(ArrayContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *ArrayContext) GetRuleContext() antlr.RuleContext { return s } func (s *ArrayContext) ArrayLiteral() IArrayLiteralContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayLiteralContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IArrayLiteralContext) } func (s *ArrayContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterArray(s) } } func (s *ArrayContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitArray(s) } } func (s *ArrayContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitArray(s) default: return t.VisitChildren(s) } } type FloatContext struct { *ExprContext } func NewFloatContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *FloatContext { var p = new(FloatContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *FloatContext) GetRuleContext() antlr.RuleContext { return s } func (s *FloatContext) FloatLiteral() antlr.TerminalNode { return s.GetToken(ExprParserFloatLiteral, 0) } func (s *FloatContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterFloat(s) } } func (s *FloatContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitFloat(s) } } func (s *FloatContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitFloat(s) default: return t.VisitChildren(s) } } type IdentifierContext struct { *ExprContext } func NewIdentifierContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IdentifierContext { var p = new(IdentifierContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *IdentifierContext) GetRuleContext() antlr.RuleContext { return s } func (s *IdentifierContext) Identifier() antlr.TerminalNode { return s.GetToken(ExprParserIdentifier, 0) } func (s *IdentifierContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterIdentifier(s) } } func (s *IdentifierContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitIdentifier(s) } } func (s *IdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitIdentifier(s) default: return t.VisitChildren(s) } } type ParenthesizedContext struct { *ExprContext } func NewParenthesizedContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ParenthesizedContext { var p = new(ParenthesizedContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *ParenthesizedContext) GetRuleContext() antlr.RuleContext { return s } func (s *ParenthesizedContext) OpenParen() antlr.TerminalNode { return s.GetToken(ExprParserOpenParen, 0) } func (s *ParenthesizedContext) Expr() IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IExprContext) } func (s *ParenthesizedContext) CloseParen() antlr.TerminalNode { return s.GetToken(ExprParserCloseParen, 0) } func (s *ParenthesizedContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterParenthesized(s) } } func (s *ParenthesizedContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitParenthesized(s) } } func (s *ParenthesizedContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitParenthesized(s) default: return t.VisitChildren(s) } } type SliceContext struct { *ExprContext a IExprContext b IExprContext } func NewSliceContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *SliceContext { var p = new(SliceContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *SliceContext) GetA() IExprContext { return s.a } func (s *SliceContext) GetB() IExprContext { return s.b } func (s *SliceContext) SetA(v IExprContext) { s.a = v } func (s *SliceContext) SetB(v IExprContext) { s.b = v } func (s *SliceContext) GetRuleContext() antlr.RuleContext { return s } func (s *SliceContext) AllExpr() []IExprContext { var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExprContext)(nil)).Elem()) var tst = make([]IExprContext, len(ts)) for i, t := range ts { if t != nil { tst[i] = t.(IExprContext) } } return tst } func (s *SliceContext) Expr(i int) IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), i) if t == nil { return nil } return t.(IExprContext) } func (s *SliceContext) OpenBracket() antlr.TerminalNode { return s.GetToken(ExprParserOpenBracket, 0) } func (s *SliceContext) Colon() antlr.TerminalNode { return s.GetToken(ExprParserColon, 0) } func (s *SliceContext) CloseBracket() antlr.TerminalNode { return s.GetToken(ExprParserCloseBracket, 0) } func (s *SliceContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterSlice(s) } } func (s *SliceContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitSlice(s) } } func (s *SliceContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitSlice(s) default: return t.VisitChildren(s) } } type MemberIndexContext struct { *ExprContext index IExprContext } func NewMemberIndexContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MemberIndexContext { var p = new(MemberIndexContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *MemberIndexContext) GetIndex() IExprContext { return s.index } func (s *MemberIndexContext) SetIndex(v IExprContext) { s.index = v } func (s *MemberIndexContext) GetRuleContext() antlr.RuleContext { return s } func (s *MemberIndexContext) AllExpr() []IExprContext { var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExprContext)(nil)).Elem()) var tst = make([]IExprContext, len(ts)) for i, t := range ts { if t != nil { tst[i] = t.(IExprContext) } } return tst } func (s *MemberIndexContext) Expr(i int) IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), i) if t == nil { return nil } return t.(IExprContext) } func (s *MemberIndexContext) OpenBracket() antlr.TerminalNode { return s.GetToken(ExprParserOpenBracket, 0) } func (s *MemberIndexContext) CloseBracket() antlr.TerminalNode { return s.GetToken(ExprParserCloseBracket, 0) } func (s *MemberIndexContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterMemberIndex(s) } } func (s *MemberIndexContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitMemberIndex(s) } } func (s *MemberIndexContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitMemberIndex(s) default: return t.VisitChildren(s) } } type BuiltinsListContext struct { *ExprContext } func NewBuiltinsListContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BuiltinsListContext { var p = new(BuiltinsListContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *BuiltinsListContext) GetRuleContext() antlr.RuleContext { return s } func (s *BuiltinsListContext) Builtins() IBuiltinsContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IBuiltinsContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IBuiltinsContext) } func (s *BuiltinsListContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterBuiltinsList(s) } } func (s *BuiltinsListContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitBuiltinsList(s) } } func (s *BuiltinsListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitBuiltinsList(s) default: return t.VisitChildren(s) } } type BinaryContext struct { *ExprContext op antlr.Token } func NewBinaryContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BinaryContext { var p = new(BinaryContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *BinaryContext) GetOp() antlr.Token { return s.op } func (s *BinaryContext) SetOp(v antlr.Token) { s.op = v } func (s *BinaryContext) GetRuleContext() antlr.RuleContext { return s } func (s *BinaryContext) AllExpr() []IExprContext { var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExprContext)(nil)).Elem()) var tst = make([]IExprContext, len(ts)) for i, t := range ts { if t != nil { tst[i] = t.(IExprContext) } } return tst } func (s *BinaryContext) Expr(i int) IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), i) if t == nil { return nil } return t.(IExprContext) } func (s *BinaryContext) Multiply() antlr.TerminalNode { return s.GetToken(ExprParserMultiply, 0) } func (s *BinaryContext) Exponent() antlr.TerminalNode { return s.GetToken(ExprParserExponent, 0) } func (s *BinaryContext) Divide() antlr.TerminalNode { return s.GetToken(ExprParserDivide, 0) } func (s *BinaryContext) Modulus() antlr.TerminalNode { return s.GetToken(ExprParserModulus, 0) } func (s *BinaryContext) Plus() antlr.TerminalNode { return s.GetToken(ExprParserPlus, 0) } func (s *BinaryContext) Minus() antlr.TerminalNode { return s.GetToken(ExprParserMinus, 0) } func (s *BinaryContext) LessThan() antlr.TerminalNode { return s.GetToken(ExprParserLessThan, 0) } func (s *BinaryContext) MoreThan() antlr.TerminalNode { return s.GetToken(ExprParserMoreThan, 0) } func (s *BinaryContext) LessThanEquals() antlr.TerminalNode { return s.GetToken(ExprParserLessThanEquals, 0) } func (s *BinaryContext) GreaterThanEquals() antlr.TerminalNode { return s.GetToken(ExprParserGreaterThanEquals, 0) } func (s *BinaryContext) Equals() antlr.TerminalNode { return s.GetToken(ExprParserEquals, 0) } func (s *BinaryContext) NotEquals() antlr.TerminalNode { return s.GetToken(ExprParserNotEquals, 0) } func (s *BinaryContext) And() antlr.TerminalNode { return s.GetToken(ExprParserAnd, 0) } func (s *BinaryContext) Or() antlr.TerminalNode { return s.GetToken(ExprParserOr, 0) } func (s *BinaryContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterBinary(s) } } func (s *BinaryContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitBinary(s) } } func (s *BinaryContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitBinary(s) default: return t.VisitChildren(s) } } type BooleanContext struct { *ExprContext } func NewBooleanContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BooleanContext { var p = new(BooleanContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *BooleanContext) GetRuleContext() antlr.RuleContext { return s } func (s *BooleanContext) BooleanLiteral() antlr.TerminalNode { return s.GetToken(ExprParserBooleanLiteral, 0) } func (s *BooleanContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterBoolean(s) } } func (s *BooleanContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitBoolean(s) } } func (s *BooleanContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitBoolean(s) default: return t.VisitChildren(s) } } type MapContext struct { *ExprContext } func NewMapContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MapContext { var p = new(MapContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *MapContext) GetRuleContext() antlr.RuleContext { return s } func (s *MapContext) MapLiteral() IMapLiteralContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IMapLiteralContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IMapLiteralContext) } func (s *MapContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterMap(s) } } func (s *MapContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitMap(s) } } func (s *MapContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitMap(s) default: return t.VisitChildren(s) } } type MemberDotContext struct { *ExprContext name antlr.Token } func NewMemberDotContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MemberDotContext { var p = new(MemberDotContext) p.ExprContext = NewEmptyExprContext() p.parser = parser p.CopyFrom(ctx.(*ExprContext)) return p } func (s *MemberDotContext) GetName() antlr.Token { return s.name } func (s *MemberDotContext) SetName(v antlr.Token) { s.name = v } func (s *MemberDotContext) GetRuleContext() antlr.RuleContext { return s } func (s *MemberDotContext) Expr() IExprContext { var t = s.GetTypedRuleContext(reflect.TypeOf((*IExprContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IExprContext) } func (s *MemberDotContext) Dot() antlr.TerminalNode { return s.GetToken(ExprParserDot, 0) } func (s *MemberDotContext) Identifier() antlr.TerminalNode { return s.GetToken(ExprParserIdentifier, 0) } func (s *MemberDotContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.EnterMemberDot(s) } } func (s *MemberDotContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(ExprListener); ok { listenerT.ExitMemberDot(s) } } func (s *MemberDotContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ExprVisitor: return t.VisitMemberDot(s) default: return t.VisitChildren(s) } } func (p *ExprParser) Expr() (localctx IExprContext) { return p.expr(0) } func (p *ExprParser) expr(_p int) (localctx IExprContext) { var _parentctx antlr.ParserRuleContext = p.GetParserRuleContext() _parentState := p.GetState() localctx = NewExprContext(p, p.GetParserRuleContext(), _parentState) var _prevctx IExprContext = localctx var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. _startState := 2 p.EnterRecursionRule(localctx, 2, ExprParserRULE_expr, _p) var _la int defer func() { p.UnrollRecursionContexts(_parentctx) }() defer func() { if err := recover(); err != nil { if v, ok := err.(antlr.RecognitionException); ok { localctx.SetException(v) p.GetErrorHandler().ReportError(p, v) p.GetErrorHandler().Recover(p, v) } else { panic(err) } } }() var _alt int p.EnterOuterAlt(localctx, 1) p.SetState(43) p.GetErrorHandler().Sync(p) switch p.GetTokenStream().LA(1) { case ExprParserDot: localctx = NewClosureMemberDotContext(p, localctx) p.SetParserRuleContext(localctx) _prevctx = localctx { p.SetState(24) p.Match(ExprParserDot) } { p.SetState(25) var _m = p.Match(ExprParserIdentifier) localctx.(*ClosureMemberDotContext).name = _m } case ExprParserT__7, ExprParserT__8, ExprParserT__9, ExprParserT__10, ExprParserT__11, ExprParserT__12, ExprParserT__13: localctx = NewBuiltinsListContext(p, localctx) p.SetParserRuleContext(localctx) _prevctx = localctx { p.SetState(26) p.Builtins() } case ExprParserPlus, ExprParserMinus, ExprParserNegate, ExprParserNot: localctx = NewUnaryContext(p, localctx) p.SetParserRuleContext(localctx) _prevctx = localctx { p.SetState(27) var _lt = p.GetTokenStream().LT(1) localctx.(*UnaryContext).op = _lt _la = p.GetTokenStream().LA(1) if !(((_la)&-(0x1f+1)) == 0 && ((1<