@vlocode/apex
Version:
Salesforce APEX Parser and Grammar
1,122 lines (1,121 loc) • 714 kB
JavaScript
"use strict";
// Generated from ./grammar/ApexParser.g4 by ANTLR 4.13.1
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.TryStatementContext = exports.DoWhileStatementContext = exports.WhileStatementContext = exports.ForStatementContext = exports.WhenLiteralContext = exports.WhenValueContext = exports.WhenControlContext = exports.SwitchStatementContext = exports.IfStatementContext = exports.StatementContext = exports.LocalVariableDeclarationContext = exports.LocalVariableDeclarationStatementContext = exports.BlockContext = exports.ElementValueArrayInitializerContext = exports.ElementValueContext = exports.ElementValuePairContext = exports.ElementValuePairsContext = exports.AnnotationContext = exports.LiteralContext = exports.QualifiedNameContext = exports.FormalParameterContext = exports.FormalParameterListContext = exports.FormalParametersContext = exports.TypeArgumentsContext = exports.TypeNameContext = exports.ArraySubscriptsContext = exports.TypeRefContext = exports.ArrayInitializerContext = exports.VariableDeclaratorContext = exports.VariableDeclaratorsContext = exports.InterfaceMethodDeclarationContext = exports.PropertyDeclarationContext = exports.FieldDeclarationContext = exports.ConstructorDeclarationContext = exports.MethodDeclarationContext = exports.MemberDeclarationContext = exports.ModifierContext = exports.ClassBodyDeclarationContext = exports.InterfaceBodyContext = exports.ClassBodyContext = exports.TypeListContext = exports.InterfaceDeclarationContext = exports.EnumConstantsContext = exports.EnumDeclarationContext = exports.ClassDeclarationContext = exports.TypeDeclarationContext = exports.CompilationUnitContext = exports.TriggerCaseContext = exports.TriggerUnitContext = exports.ApexParser = void 0;
exports.PrimaryContext = exports.InstanceOfExpressionContext = exports.SubExpressionContext = exports.PreOpExpressionContext = exports.NegExpressionContext = exports.PostOpExpressionContext = exports.EqualityExpressionContext = exports.CondExpressionContext = exports.LogOrExpressionContext = exports.BitExpressionContext = exports.CmpExpressionContext = exports.BitAndExpressionContext = exports.CastExpressionContext = exports.CoalescingExpressionContext = exports.LogAndExpressionContext = exports.Arth2ExpressionContext = exports.BitNotExpressionContext = exports.MethodCallExpressionContext = exports.AssignExpressionContext = exports.NewExpressionContext = exports.ArrayExpressionContext = exports.BitOrExpressionContext = exports.DotExpressionContext = exports.Arth1ExpressionContext = exports.PrimaryExpressionContext = exports.ExpressionContext = exports.ExpressionListContext = exports.ParExpressionContext = exports.ForUpdateContext = exports.EnhancedForControlContext = exports.ForInitContext = exports.ForControlContext = exports.FinallyBlockContext = exports.CatchClauseContext = exports.SetterContext = exports.GetterContext = exports.PropertyBlockContext = exports.ExpressionStatementContext = exports.RunAsStatementContext = exports.MergeStatementContext = exports.UpsertStatementContext = exports.UndeleteStatementContext = exports.DeleteStatementContext = exports.UpdateStatementContext = exports.InsertStatementContext = exports.AccessLevelContext = exports.ContinueStatementContext = exports.BreakStatementContext = exports.ThrowStatementContext = exports.ReturnStatementContext = void 0;
exports.DataCategorySelectionContext = exports.FilteringExpressionContext = exports.WithClauseContext = exports.SignedNumberContext = exports.ValueListContext = exports.ValueContext = exports.ComparisonOperatorContext = exports.FieldExpressionContext = exports.ConditionalExpressionContext = exports.LogicalExpressionContext = exports.WhereClauseContext = exports.UsingScopeContext = exports.FieldNameListContext = exports.ElseClauseContext = exports.WhenClauseContext = exports.TypeOfContext = exports.CoordinateValueContext = exports.LocationValueContext = exports.DateFieldNameContext = exports.SoqlFunctionContext = exports.SoqlFieldsParameterContext = exports.SubFieldEntryContext = exports.SubFieldListContext = exports.FromNameListContext = exports.FieldNameContext = exports.SelectEntryContext = exports.SelectListContext = exports.SubQueryContext = exports.QueryContext = exports.SoqlLiteralContext = exports.ArgumentsContext = exports.SetCreatorRestContext = exports.MapCreatorRestPairContext = exports.MapCreatorRestContext = exports.ArrayCreatorRestContext = exports.ClassCreatorRestContext = exports.NoRestContext = exports.IdCreatedNamePairContext = exports.CreatedNameContext = exports.CreatorContext = exports.DotMethodCallContext = exports.MethodCallContext = exports.LiteralPrimaryContext = exports.SoslPrimaryContext = exports.IdPrimaryContext = exports.TypeRefPrimaryContext = exports.SuperPrimaryContext = exports.SoqlPrimaryContext = exports.VoidPrimaryContext = exports.ThisPrimaryContext = void 0;
exports.AnyIdContext = exports.IdContext = exports.SoslIdContext = exports.NetworkListContext = exports.UpdateTypeContext = exports.UpdateListContext = exports.FieldListContext = exports.FieldSpecContext = exports.FieldSpecListContext = exports.SearchGroupContext = exports.SoslClausesContext = exports.SoslLiteralAltContext = exports.SoslLiteralContext = exports.SoqlIdContext = exports.SignedIntegerContext = exports.DateFormulaContext = exports.BoundExpressionContext = exports.ForClausesContext = exports.AllRowsClauseContext = exports.OffsetClauseContext = exports.LimitClauseContext = exports.FieldOrderContext = exports.FieldOrderListContext = exports.OrderByClauseContext = exports.GroupByClauseContext = exports.FilteringSelectorContext = exports.DataCategoryNameContext = void 0;
const antlr = __importStar(require("antlr4ng"));
class ApexParser extends antlr.Parser {
static ABSTRACT = 1;
static AFTER = 2;
static BEFORE = 3;
static BREAK = 4;
static CATCH = 5;
static CLASS = 6;
static CONTINUE = 7;
static DELETE = 8;
static DO = 9;
static ELSE = 10;
static ENUM = 11;
static EXTENDS = 12;
static FINAL = 13;
static FINALLY = 14;
static FOR = 15;
static GET = 16;
static GLOBAL = 17;
static IF = 18;
static IMPLEMENTS = 19;
static INHERITED = 20;
static INSERT = 21;
static INSTANCEOF = 22;
static INTERFACE = 23;
static MERGE = 24;
static NEW = 25;
static NULL = 26;
static ON = 27;
static OVERRIDE = 28;
static PRIVATE = 29;
static PROTECTED = 30;
static PUBLIC = 31;
static RETURN = 32;
static SYSTEMRUNAS = 33;
static SET = 34;
static SHARING = 35;
static STATIC = 36;
static SUPER = 37;
static SWITCH = 38;
static TESTMETHOD = 39;
static THIS = 40;
static THROW = 41;
static TRANSIENT = 42;
static TRIGGER = 43;
static TRY = 44;
static UNDELETE = 45;
static UPDATE = 46;
static UPSERT = 47;
static VIRTUAL = 48;
static VOID = 49;
static WEBSERVICE = 50;
static WHEN = 51;
static WHILE = 52;
static WITH = 53;
static WITHOUT = 54;
static LIST = 55;
static MAP = 56;
static SYSTEM = 57;
static USER = 58;
static SELECT = 59;
static COUNT = 60;
static FROM = 61;
static AS = 62;
static USING = 63;
static SCOPE = 64;
static WHERE = 65;
static ORDER = 66;
static BY = 67;
static LIMIT = 68;
static SOQLAND = 69;
static SOQLOR = 70;
static NOT = 71;
static AVG = 72;
static COUNT_DISTINCT = 73;
static MIN = 74;
static MAX = 75;
static SUM = 76;
static TYPEOF = 77;
static END = 78;
static THEN = 79;
static LIKE = 80;
static IN = 81;
static INCLUDES = 82;
static EXCLUDES = 83;
static ASC = 84;
static DESC = 85;
static NULLS = 86;
static FIRST = 87;
static LAST = 88;
static GROUP = 89;
static ALL = 90;
static ROWS = 91;
static VIEW = 92;
static HAVING = 93;
static ROLLUP = 94;
static TOLABEL = 95;
static OFFSET = 96;
static DATA = 97;
static CATEGORY = 98;
static AT = 99;
static ABOVE = 100;
static BELOW = 101;
static ABOVE_OR_BELOW = 102;
static SECURITY_ENFORCED = 103;
static SYSTEM_MODE = 104;
static USER_MODE = 105;
static REFERENCE = 106;
static CUBE = 107;
static FORMAT = 108;
static TRACKING = 109;
static VIEWSTAT = 110;
static CUSTOM = 111;
static STANDARD = 112;
static DISTANCE = 113;
static GEOLOCATION = 114;
static CALENDAR_MONTH = 115;
static CALENDAR_QUARTER = 116;
static CALENDAR_YEAR = 117;
static DAY_IN_MONTH = 118;
static DAY_IN_WEEK = 119;
static DAY_IN_YEAR = 120;
static DAY_ONLY = 121;
static FISCAL_MONTH = 122;
static FISCAL_QUARTER = 123;
static FISCAL_YEAR = 124;
static HOUR_IN_DAY = 125;
static WEEK_IN_MONTH = 126;
static WEEK_IN_YEAR = 127;
static CONVERT_TIMEZONE = 128;
static YESTERDAY = 129;
static TODAY = 130;
static TOMORROW = 131;
static LAST_WEEK = 132;
static THIS_WEEK = 133;
static NEXT_WEEK = 134;
static LAST_MONTH = 135;
static THIS_MONTH = 136;
static NEXT_MONTH = 137;
static LAST_90_DAYS = 138;
static NEXT_90_DAYS = 139;
static LAST_N_DAYS_N = 140;
static NEXT_N_DAYS_N = 141;
static N_DAYS_AGO_N = 142;
static NEXT_N_WEEKS_N = 143;
static LAST_N_WEEKS_N = 144;
static N_WEEKS_AGO_N = 145;
static NEXT_N_MONTHS_N = 146;
static LAST_N_MONTHS_N = 147;
static N_MONTHS_AGO_N = 148;
static THIS_QUARTER = 149;
static LAST_QUARTER = 150;
static NEXT_QUARTER = 151;
static NEXT_N_QUARTERS_N = 152;
static LAST_N_QUARTERS_N = 153;
static N_QUARTERS_AGO_N = 154;
static THIS_YEAR = 155;
static LAST_YEAR = 156;
static NEXT_YEAR = 157;
static NEXT_N_YEARS_N = 158;
static LAST_N_YEARS_N = 159;
static N_YEARS_AGO_N = 160;
static THIS_FISCAL_QUARTER = 161;
static LAST_FISCAL_QUARTER = 162;
static NEXT_FISCAL_QUARTER = 163;
static NEXT_N_FISCAL_QUARTERS_N = 164;
static LAST_N_FISCAL_QUARTERS_N = 165;
static N_FISCAL_QUARTERS_AGO_N = 166;
static THIS_FISCAL_YEAR = 167;
static LAST_FISCAL_YEAR = 168;
static NEXT_FISCAL_YEAR = 169;
static NEXT_N_FISCAL_YEARS_N = 170;
static LAST_N_FISCAL_YEARS_N = 171;
static N_FISCAL_YEARS_AGO_N = 172;
static DateLiteral = 173;
static DateTimeLiteral = 174;
static IntegralCurrencyLiteral = 175;
static FIND = 176;
static EMAIL = 177;
static NAME = 178;
static PHONE = 179;
static SIDEBAR = 180;
static FIELDS = 181;
static METADATA = 182;
static PRICEBOOKID = 183;
static NETWORK = 184;
static SNIPPET = 185;
static TARGET_LENGTH = 186;
static DIVISION = 187;
static RETURNING = 188;
static LISTVIEW = 189;
static FindLiteral = 190;
static FindLiteralAlt = 191;
static IntegerLiteral = 192;
static LongLiteral = 193;
static NumberLiteral = 194;
static BooleanLiteral = 195;
static StringLiteral = 196;
static NullLiteral = 197;
static LPAREN = 198;
static RPAREN = 199;
static LBRACE = 200;
static RBRACE = 201;
static LBRACK = 202;
static RBRACK = 203;
static SEMI = 204;
static COMMA = 205;
static DOT = 206;
static ASSIGN = 207;
static GT = 208;
static LT = 209;
static BANG = 210;
static TILDE = 211;
static QUESTIONDOT = 212;
static QUESTION = 213;
static DOUBLEQUESTION = 214;
static COLON = 215;
static EQUAL = 216;
static TRIPLEEQUAL = 217;
static NOTEQUAL = 218;
static LESSANDGREATER = 219;
static TRIPLENOTEQUAL = 220;
static AND = 221;
static OR = 222;
static INC = 223;
static DEC = 224;
static ADD = 225;
static SUB = 226;
static MUL = 227;
static DIV = 228;
static BITAND = 229;
static BITOR = 230;
static CARET = 231;
static MAPTO = 232;
static ADD_ASSIGN = 233;
static SUB_ASSIGN = 234;
static MUL_ASSIGN = 235;
static DIV_ASSIGN = 236;
static AND_ASSIGN = 237;
static OR_ASSIGN = 238;
static XOR_ASSIGN = 239;
static LSHIFT_ASSIGN = 240;
static RSHIFT_ASSIGN = 241;
static URSHIFT_ASSIGN = 242;
static ATSIGN = 243;
static Identifier = 244;
static WS = 245;
static DOC_COMMENT = 246;
static COMMENT = 247;
static LINE_COMMENT = 248;
static RULE_triggerUnit = 0;
static RULE_triggerCase = 1;
static RULE_compilationUnit = 2;
static RULE_typeDeclaration = 3;
static RULE_classDeclaration = 4;
static RULE_enumDeclaration = 5;
static RULE_enumConstants = 6;
static RULE_interfaceDeclaration = 7;
static RULE_typeList = 8;
static RULE_classBody = 9;
static RULE_interfaceBody = 10;
static RULE_classBodyDeclaration = 11;
static RULE_modifier = 12;
static RULE_memberDeclaration = 13;
static RULE_methodDeclaration = 14;
static RULE_constructorDeclaration = 15;
static RULE_fieldDeclaration = 16;
static RULE_propertyDeclaration = 17;
static RULE_interfaceMethodDeclaration = 18;
static RULE_variableDeclarators = 19;
static RULE_variableDeclarator = 20;
static RULE_arrayInitializer = 21;
static RULE_typeRef = 22;
static RULE_arraySubscripts = 23;
static RULE_typeName = 24;
static RULE_typeArguments = 25;
static RULE_formalParameters = 26;
static RULE_formalParameterList = 27;
static RULE_formalParameter = 28;
static RULE_qualifiedName = 29;
static RULE_literal = 30;
static RULE_annotation = 31;
static RULE_elementValuePairs = 32;
static RULE_elementValuePair = 33;
static RULE_elementValue = 34;
static RULE_elementValueArrayInitializer = 35;
static RULE_block = 36;
static RULE_localVariableDeclarationStatement = 37;
static RULE_localVariableDeclaration = 38;
static RULE_statement = 39;
static RULE_ifStatement = 40;
static RULE_switchStatement = 41;
static RULE_whenControl = 42;
static RULE_whenValue = 43;
static RULE_whenLiteral = 44;
static RULE_forStatement = 45;
static RULE_whileStatement = 46;
static RULE_doWhileStatement = 47;
static RULE_tryStatement = 48;
static RULE_returnStatement = 49;
static RULE_throwStatement = 50;
static RULE_breakStatement = 51;
static RULE_continueStatement = 52;
static RULE_accessLevel = 53;
static RULE_insertStatement = 54;
static RULE_updateStatement = 55;
static RULE_deleteStatement = 56;
static RULE_undeleteStatement = 57;
static RULE_upsertStatement = 58;
static RULE_mergeStatement = 59;
static RULE_runAsStatement = 60;
static RULE_expressionStatement = 61;
static RULE_propertyBlock = 62;
static RULE_getter = 63;
static RULE_setter = 64;
static RULE_catchClause = 65;
static RULE_finallyBlock = 66;
static RULE_forControl = 67;
static RULE_forInit = 68;
static RULE_enhancedForControl = 69;
static RULE_forUpdate = 70;
static RULE_parExpression = 71;
static RULE_expressionList = 72;
static RULE_expression = 73;
static RULE_primary = 74;
static RULE_methodCall = 75;
static RULE_dotMethodCall = 76;
static RULE_creator = 77;
static RULE_createdName = 78;
static RULE_idCreatedNamePair = 79;
static RULE_noRest = 80;
static RULE_classCreatorRest = 81;
static RULE_arrayCreatorRest = 82;
static RULE_mapCreatorRest = 83;
static RULE_mapCreatorRestPair = 84;
static RULE_setCreatorRest = 85;
static RULE_arguments = 86;
static RULE_soqlLiteral = 87;
static RULE_query = 88;
static RULE_subQuery = 89;
static RULE_selectList = 90;
static RULE_selectEntry = 91;
static RULE_fieldName = 92;
static RULE_fromNameList = 93;
static RULE_subFieldList = 94;
static RULE_subFieldEntry = 95;
static RULE_soqlFieldsParameter = 96;
static RULE_soqlFunction = 97;
static RULE_dateFieldName = 98;
static RULE_locationValue = 99;
static RULE_coordinateValue = 100;
static RULE_typeOf = 101;
static RULE_whenClause = 102;
static RULE_elseClause = 103;
static RULE_fieldNameList = 104;
static RULE_usingScope = 105;
static RULE_whereClause = 106;
static RULE_logicalExpression = 107;
static RULE_conditionalExpression = 108;
static RULE_fieldExpression = 109;
static RULE_comparisonOperator = 110;
static RULE_value = 111;
static RULE_valueList = 112;
static RULE_signedNumber = 113;
static RULE_withClause = 114;
static RULE_filteringExpression = 115;
static RULE_dataCategorySelection = 116;
static RULE_dataCategoryName = 117;
static RULE_filteringSelector = 118;
static RULE_groupByClause = 119;
static RULE_orderByClause = 120;
static RULE_fieldOrderList = 121;
static RULE_fieldOrder = 122;
static RULE_limitClause = 123;
static RULE_offsetClause = 124;
static RULE_allRowsClause = 125;
static RULE_forClauses = 126;
static RULE_boundExpression = 127;
static RULE_dateFormula = 128;
static RULE_signedInteger = 129;
static RULE_soqlId = 130;
static RULE_soslLiteral = 131;
static RULE_soslLiteralAlt = 132;
static RULE_soslClauses = 133;
static RULE_searchGroup = 134;
static RULE_fieldSpecList = 135;
static RULE_fieldSpec = 136;
static RULE_fieldList = 137;
static RULE_updateList = 138;
static RULE_updateType = 139;
static RULE_networkList = 140;
static RULE_soslId = 141;
static RULE_id = 142;
static RULE_anyId = 143;
static literalNames = [
null, "'abstract'", "'after'", "'before'", "'break'", "'catch'",
"'class'", "'continue'", "'delete'", "'do'", "'else'", "'enum'",
"'extends'", "'final'", "'finally'", "'for'", "'get'", "'global'",
"'if'", "'implements'", "'inherited'", "'insert'", "'instanceof'",
"'interface'", "'merge'", "'new'", "'null'", "'on'", "'override'",
"'private'", "'protected'", "'public'", "'return'", "'system.runas'",
"'set'", "'sharing'", "'static'", "'super'", "'switch'", "'testmethod'",
"'this'", "'throw'", "'transient'", "'trigger'", "'try'", "'undelete'",
"'update'", "'upsert'", "'virtual'", "'void'", "'webservice'", "'when'",
"'while'", "'with'", "'without'", "'list'", "'map'", "'system'",
"'user'", "'select'", "'count'", "'from'", "'as'", "'using'", "'scope'",
"'where'", "'order'", "'by'", "'limit'", "'and'", "'or'", "'not'",
"'avg'", "'count_distinct'", "'min'", "'max'", "'sum'", "'typeof'",
"'end'", "'then'", "'like'", "'in'", "'includes'", "'excludes'",
"'asc'", "'desc'", "'nulls'", "'first'", "'last'", "'group'", "'all'",
"'rows'", "'view'", "'having'", "'rollup'", "'tolabel'", "'offset'",
"'data'", "'category'", "'at'", "'above'", "'below'", "'above_or_below'",
"'security_enforced'", "'system_mode'", "'user_mode'", "'reference'",
"'cube'", "'format'", "'tracking'", "'viewstat'", "'custom'", "'standard'",
"'distance'", "'geolocation'", "'calendar_month'", "'calendar_quarter'",
"'calendar_year'", "'day_in_month'", "'day_in_week'", "'day_in_year'",
"'day_only'", "'fiscal_month'", "'fiscal_quarter'", "'fiscal_year'",
"'hour_in_day'", "'week_in_month'", "'week_in_year'", "'converttimezone'",
"'yesterday'", "'today'", "'tomorrow'", "'last_week'", "'this_week'",
"'next_week'", "'last_month'", "'this_month'", "'next_month'", "'last_90_days'",
"'next_90_days'", "'last_n_days'", "'next_n_days'", "'n_days_ago'",
"'next_n_weeks'", "'last_n_weeks'", "'n_weeks_ago'", "'next_n_months'",
"'last_n_months'", "'n_months_ago'", "'this_quarter'", "'last_quarter'",
"'next_quarter'", "'next_n_quarters'", "'last_n_quarters'", "'n_quarters_ago'",
"'this_year'", "'last_year'", "'next_year'", "'next_n_years'", "'last_n_years'",
"'n_years_ago'", "'this_fiscal_quarter'", "'last_fiscal_quarter'",
"'next_fiscal_quarter'", "'next_n_fiscal_quarters'", "'last_n_fiscal_quarters'",
"'n_fiscal_quarters_ago'", "'this_fiscal_year'", "'last_fiscal_year'",
"'next_fiscal_year'", "'next_n_fiscal_years'", "'last_n_fiscal_years'",
"'n_fiscal_years_ago'", null, null, null, "'find'", "'email'", "'name'",
"'phone'", "'sidebar'", "'fields'", "'metadata'", "'pricebookid'",
"'network'", "'snippet'", "'target_length'", "'division'", "'returning'",
"'listview'", null, null, null, null, null, null, null, null, "'('",
"')'", "'{'", "'}'", "'['", "']'", "';'", "','", "'.'", "'='", "'>'",
"'<'", "'!'", "'~'", "'?.'", "'?'", "'??'", "':'", "'=='", "'==='",
"'!='", "'<>'", "'!=='", "'&&'", "'||'", "'++'", "'--'", "'+'",
"'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'=>'", "'+='", "'-='",
"'*='", "'/='", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'>>>='",
"'@'"
];
static symbolicNames = [
null, "ABSTRACT", "AFTER", "BEFORE", "BREAK", "CATCH", "CLASS",
"CONTINUE", "DELETE", "DO", "ELSE", "ENUM", "EXTENDS", "FINAL",
"FINALLY", "FOR", "GET", "GLOBAL", "IF", "IMPLEMENTS", "INHERITED",
"INSERT", "INSTANCEOF", "INTERFACE", "MERGE", "NEW", "NULL", "ON",
"OVERRIDE", "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SYSTEMRUNAS",
"SET", "SHARING", "STATIC", "SUPER", "SWITCH", "TESTMETHOD", "THIS",
"THROW", "TRANSIENT", "TRIGGER", "TRY", "UNDELETE", "UPDATE", "UPSERT",
"VIRTUAL", "VOID", "WEBSERVICE", "WHEN", "WHILE", "WITH", "WITHOUT",
"LIST", "MAP", "SYSTEM", "USER", "SELECT", "COUNT", "FROM", "AS",
"USING", "SCOPE", "WHERE", "ORDER", "BY", "LIMIT", "SOQLAND", "SOQLOR",
"NOT", "AVG", "COUNT_DISTINCT", "MIN", "MAX", "SUM", "TYPEOF", "END",
"THEN", "LIKE", "IN", "INCLUDES", "EXCLUDES", "ASC", "DESC", "NULLS",
"FIRST", "LAST", "GROUP", "ALL", "ROWS", "VIEW", "HAVING", "ROLLUP",
"TOLABEL", "OFFSET", "DATA", "CATEGORY", "AT", "ABOVE", "BELOW",
"ABOVE_OR_BELOW", "SECURITY_ENFORCED", "SYSTEM_MODE", "USER_MODE",
"REFERENCE", "CUBE", "FORMAT", "TRACKING", "VIEWSTAT", "CUSTOM",
"STANDARD", "DISTANCE", "GEOLOCATION", "CALENDAR_MONTH", "CALENDAR_QUARTER",
"CALENDAR_YEAR", "DAY_IN_MONTH", "DAY_IN_WEEK", "DAY_IN_YEAR", "DAY_ONLY",
"FISCAL_MONTH", "FISCAL_QUARTER", "FISCAL_YEAR", "HOUR_IN_DAY",
"WEEK_IN_MONTH", "WEEK_IN_YEAR", "CONVERT_TIMEZONE", "YESTERDAY",
"TODAY", "TOMORROW", "LAST_WEEK", "THIS_WEEK", "NEXT_WEEK", "LAST_MONTH",
"THIS_MONTH", "NEXT_MONTH", "LAST_90_DAYS", "NEXT_90_DAYS", "LAST_N_DAYS_N",
"NEXT_N_DAYS_N", "N_DAYS_AGO_N", "NEXT_N_WEEKS_N", "LAST_N_WEEKS_N",
"N_WEEKS_AGO_N", "NEXT_N_MONTHS_N", "LAST_N_MONTHS_N", "N_MONTHS_AGO_N",
"THIS_QUARTER", "LAST_QUARTER", "NEXT_QUARTER", "NEXT_N_QUARTERS_N",
"LAST_N_QUARTERS_N", "N_QUARTERS_AGO_N", "THIS_YEAR", "LAST_YEAR",
"NEXT_YEAR", "NEXT_N_YEARS_N", "LAST_N_YEARS_N", "N_YEARS_AGO_N",
"THIS_FISCAL_QUARTER", "LAST_FISCAL_QUARTER", "NEXT_FISCAL_QUARTER",
"NEXT_N_FISCAL_QUARTERS_N", "LAST_N_FISCAL_QUARTERS_N", "N_FISCAL_QUARTERS_AGO_N",
"THIS_FISCAL_YEAR", "LAST_FISCAL_YEAR", "NEXT_FISCAL_YEAR", "NEXT_N_FISCAL_YEARS_N",
"LAST_N_FISCAL_YEARS_N", "N_FISCAL_YEARS_AGO_N", "DateLiteral",
"DateTimeLiteral", "IntegralCurrencyLiteral", "FIND", "EMAIL", "NAME",
"PHONE", "SIDEBAR", "FIELDS", "METADATA", "PRICEBOOKID", "NETWORK",
"SNIPPET", "TARGET_LENGTH", "DIVISION", "RETURNING", "LISTVIEW",
"FindLiteral", "FindLiteralAlt", "IntegerLiteral", "LongLiteral",
"NumberLiteral", "BooleanLiteral", "StringLiteral", "NullLiteral",
"LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", "SEMI",
"COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTIONDOT",
"QUESTION", "DOUBLEQUESTION", "COLON", "EQUAL", "TRIPLEEQUAL", "NOTEQUAL",
"LESSANDGREATER", "TRIPLENOTEQUAL", "AND", "OR", "INC", "DEC", "ADD",
"SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MAPTO", "ADD_ASSIGN",
"SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN",
"XOR_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN",
"ATSIGN", "Identifier", "WS", "DOC_COMMENT", "COMMENT", "LINE_COMMENT"
];
static ruleNames = [
"triggerUnit", "triggerCase", "compilationUnit", "typeDeclaration",
"classDeclaration", "enumDeclaration", "enumConstants", "interfaceDeclaration",
"typeList", "classBody", "interfaceBody", "classBodyDeclaration",
"modifier", "memberDeclaration", "methodDeclaration", "constructorDeclaration",
"fieldDeclaration", "propertyDeclaration", "interfaceMethodDeclaration",
"variableDeclarators", "variableDeclarator", "arrayInitializer",
"typeRef", "arraySubscripts", "typeName", "typeArguments", "formalParameters",
"formalParameterList", "formalParameter", "qualifiedName", "literal",
"annotation", "elementValuePairs", "elementValuePair", "elementValue",
"elementValueArrayInitializer", "block", "localVariableDeclarationStatement",
"localVariableDeclaration", "statement", "ifStatement", "switchStatement",
"whenControl", "whenValue", "whenLiteral", "forStatement", "whileStatement",
"doWhileStatement", "tryStatement", "returnStatement", "throwStatement",
"breakStatement", "continueStatement", "accessLevel", "insertStatement",
"updateStatement", "deleteStatement", "undeleteStatement", "upsertStatement",
"mergeStatement", "runAsStatement", "expressionStatement", "propertyBlock",
"getter", "setter", "catchClause", "finallyBlock", "forControl",
"forInit", "enhancedForControl", "forUpdate", "parExpression", "expressionList",
"expression", "primary", "methodCall", "dotMethodCall", "creator",
"createdName", "idCreatedNamePair", "noRest", "classCreatorRest",
"arrayCreatorRest", "mapCreatorRest", "mapCreatorRestPair", "setCreatorRest",
"arguments", "soqlLiteral", "query", "subQuery", "selectList", "selectEntry",
"fieldName", "fromNameList", "subFieldList", "subFieldEntry", "soqlFieldsParameter",
"soqlFunction", "dateFieldName", "locationValue", "coordinateValue",
"typeOf", "whenClause", "elseClause", "fieldNameList", "usingScope",
"whereClause", "logicalExpression", "conditionalExpression", "fieldExpression",
"comparisonOperator", "value", "valueList", "signedNumber", "withClause",
"filteringExpression", "dataCategorySelection", "dataCategoryName",
"filteringSelector", "groupByClause", "orderByClause", "fieldOrderList",
"fieldOrder", "limitClause", "offsetClause", "allRowsClause", "forClauses",
"boundExpression", "dateFormula", "signedInteger", "soqlId", "soslLiteral",
"soslLiteralAlt", "soslClauses", "searchGroup", "fieldSpecList",
"fieldSpec", "fieldList", "updateList", "updateType", "networkList",
"soslId", "id", "anyId",
];
get grammarFileName() { return "ApexParser.g4"; }
get literalNames() { return ApexParser.literalNames; }
get symbolicNames() { return ApexParser.symbolicNames; }
get ruleNames() { return ApexParser.ruleNames; }
get serializedATN() { return ApexParser._serializedATN; }
createFailedPredicateException(predicate, message) {
return new antlr.FailedPredicateException(this, predicate, message);
}
constructor(input) {
super(input);
this.interpreter = new antlr.ParserATNSimulator(this, ApexParser._ATN, ApexParser.decisionsToDFA, new antlr.PredictionContextCache());
}
triggerUnit() {
const localContext = new TriggerUnitContext(this.context, this.state);
this.enterRule(localContext, 0, ApexParser.RULE_triggerUnit);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 288;
this.match(ApexParser.TRIGGER);
this.state = 289;
this.id();
this.state = 290;
this.match(ApexParser.ON);
this.state = 291;
localContext._object = this.id();
this.state = 292;
this.match(ApexParser.LPAREN);
this.state = 293;
this.triggerCase();
this.state = 298;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while (_la === 205) {
{
{
this.state = 294;
this.match(ApexParser.COMMA);
this.state = 295;
this.triggerCase();
}
}
this.state = 300;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
this.state = 301;
this.match(ApexParser.RPAREN);
this.state = 302;
this.block();
this.state = 303;
this.match(ApexParser.EOF);
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
triggerCase() {
const localContext = new TriggerCaseContext(this.context, this.state);
this.enterRule(localContext, 2, ApexParser.RULE_triggerCase);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 305;
localContext._when = this.tokenStream.LT(1);
_la = this.tokenStream.LA(1);
if (!(_la === 2 || _la === 3)) {
localContext._when = this.errorHandler.recoverInline(this);
}
else {
this.errorHandler.reportMatch(this);
this.consume();
}
this.state = 306;
localContext._operation = this.tokenStream.LT(1);
_la = this.tokenStream.LA(1);
if (!(_la === 8 || _la === 21 || _la === 45 || _la === 46)) {
localContext._operation = this.errorHandler.recoverInline(this);
}
else {
this.errorHandler.reportMatch(this);
this.consume();
}
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
compilationUnit() {
const localContext = new CompilationUnitContext(this.context, this.state);
this.enterRule(localContext, 4, ApexParser.RULE_compilationUnit);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 311;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4036110402) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 413769) !== 0) || _la === 243) {
{
{
this.state = 308;
this.typeDeclaration();
}
}
this.state = 313;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
this.state = 314;
this.match(ApexParser.EOF);
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
typeDeclaration() {
const localContext = new TypeDeclarationContext(this.context, this.state);
this.enterRule(localContext, 6, ApexParser.RULE_typeDeclaration);
let _la;
try {
this.state = 337;
this.errorHandler.sync(this);
switch (this.interpreter.adaptivePredict(this.tokenStream, 5, this.context)) {
case 1:
this.enterOuterAlt(localContext, 1);
{
this.state = 319;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4027719682) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 413769) !== 0) || _la === 243) {
{
{
this.state = 316;
this.modifier();
}
}
this.state = 321;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
this.state = 322;
this.classDeclaration();
}
break;
case 2:
this.enterOuterAlt(localContext, 2);
{
this.state = 326;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4027719682) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 413769) !== 0) || _la === 243) {
{
{
this.state = 323;
this.modifier();
}
}
this.state = 328;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
this.state = 329;
this.enumDeclaration();
}
break;
case 3:
this.enterOuterAlt(localContext, 3);
{
this.state = 333;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4027719682) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 413769) !== 0) || _la === 243) {
{
{
this.state = 330;
this.modifier();
}
}
this.state = 335;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
this.state = 336;
this.interfaceDeclaration();
}
break;
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
classDeclaration() {
const localContext = new ClassDeclarationContext(this.context, this.state);
this.enterRule(localContext, 8, ApexParser.RULE_classDeclaration);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 339;
this.match(ApexParser.CLASS);
this.state = 340;
this.id();
this.state = 343;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
if (_la === 12) {
{
this.state = 341;
this.match(ApexParser.EXTENDS);
this.state = 342;
this.typeRef();
}
}
this.state = 347;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
if (_la === 19) {
{
this.state = 345;
this.match(ApexParser.IMPLEMENTS);
this.state = 346;
this.typeList();
}
}
this.state = 349;
this.classBody();
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
enumDeclaration() {
const localContext = new EnumDeclarationContext(this.context, this.state);
this.enterRule(localContext, 10, ApexParser.RULE_enumDeclaration);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 351;
this.match(ApexParser.ENUM);
this.state = 352;
this.id();
this.state = 353;
this.match(ApexParser.LBRACE);
this.state = 355;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 5308428) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 4288283411) !== 0) || ((((_la - 66)) & ~0x1F) === 0 && ((1 << (_la - 66)) & 4294967295) !== 0) || ((((_la - 98)) & ~0x1F) === 0 && ((1 << (_la - 98)) & 4294967295) !== 0) || ((((_la - 130)) & ~0x1F) === 0 && ((1 << (_la - 130)) & 4294967295) !== 0) || ((((_la - 162)) & ~0x1F) === 0 && ((1 << (_la - 162)) & 268429311) !== 0) || _la === 244) {
{
this.state = 354;
this.enumConstants();
}
}
this.state = 357;
this.match(ApexParser.RBRACE);
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
enumConstants() {
const localContext = new EnumConstantsContext(this.context, this.state);
this.enterRule(localContext, 12, ApexParser.RULE_enumConstants);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 359;
this.id();
this.state = 364;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while (_la === 205) {
{
{
this.state = 360;
this.match(ApexParser.COMMA);
this.state = 361;
this.id();
}
}
this.state = 366;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
interfaceDeclaration() {
const localContext = new InterfaceDeclarationContext(this.context, this.state);
this.enterRule(localContext, 14, ApexParser.RULE_interfaceDeclaration);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 367;
this.match(ApexParser.INTERFACE);
this.state = 368;
this.id();
this.state = 371;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
if (_la === 12) {
{
this.state = 369;
this.match(ApexParser.EXTENDS);
this.state = 370;
this.typeList();
}
}
this.state = 373;
this.interfaceBody();
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
typeList() {
const localContext = new TypeListContext(this.context, this.state);
this.enterRule(localContext, 16, ApexParser.RULE_typeList);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 375;
this.typeRef();
this.state = 380;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while (_la === 205) {
{
{
this.state = 376;
this.match(ApexParser.COMMA);
this.state = 377;
this.typeRef();
}
}
this.state = 382;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
classBody() {
const localContext = new ClassBodyContext(this.context, this.state);
this.enterRule(localContext, 18, ApexParser.RULE_classBody);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 383;
this.match(ApexParser.LBRACE);
this.state = 387;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4040370254) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 4294689591) !== 0) || ((((_la - 66)) & ~0x1F) === 0 && ((1 << (_la - 66)) & 4294967295) !== 0) || ((((_la - 98)) & ~0x1F) === 0 && ((1 << (_la - 98)) & 4294967295) !== 0) || ((((_la - 130)) & ~0x1F) === 0 && ((1 << (_la - 130)) & 4294967295) !== 0) || ((((_la - 162)) & ~0x1F) === 0 && ((1 << (_la - 162)) & 268429311) !== 0) || _la === 200 || _la === 204 || _la === 243 || _la === 244) {
{
{
this.state = 384;
this.classBodyDeclaration();
}
}
this.state = 389;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
this.state = 390;
this.match(ApexParser.RBRACE);
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
interfaceBody() {
const localContext = new InterfaceBodyContext(this.context, this.state);
this.enterRule(localContext, 20, ApexParser.RULE_interfaceBody);
let _la;
try {
this.enterOuterAlt(localContext, 1);
{
this.state = 392;
this.match(ApexParser.LBRACE);
this.state = 396;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4031979534) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 4294689591) !== 0) || ((((_la - 66)) & ~0x1F) === 0 && ((1 << (_la - 66)) & 4294967295) !== 0) || ((((_la - 98)) & ~0x1F) === 0 && ((1 << (_la - 98)) & 4294967295) !== 0) || ((((_la - 130)) & ~0x1F) === 0 && ((1 << (_la - 130)) & 4294967295) !== 0) || ((((_la - 162)) & ~0x1F) === 0 && ((1 << (_la - 162)) & 268429311) !== 0) || _la === 243 || _la === 244) {
{
{
this.state = 393;
this.interfaceMethodDeclaration();
}
}
this.state = 398;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
}
this.state = 399;
this.match(ApexParser.RBRACE);
}
}
catch (re) {
if (re instanceof antlr.RecognitionException) {
this.errorHandler.reportError(this, re);
this.errorHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return localContext;
}
classBodyDeclaration() {
const localContext = new ClassBodyDeclarationContext(this.context, this.state);
this.enterRule(localContext, 22, ApexParser.RULE_classBodyDeclaration);
let _la;
try {
let alternative;
this.state = 413;
this.errorHandler.sync(this);
switch (this.interpreter.adaptivePredict(this.tokenStream, 16, this.context)) {
case 1:
this.enterOuterAlt(localContext, 1);
{
this.state = 401;
this.match(ApexParser.SEMI);
}
break;
case 2:
this.enterOuterAlt(localContext, 2);
{
this.state = 403;
this.errorHandler.sync(this);
_la = this.tokenStream.LA(1);
if (_la === 36) {
{
this.state = 402;
this.match(ApexParser.STATIC);