@apexdevtools/apex-parser 4.4.0 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -0
- package/README.md +98 -42
- package/lib/ApexErrorListener.d.ts +25 -0
- package/lib/ApexErrorListener.js +64 -0
- package/lib/ApexErrorListener.js.map +1 -0
- package/lib/ApexParserFactory.d.ts +69 -0
- package/lib/ApexParserFactory.js +125 -0
- package/lib/ApexParserFactory.js.map +1 -0
- package/lib/CaseInsensitiveInputStream.d.ts +11 -13
- package/lib/CaseInsensitiveInputStream.js +22 -28
- package/lib/CaseInsensitiveInputStream.js.map +1 -1
- package/lib/Check.d.ts +36 -0
- package/lib/Check.js +212 -0
- package/lib/Check.js.map +1 -0
- package/lib/{ApexLexer.d.ts → antlr/ApexLexer.d.ts} +11 -18
- package/lib/antlr/ApexLexer.js +1575 -0
- package/lib/antlr/ApexLexer.js.map +1 -0
- package/lib/{ApexParser.d.ts → antlr/ApexParser.d.ts} +1344 -1304
- package/lib/antlr/ApexParser.js +20976 -0
- package/lib/antlr/ApexParser.js.map +1 -0
- package/lib/{ApexParserListener.d.ts → antlr/ApexParserListener.d.ts} +708 -686
- package/lib/antlr/ApexParserListener.js +12 -0
- package/lib/antlr/ApexParserListener.js.map +1 -0
- package/lib/{ApexParserVisitor.d.ts → antlr/ApexParserVisitor.d.ts} +420 -406
- package/lib/antlr/ApexParserVisitor.js +15 -0
- package/lib/antlr/ApexParserVisitor.js.map +1 -0
- package/lib/index.d.ts +8 -24
- package/lib/index.js +13 -140
- package/lib/index.js.map +1 -1
- package/package.json +30 -27
- package/lib/ApexLexer.js +0 -1704
- package/lib/ApexLexer.js.map +0 -1
- package/lib/ApexParser.js +0 -19514
- package/lib/ApexParser.js.map +0 -1
- package/lib/ApexParserListener.js +0 -4
- package/lib/ApexParserListener.js.map +0 -1
- package/lib/ApexParserVisitor.js +0 -4
- package/lib/ApexParserVisitor.js.map +0 -1
- package/lib/ThrowingErrorListener.d.ts +0 -10
- package/lib/ThrowingErrorListener.js +0 -18
- package/lib/ThrowingErrorListener.js.map +0 -1
- package/lib/__tests__/ApexLexerTest.d.ts +0 -1
- package/lib/__tests__/ApexLexerTest.js +0 -48
- package/lib/__tests__/ApexLexerTest.js.map +0 -1
- package/lib/__tests__/ApexListenerTest.d.ts +0 -1
- package/lib/__tests__/ApexListenerTest.js +0 -41
- package/lib/__tests__/ApexListenerTest.js.map +0 -1
- package/lib/__tests__/ApexParserTest.d.ts +0 -1
- package/lib/__tests__/ApexParserTest.js +0 -199
- package/lib/__tests__/ApexParserTest.js.map +0 -1
- package/lib/__tests__/ApexTriggerTest.d.ts +0 -1
- package/lib/__tests__/ApexTriggerTest.js +0 -66
- package/lib/__tests__/ApexTriggerTest.js.map +0 -1
- package/lib/__tests__/ApexVisitorTest.d.ts +0 -1
- package/lib/__tests__/ApexVisitorTest.js +0 -46
- package/lib/__tests__/ApexVisitorTest.js.map +0 -1
- package/lib/__tests__/SOQLParserTest.d.ts +0 -1
- package/lib/__tests__/SOQLParserTest.js +0 -121
- package/lib/__tests__/SOQLParserTest.js.map +0 -1
- package/lib/__tests__/SOSLParserTest.d.ts +0 -1
- package/lib/__tests__/SOSLParserTest.js +0 -101
- package/lib/__tests__/SOSLParserTest.js.map +0 -1
- package/lib/__tests__/SyntaxErrorCounter.d.ts +0 -10
- package/lib/__tests__/SyntaxErrorCounter.js +0 -52
- package/lib/__tests__/SyntaxErrorCounter.js.map +0 -1
- package/lib/__tests__/system/SampleParseSys.d.ts +0 -1
- package/lib/__tests__/system/SampleParseSys.js +0 -75
- package/lib/__tests__/system/SampleParseSys.js.map +0 -1
|
@@ -28,37 +28,31 @@
|
|
|
28
28
|
*/
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.CaseInsensitiveInputStream = void 0;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
const antlr4_1 = require("antlr4");
|
|
32
|
+
/**
|
|
33
|
+
* Converts char stream to lower case for case insensitive usage.
|
|
34
|
+
*
|
|
35
|
+
* @deprecated since 5.0.0. ApexLexer is generated with ANTLR 4.10
|
|
36
|
+
* `caseInsensitive` option enabled.
|
|
37
|
+
*/
|
|
38
|
+
class CaseInsensitiveInputStream extends antlr4_1.CharStream {
|
|
39
|
+
constructor(data, decodeToUnicodeCodePoints = true) {
|
|
40
|
+
// Default to unicode code points
|
|
41
|
+
// CharStreams.fromString is always `new CharStream(data, true)`
|
|
42
|
+
// but `new CharStream(data)` defaults to false / UTF-16 code units
|
|
43
|
+
if (typeof data === "string") {
|
|
44
|
+
super(data, decodeToUnicodeCodePoints);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
super(data.toString(), decodeToUnicodeCodePoints);
|
|
48
|
+
}
|
|
41
49
|
}
|
|
42
50
|
LA(i) {
|
|
43
|
-
return this.toLower(
|
|
44
|
-
}
|
|
45
|
-
mark() {
|
|
46
|
-
return this.src.mark();
|
|
47
|
-
}
|
|
48
|
-
release(marker) {
|
|
49
|
-
this.src.release(marker);
|
|
50
|
-
}
|
|
51
|
-
get index() {
|
|
52
|
-
return this.src.index;
|
|
53
|
-
}
|
|
54
|
-
seek(index) {
|
|
55
|
-
return this.src.seek(index);
|
|
56
|
-
}
|
|
57
|
-
get size() {
|
|
58
|
-
return this.src.size;
|
|
51
|
+
return this.toLower(super.LA(i));
|
|
59
52
|
}
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
LT(offset) {
|
|
54
|
+
// same behaviour as CharStream
|
|
55
|
+
return this.LA(offset);
|
|
62
56
|
}
|
|
63
57
|
// We only need basic upper to lower conversions
|
|
64
58
|
toLower(c) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseInsensitiveInputStream.js","sourceRoot":"","sources":["../src/CaseInsensitiveInputStream.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BE;;;
|
|
1
|
+
{"version":3,"file":"CaseInsensitiveInputStream.js","sourceRoot":"","sources":["../src/CaseInsensitiveInputStream.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BE;;;AAEF,mCAAoC;AAEpC;;;;;GAKG;AACH,MAAa,0BAA2B,SAAQ,mBAAU;IAGxD,YACE,IAAyB,EACzB,4BAAqC,IAAI;QAEzC,iCAAiC;QACjC,gEAAgE;QAChE,mEAAmE;QACnE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,KAAK,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;SACxC;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC;SACnD;IACH,CAAC;IAED,EAAE,CAAC,CAAS;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,EAAE,CAAC,MAAc;QACf,+BAA+B;QAC/B,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,gDAAgD;IACxC,OAAO,CAAC,CAAS;QACvB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE;YACtB,OAAO,CAAC,GAAG,EAAE,CAAC;SACf;aAAM;YACL,OAAO,CAAC,CAAC;SACV;IACH,CAAC;CACF;AAlCD,gEAkCC"}
|
package/lib/Check.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface CheckError {
|
|
2
|
+
column: number;
|
|
3
|
+
line: number;
|
|
4
|
+
message: string;
|
|
5
|
+
path: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CheckResult {
|
|
8
|
+
extensions: string[];
|
|
9
|
+
errors: CheckError[];
|
|
10
|
+
status: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ProjectCheckResult extends CheckResult {
|
|
13
|
+
name: string;
|
|
14
|
+
path: string;
|
|
15
|
+
pkg?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check Apex files in a path for syntax errors.
|
|
19
|
+
*
|
|
20
|
+
* @param pathStr Path to check. If not provided, uses process.argv or
|
|
21
|
+
* process.cwd().
|
|
22
|
+
* @param fileExt CSV list of file extensions to check
|
|
23
|
+
* (default: `.cls,.trigger,.apex`).
|
|
24
|
+
* @returns Result with status (0 ok, 1 error, 2 missing path) and syntax
|
|
25
|
+
* errors.
|
|
26
|
+
*/
|
|
27
|
+
export declare function check(pathStr?: string, fileExt?: string): Promise<CheckResult>;
|
|
28
|
+
/**
|
|
29
|
+
* Check an Apex sfdx-project for syntax errors.
|
|
30
|
+
*
|
|
31
|
+
* @param pathStr Path to directory containing an sfdx-project.json at most 1
|
|
32
|
+
* level deep. If not found, reverts to `check()` behaviour.
|
|
33
|
+
* @returns Result for each package with status (0 ok, 1 error, 2 missing path)
|
|
34
|
+
* and syntax errors.
|
|
35
|
+
*/
|
|
36
|
+
export declare function checkProject(pathStr?: string): Promise<ProjectCheckResult[]>;
|
package/lib/Check.js
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
[The "BSD licence"]
|
|
4
|
+
Copyright (c) 2020 Kevin Jones
|
|
5
|
+
All rights reserved.
|
|
6
|
+
|
|
7
|
+
Redistribution and use in source and binary forms, with or without
|
|
8
|
+
modification, are permitted provided that the following conditions
|
|
9
|
+
are met:
|
|
10
|
+
1. Redistributions of source code must retain the above copyright
|
|
11
|
+
notice, this list of conditions and the following disclaimer.
|
|
12
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
13
|
+
notice, this list of conditions and the following disclaimer in the
|
|
14
|
+
documentation and/or other materials provided with the distribution.
|
|
15
|
+
3. The name of the author may not be used to endorse or promote products
|
|
16
|
+
derived from this software without specific prior written permission.
|
|
17
|
+
|
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
19
|
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
20
|
+
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
21
|
+
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
22
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
23
|
+
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
24
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
25
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*/
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.checkProject = exports.check = void 0;
|
|
31
|
+
const promises_1 = require("node:fs/promises");
|
|
32
|
+
const node_fs_1 = require("node:fs");
|
|
33
|
+
const node_path_1 = require("node:path");
|
|
34
|
+
const ApexErrorListener_1 = require("./ApexErrorListener");
|
|
35
|
+
const ApexParserFactory_1 = require("./ApexParserFactory");
|
|
36
|
+
/**
|
|
37
|
+
* Check Apex files in a path for syntax errors.
|
|
38
|
+
*
|
|
39
|
+
* @param pathStr Path to check. If not provided, uses process.argv or
|
|
40
|
+
* process.cwd().
|
|
41
|
+
* @param fileExt CSV list of file extensions to check
|
|
42
|
+
* (default: `.cls,.trigger,.apex`).
|
|
43
|
+
* @returns Result with status (0 ok, 1 error, 2 missing path) and syntax
|
|
44
|
+
* errors.
|
|
45
|
+
*/
|
|
46
|
+
async function check(pathStr, fileExt) {
|
|
47
|
+
const path = (0, node_path_1.resolve)(pathStr || process.argv[1] || process.cwd());
|
|
48
|
+
const ext = fileExt || process.argv[2];
|
|
49
|
+
const extensions = ext ? ext.split(",") : [".cls", ".trigger", ".apex"];
|
|
50
|
+
const result = {
|
|
51
|
+
status: 0,
|
|
52
|
+
extensions,
|
|
53
|
+
errors: [],
|
|
54
|
+
};
|
|
55
|
+
if (!(0, node_fs_1.existsSync)(path)) {
|
|
56
|
+
console.error(`Path does not exist, aborting: ${path}`);
|
|
57
|
+
result.status = 2;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
try {
|
|
61
|
+
result.errors = await parseFiles(path, extensions);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
console.error(`Error processing: ${path}`);
|
|
65
|
+
console.error(err);
|
|
66
|
+
result.status = 1;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
process.exitCode = result.status;
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
exports.check = check;
|
|
73
|
+
/**
|
|
74
|
+
* Check an Apex sfdx-project for syntax errors.
|
|
75
|
+
*
|
|
76
|
+
* @param pathStr Path to directory containing an sfdx-project.json at most 1
|
|
77
|
+
* level deep. If not found, reverts to `check()` behaviour.
|
|
78
|
+
* @returns Result for each package with status (0 ok, 1 error, 2 missing path)
|
|
79
|
+
* and syntax errors.
|
|
80
|
+
*/
|
|
81
|
+
async function checkProject(pathStr) {
|
|
82
|
+
const path = (0, node_path_1.resolve)(pathStr || process.argv[1] || process.cwd());
|
|
83
|
+
const ext = ".cls,.trigger";
|
|
84
|
+
const name = (0, node_path_1.basename)(path);
|
|
85
|
+
const project = findProjectFile(path, 1);
|
|
86
|
+
const packages = getProjectPackages(project);
|
|
87
|
+
if (packages.length == 0) {
|
|
88
|
+
console.error(`[${name}]: No valid SFDX project, checking all cls & trigger files`);
|
|
89
|
+
const result = await check(path, ext);
|
|
90
|
+
return [
|
|
91
|
+
{
|
|
92
|
+
name,
|
|
93
|
+
path: ".",
|
|
94
|
+
...result,
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
}
|
|
98
|
+
const projectDir = (0, node_path_1.dirname)(project);
|
|
99
|
+
const projectResult = await Promise.all(packages.map(async (pkg) => {
|
|
100
|
+
console.log(`[${name}]: Checking package "${pkg}"`);
|
|
101
|
+
const pkgPath = (0, node_path_1.resolve)(projectDir, pkg);
|
|
102
|
+
const result = await check(pkgPath, ext);
|
|
103
|
+
return {
|
|
104
|
+
name,
|
|
105
|
+
pkg,
|
|
106
|
+
path: (0, node_path_1.relative)(path, pkgPath),
|
|
107
|
+
...result,
|
|
108
|
+
};
|
|
109
|
+
}));
|
|
110
|
+
process.exitCode = Math.max(...projectResult.map(r => r.status));
|
|
111
|
+
return projectResult;
|
|
112
|
+
}
|
|
113
|
+
exports.checkProject = checkProject;
|
|
114
|
+
class CheckApexErrorListener extends ApexErrorListener_1.ApexErrorListener {
|
|
115
|
+
constructor(relativePath) {
|
|
116
|
+
super();
|
|
117
|
+
this.errors = [];
|
|
118
|
+
this.path = relativePath;
|
|
119
|
+
}
|
|
120
|
+
apexSyntaxError(line, column, message) {
|
|
121
|
+
const error = {
|
|
122
|
+
column,
|
|
123
|
+
line,
|
|
124
|
+
message,
|
|
125
|
+
path: this.path,
|
|
126
|
+
};
|
|
127
|
+
console.log(JSON.stringify(error));
|
|
128
|
+
this.errors.push(error);
|
|
129
|
+
}
|
|
130
|
+
getErrors() {
|
|
131
|
+
return this.errors;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
async function parseFiles(path, extensions) {
|
|
135
|
+
const parsers = {
|
|
136
|
+
".cls": parser => parser.compilationUnit(),
|
|
137
|
+
".trigger": parser => parser.triggerUnit(),
|
|
138
|
+
".apex": parser => parser.anonymousUnit(),
|
|
139
|
+
};
|
|
140
|
+
const ext = Object.keys(parsers);
|
|
141
|
+
extensions.forEach(e => {
|
|
142
|
+
if (!ext.includes(e)) {
|
|
143
|
+
throw new Error(`Unknown extension '${e}' - one or more of [${ext.join(",")}] required.`);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
const files = await getPathsInDir(path, extensions);
|
|
147
|
+
return extensions.flatMap(ext => parseByType(path, files, ext, parsers[ext]));
|
|
148
|
+
}
|
|
149
|
+
async function getPathsInDir(path, ext) {
|
|
150
|
+
const dirent = await (0, promises_1.readdir)(path, {
|
|
151
|
+
withFileTypes: true,
|
|
152
|
+
recursive: true,
|
|
153
|
+
});
|
|
154
|
+
return dirent.reduce((files, ent) => {
|
|
155
|
+
if (ent.isFile() && ext.includes((0, node_path_1.extname)(ent.name))) {
|
|
156
|
+
files.push((0, node_path_1.join)(ent.parentPath, ent.name));
|
|
157
|
+
}
|
|
158
|
+
return files;
|
|
159
|
+
}, []);
|
|
160
|
+
}
|
|
161
|
+
function parseByType(rootPath, files, endsWith, operation) {
|
|
162
|
+
let parsedCount = 0;
|
|
163
|
+
const errors = [];
|
|
164
|
+
files
|
|
165
|
+
.filter(name => name.endsWith(endsWith))
|
|
166
|
+
.forEach(file => {
|
|
167
|
+
if ((0, node_fs_1.lstatSync)(file).isFile()) {
|
|
168
|
+
const parser = ApexParserFactory_1.ApexParserFactory.createParser((0, node_fs_1.readFileSync)(file).toString());
|
|
169
|
+
const relativePath = (0, node_path_1.relative)(rootPath, file);
|
|
170
|
+
const listener = new CheckApexErrorListener(relativePath);
|
|
171
|
+
parser.addErrorListener(listener);
|
|
172
|
+
operation(parser);
|
|
173
|
+
const fileErrors = listener.getErrors();
|
|
174
|
+
if (fileErrors.length) {
|
|
175
|
+
console.log(`Found ${fileErrors.length} syntax errors in: ${relativePath}`);
|
|
176
|
+
errors.push(...fileErrors);
|
|
177
|
+
}
|
|
178
|
+
parsedCount += 1;
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
console.log(`Parsed ${parsedCount} '${endsWith}' files in: ${rootPath}`);
|
|
182
|
+
return errors;
|
|
183
|
+
}
|
|
184
|
+
function findProjectFile(wd, depth) {
|
|
185
|
+
const proj = "sfdx-project.json";
|
|
186
|
+
const files = (0, node_fs_1.readdirSync)(wd).filter(i => !/(^|\/)\.[^/.]/g.test(i));
|
|
187
|
+
if (files.includes(proj)) {
|
|
188
|
+
return (0, node_path_1.resolve)(wd, proj);
|
|
189
|
+
}
|
|
190
|
+
if (depth) {
|
|
191
|
+
const dirs = files
|
|
192
|
+
.map(f => (0, node_path_1.resolve)(wd, f))
|
|
193
|
+
.filter(f => (0, node_fs_1.lstatSync)(f).isDirectory());
|
|
194
|
+
const newDepth = depth - 1;
|
|
195
|
+
for (const d of dirs) {
|
|
196
|
+
const p = findProjectFile(d, newDepth);
|
|
197
|
+
if (p) {
|
|
198
|
+
return p;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return undefined;
|
|
203
|
+
}
|
|
204
|
+
function getProjectPackages(projectFilePath) {
|
|
205
|
+
if (!projectFilePath) {
|
|
206
|
+
return [];
|
|
207
|
+
}
|
|
208
|
+
const config = JSON.parse((0, node_fs_1.readFileSync)(projectFilePath, { encoding: "utf8" }));
|
|
209
|
+
const packages = config.packageDirectories || [];
|
|
210
|
+
return packages.flatMap(p => (p.path ? p.path.replace(/\\/g, "/") : []));
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=Check.js.map
|
package/lib/Check.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Check.js","sourceRoot":"","sources":["../src/Check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { ATN } from "
|
|
2
|
-
|
|
3
|
-
import { Lexer } from "antlr4ts/Lexer";
|
|
4
|
-
import { Vocabulary } from "antlr4ts/Vocabulary";
|
|
5
|
-
export declare class ApexLexer extends Lexer {
|
|
1
|
+
import { ATN, CharStream, DFA, Lexer } from "antlr4";
|
|
2
|
+
export default class ApexLexer extends Lexer {
|
|
6
3
|
static readonly ABSTRACT = 1;
|
|
7
4
|
static readonly AFTER = 2;
|
|
8
5
|
static readonly BEFORE = 3;
|
|
@@ -254,28 +251,24 @@ export declare class ApexLexer extends Lexer {
|
|
|
254
251
|
static readonly DOC_COMMENT = 249;
|
|
255
252
|
static readonly COMMENT = 250;
|
|
256
253
|
static readonly LINE_COMMENT = 251;
|
|
254
|
+
static readonly EOF: number;
|
|
257
255
|
static readonly WHITESPACE_CHANNEL = 2;
|
|
258
256
|
static readonly COMMENT_CHANNEL = 3;
|
|
259
257
|
static readonly channelNames: string[];
|
|
258
|
+
static readonly literalNames: (string | null)[];
|
|
259
|
+
static readonly symbolicNames: (string | null)[];
|
|
260
260
|
static readonly modeNames: string[];
|
|
261
261
|
static readonly ruleNames: string[];
|
|
262
|
-
private static readonly _LITERAL_NAMES;
|
|
263
|
-
private static readonly _SYMBOLIC_NAMES;
|
|
264
|
-
static readonly VOCABULARY: Vocabulary;
|
|
265
|
-
get vocabulary(): Vocabulary;
|
|
266
262
|
constructor(input: CharStream);
|
|
267
263
|
get grammarFileName(): string;
|
|
264
|
+
get literalNames(): (string | null)[];
|
|
265
|
+
get symbolicNames(): (string | null)[];
|
|
268
266
|
get ruleNames(): string[];
|
|
269
|
-
get serializedATN():
|
|
267
|
+
get serializedATN(): number[];
|
|
270
268
|
get channelNames(): string[];
|
|
271
269
|
get modeNames(): string[];
|
|
272
|
-
|
|
273
|
-
private static
|
|
274
|
-
private static readonly _serializedATNSegment1;
|
|
275
|
-
private static readonly _serializedATNSegment2;
|
|
276
|
-
private static readonly _serializedATNSegment3;
|
|
277
|
-
private static readonly _serializedATNSegment4;
|
|
278
|
-
static readonly _serializedATN: string;
|
|
279
|
-
static __ATN: ATN;
|
|
270
|
+
static readonly _serializedATN: number[];
|
|
271
|
+
private static __ATN;
|
|
280
272
|
static get _ATN(): ATN;
|
|
273
|
+
static DecisionsToDFA: DFA[];
|
|
281
274
|
}
|