@cparra/apex-reflection 0.1.0-alpha.0 → 0.1.1-alpha.10
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/__tests__/end-to-end.test.ts +256 -0
- package/coverage/clover.xml +12857 -0
- package/coverage/coverage-final.json +3 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +79 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +126 -0
- package/coverage/lcov-report/index.js.html +104 -0
- package/coverage/lcov-report/out.js.html +41126 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +170 -0
- package/coverage/lcov.info +24801 -0
- package/index.d.ts +118 -0
- package/index.js +8 -0
- package/index.ts +141 -0
- package/jest.config.js +11 -0
- package/out.js +13708 -0
- package/package.json +22 -17
- package/tsconfig.json +5 -3
- package/.idea/apexdocs-dart.iml +0 -18
- package/.idea/jsLibraryMappings.xml +0 -6
- package/.idea/libraries/Dart_Packages.xml +0 -556
- package/.idea/libraries/Dart_SDK.xml +0 -28
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/runConfigurations/_template__of_Dart_Test.xml +0 -6
- package/.idea/vcs.xml +0 -6
- package/CHANGELOG.md +0 -3
- package/README.md +0 -26
- package/TODO.md +0 -5
- package/analysis_options.yaml +0 -30
- package/antlr4-4.9.2/CHANGELOG.md +0 -4
- package/antlr4-4.9.2/LICENSE +0 -52
- package/antlr4-4.9.2/README.md +0 -11
- package/antlr4-4.9.2/analysis_options.yaml +0 -1
- package/antlr4-4.9.2/lib/antlr4.dart +0 -21
- package/antlr4-4.9.2/lib/src/atn/atn.dart +0 -18
- package/antlr4-4.9.2/lib/src/atn/src/atn.dart +0 -170
- package/antlr4-4.9.2/lib/src/atn/src/atn_config.dart +0 -242
- package/antlr4-4.9.2/lib/src/atn/src/atn_config_set.dart +0 -283
- package/antlr4-4.9.2/lib/src/atn/src/atn_deserializer.dart +0 -809
- package/antlr4-4.9.2/lib/src/atn/src/atn_simulator.dart +0 -95
- package/antlr4-4.9.2/lib/src/atn/src/atn_state.dart +0 -296
- package/antlr4-4.9.2/lib/src/atn/src/atn_type.dart +0 -14
- package/antlr4-4.9.2/lib/src/atn/src/info.dart +0 -553
- package/antlr4-4.9.2/lib/src/atn/src/lexer_action.dart +0 -601
- package/antlr4-4.9.2/lib/src/atn/src/lexer_action_executor.dart +0 -167
- package/antlr4-4.9.2/lib/src/atn/src/lexer_atn_simulator.dart +0 -731
- package/antlr4-4.9.2/lib/src/atn/src/parser_atn_simulator.dart +0 -2630
- package/antlr4-4.9.2/lib/src/atn/src/profiling_atn_simulator.dart +0 -229
- package/antlr4-4.9.2/lib/src/atn/src/semantic_context.dart +0 -404
- package/antlr4-4.9.2/lib/src/atn/src/transition.dart +0 -305
- package/antlr4-4.9.2/lib/src/dfa/dfa.dart +0 -8
- package/antlr4-4.9.2/lib/src/dfa/src/dfa.dart +0 -138
- package/antlr4-4.9.2/lib/src/dfa/src/dfa_serializer.dart +0 -76
- package/antlr4-4.9.2/lib/src/dfa/src/dfa_state.dart +0 -151
- package/antlr4-4.9.2/lib/src/error/error.dart +0 -10
- package/antlr4-4.9.2/lib/src/error/src/diagnostic_error_listener.dart +0 -116
- package/antlr4-4.9.2/lib/src/error/src/error_listener.dart +0 -241
- package/antlr4-4.9.2/lib/src/error/src/error_strategy.dart +0 -902
- package/antlr4-4.9.2/lib/src/error/src/errors.dart +0 -204
- package/antlr4-4.9.2/lib/src/input_stream.dart +0 -335
- package/antlr4-4.9.2/lib/src/interval_set.dart +0 -735
- package/antlr4-4.9.2/lib/src/lexer.dart +0 -343
- package/antlr4-4.9.2/lib/src/ll1_analyzer.dart +0 -204
- package/antlr4-4.9.2/lib/src/misc/multi_map.dart +0 -32
- package/antlr4-4.9.2/lib/src/misc/pair.dart +0 -34
- package/antlr4-4.9.2/lib/src/parser.dart +0 -777
- package/antlr4-4.9.2/lib/src/parser_interpreter.dart +0 -393
- package/antlr4-4.9.2/lib/src/parser_rule_context.dart +0 -275
- package/antlr4-4.9.2/lib/src/prediction_context.dart +0 -877
- package/antlr4-4.9.2/lib/src/recognizer.dart +0 -182
- package/antlr4-4.9.2/lib/src/rule_context.dart +0 -192
- package/antlr4-4.9.2/lib/src/runtime_meta_data.dart +0 -188
- package/antlr4-4.9.2/lib/src/token.dart +0 -431
- package/antlr4-4.9.2/lib/src/token_factory.dart +0 -88
- package/antlr4-4.9.2/lib/src/token_source.dart +0 -241
- package/antlr4-4.9.2/lib/src/token_stream.dart +0 -627
- package/antlr4-4.9.2/lib/src/tree/src/pattern/chunk.dart +0 -90
- package/antlr4-4.9.2/lib/src/tree/src/pattern/parse_tree_match.dart +0 -635
- package/antlr4-4.9.2/lib/src/tree/src/tree.dart +0 -370
- package/antlr4-4.9.2/lib/src/tree/src/trees.dart +0 -226
- package/antlr4-4.9.2/lib/src/tree/tree.dart +0 -10
- package/antlr4-4.9.2/lib/src/util/bit_set.dart +0 -308
- package/antlr4-4.9.2/lib/src/util/murmur_hash.dart +0 -77
- package/antlr4-4.9.2/lib/src/util/utils.dart +0 -31
- package/antlr4-4.9.2/lib/src/vocabulary.dart +0 -254
- package/antlr4-4.9.2/pubspec.yaml +0 -13
- package/example/node_example/index.js +0 -8
- package/example/node_example/package.json +0 -12
- package/example/node_example_ts/package-lock.json +0 -70
- package/example/node_example_ts/package.json +0 -19
- package/example/node_example_ts/src/index.js +0 -5
- package/example/node_example_ts/src/index.ts +0 -9
- package/example/node_example_ts/tsconfig.json +0 -79
- package/js/dart2jsout.js +0 -25898
- package/js/dart2jsout.js.map +0 -16
- package/js/index.d.ts +0 -1
- package/js/index.js +0 -4
- package/js/out.js +0 -26023
- package/js/out.js.map +0 -16
- package/js/package-lock.json +0 -57
- package/js/preamble.js +0 -125
- package/lib/apexdocs_dart.dart +0 -28
- package/lib/src/antlr/grammars/Apexdoc/ApexdocLexer.g4 +0 -120
- package/lib/src/antlr/grammars/Apexdoc/ApexdocParser.g4 +0 -158
- package/lib/src/antlr/grammars/Apexdoc/gen/ApexdocLexer.interp +0 -95
- package/lib/src/antlr/grammars/Apexdoc/gen/ApexdocLexer.java +0 -238
- package/lib/src/antlr/grammars/Apexdoc/gen/ApexdocLexer.tokens +0 -23
- package/lib/src/antlr/grammars/apex/ApexLexer.g4 +0 -255
- package/lib/src/antlr/grammars/apex/ApexParser.g4 +0 -567
- package/lib/src/antlr/grammars/apex/examples/ApexClass.cls +0 -6
- package/lib/src/antlr/lib/apex/ApexLexer.dart +0 -1223
- package/lib/src/antlr/lib/apex/ApexLexer.interp +0 -393
- package/lib/src/antlr/lib/apex/ApexLexer.tokens +0 -212
- package/lib/src/antlr/lib/apex/ApexParser.dart +0 -9349
- package/lib/src/antlr/lib/apex/ApexParser.interp +0 -326
- package/lib/src/antlr/lib/apex/ApexParser.tokens +0 -212
- package/lib/src/antlr/lib/apex/ApexParserBaseListener.dart +0 -1036
- package/lib/src/antlr/lib/apex/ApexParserListener.dart +0 -975
- package/lib/src/antlr/lib/apexdoc/ApexdocLexer.dart +0 -373
- package/lib/src/antlr/lib/apexdoc/ApexdocLexer.interp +0 -95
- package/lib/src/antlr/lib/apexdoc/ApexdocLexer.tokens +0 -23
- package/lib/src/antlr/lib/apexdoc/ApexdocParser.dart +0 -2471
- package/lib/src/antlr/lib/apexdoc/ApexdocParser.interp +0 -69
- package/lib/src/antlr/lib/apexdoc/ApexdocParser.tokens +0 -23
- package/lib/src/antlr/lib/apexdoc/ApexdocParserBaseListener.dart +0 -252
- package/lib/src/antlr/lib/apexdoc/ApexdocParserListener.dart +0 -215
- package/lib/src/builders/builders.dart +0 -32
- package/lib/src/model/apex_file_manifest.dart +0 -37
- package/lib/src/model/apex_file_manifest.g.dart +0 -18
- package/lib/src/model/declaration.dart +0 -50
- package/lib/src/model/doc_comment.dart +0 -117
- package/lib/src/model/doc_comment.g.dart +0 -118
- package/lib/src/model/members.dart +0 -143
- package/lib/src/model/members.g.dart +0 -105
- package/lib/src/model/types.dart +0 -159
- package/lib/src/model/types.g.dart +0 -111
- package/lib/src/service/apex_listener.dart +0 -226
- package/lib/src/service/apexdoc_listener.dart +0 -82
- package/lib/src/service/parsers.dart +0 -33
- package/lib/src/service/utils/parsing/access_modifiers_parser.dart +0 -33
- package/lib/src/service/utils/parsing/parameters_parser.dart +0 -18
- package/lib/src/service/utils/parsing/parsing_utils.dart +0 -2
- package/lib/src/service/walker.dart +0 -82
- package/pubspec.yaml +0 -19
- package/test/apex_file_manifest_test.dart +0 -16
- package/test/apex_listener_test.dart +0 -703
- package/test/apexdoc_parser_test.dart +0 -179
- package/test/doc_comment_test.dart +0 -89
- package/test/members_serialization_test.dart +0 -158
- package/test/members_test.dart +0 -178
- package/test/types_serialization_test.dart +0 -191
- package/test/types_test.dart +0 -311
- package/test/walker_test.dart +0 -58
- package/tool/grind.dart +0 -20
package/js/package-lock.json
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@cparra/apex-reflection",
|
|
3
|
-
"version": "0.0.2",
|
|
4
|
-
"lockfileVersion": 2,
|
|
5
|
-
"requires": true,
|
|
6
|
-
"packages": {
|
|
7
|
-
"": {
|
|
8
|
-
"name": "@cparra/apex-reflection",
|
|
9
|
-
"version": "0.0.2",
|
|
10
|
-
"license": "ISC",
|
|
11
|
-
"devDependencies": {
|
|
12
|
-
"@types/typescript": "^2.0.0",
|
|
13
|
-
"typescript": "^4.4.3"
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
"node_modules/@types/typescript": {
|
|
17
|
-
"version": "2.0.0",
|
|
18
|
-
"resolved": "https://registry.npmjs.org/@types/typescript/-/typescript-2.0.0.tgz",
|
|
19
|
-
"integrity": "sha1-xDNTnJi64oaCswfqp6D9IRW4PCg=",
|
|
20
|
-
"deprecated": "This is a stub types definition for TypeScript (https://github.com/Microsoft/TypeScript). TypeScript provides its own type definitions, so you don't need @types/typescript installed!",
|
|
21
|
-
"dev": true,
|
|
22
|
-
"dependencies": {
|
|
23
|
-
"typescript": "*"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"node_modules/typescript": {
|
|
27
|
-
"version": "4.4.3",
|
|
28
|
-
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz",
|
|
29
|
-
"integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==",
|
|
30
|
-
"dev": true,
|
|
31
|
-
"bin": {
|
|
32
|
-
"tsc": "bin/tsc",
|
|
33
|
-
"tsserver": "bin/tsserver"
|
|
34
|
-
},
|
|
35
|
-
"engines": {
|
|
36
|
-
"node": ">=4.2.0"
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
"dependencies": {
|
|
41
|
-
"@types/typescript": {
|
|
42
|
-
"version": "2.0.0",
|
|
43
|
-
"resolved": "https://registry.npmjs.org/@types/typescript/-/typescript-2.0.0.tgz",
|
|
44
|
-
"integrity": "sha1-xDNTnJi64oaCswfqp6D9IRW4PCg=",
|
|
45
|
-
"dev": true,
|
|
46
|
-
"requires": {
|
|
47
|
-
"typescript": "*"
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
"typescript": {
|
|
51
|
-
"version": "4.4.3",
|
|
52
|
-
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz",
|
|
53
|
-
"integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==",
|
|
54
|
-
"dev": true
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
package/js/preamble.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
// make sure to keep this as 'var'
|
|
2
|
-
// we don't want block scoping
|
|
3
|
-
|
|
4
|
-
var dartNodePreambleSelf = typeof global !== "undefined" ? global : window;
|
|
5
|
-
|
|
6
|
-
var self = Object.create(dartNodePreambleSelf);
|
|
7
|
-
|
|
8
|
-
self.scheduleImmediate = typeof setImmediate !== "undefined"
|
|
9
|
-
? function (cb) {
|
|
10
|
-
setImmediate(cb);
|
|
11
|
-
}
|
|
12
|
-
: function (cb) {
|
|
13
|
-
setTimeout(cb, 0);
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
// CommonJS globals.
|
|
17
|
-
self.require = require;
|
|
18
|
-
self.exports = exports;
|
|
19
|
-
|
|
20
|
-
// Node.js specific exports, check to see if they exist & or polyfilled
|
|
21
|
-
|
|
22
|
-
if (typeof process !== "undefined") {
|
|
23
|
-
self.process = process;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (typeof __dirname !== "undefined") {
|
|
27
|
-
self.__dirname = __dirname;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (typeof __filename !== "undefined") {
|
|
31
|
-
self.__filename = __filename;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (typeof Buffer !== "undefined") {
|
|
35
|
-
self.Buffer = Buffer;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// if we're running in a browser, Dart supports most of this out of box
|
|
39
|
-
// make sure we only run these in Node.js environment
|
|
40
|
-
|
|
41
|
-
var dartNodeIsActuallyNode = !dartNodePreambleSelf.window
|
|
42
|
-
|
|
43
|
-
try {
|
|
44
|
-
// Check if we're in a Web Worker instead.
|
|
45
|
-
if ("undefined" !== typeof WorkerGlobalScope && dartNodePreambleSelf instanceof WorkerGlobalScope) {
|
|
46
|
-
dartNodeIsActuallyNode = false;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// Check if we're in Electron, with Node.js integration, and override if true.
|
|
50
|
-
if ("undefined" !== typeof process && process.versions && process.versions.hasOwnProperty('electron') && process.versions.hasOwnProperty('node')) {
|
|
51
|
-
dartNodeIsActuallyNode = true;
|
|
52
|
-
}
|
|
53
|
-
} catch (e) {
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (dartNodeIsActuallyNode) {
|
|
57
|
-
// This line is to:
|
|
58
|
-
// 1) Prevent Webpack from bundling.
|
|
59
|
-
// 2) In Webpack on Node.js, make sure we're using the native Node.js require, which is available via __non_webpack_require__
|
|
60
|
-
// https://github.com/mbullington/node_preamble.dart/issues/18#issuecomment-527305561
|
|
61
|
-
var url = ("undefined" !== typeof __webpack_require__ ? __non_webpack_require__ : require)("url");
|
|
62
|
-
|
|
63
|
-
// Setting `self.location=` in Electron throws a `TypeError`, so we define it
|
|
64
|
-
// as a property instead to be safe.
|
|
65
|
-
Object.defineProperty(self, "location", {
|
|
66
|
-
value: {
|
|
67
|
-
get href() {
|
|
68
|
-
if (url.pathToFileURL) {
|
|
69
|
-
return url.pathToFileURL(process.cwd()).href + "/";
|
|
70
|
-
} else {
|
|
71
|
-
// This isn't really a correct transformation, but it's the best we have
|
|
72
|
-
// for versions of Node <10.12.0 which introduced `url.pathToFileURL()`.
|
|
73
|
-
// For example, it will fail for paths that contain characters that need
|
|
74
|
-
// to be escaped in URLs.
|
|
75
|
-
return "file://" + (function () {
|
|
76
|
-
var cwd = process.cwd();
|
|
77
|
-
if (process.platform != "win32") return cwd;
|
|
78
|
-
return "/" + cwd.replace(/\\/g, "/");
|
|
79
|
-
})() + "/"
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
(function () {
|
|
86
|
-
function computeCurrentScript() {
|
|
87
|
-
try {
|
|
88
|
-
throw new Error();
|
|
89
|
-
} catch (e) {
|
|
90
|
-
var stack = e.stack;
|
|
91
|
-
var re = new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "mg");
|
|
92
|
-
var lastMatch = null;
|
|
93
|
-
do {
|
|
94
|
-
var match = re.exec(stack);
|
|
95
|
-
if (match != null) lastMatch = match;
|
|
96
|
-
} while (match != null);
|
|
97
|
-
return lastMatch[1];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Setting `self.document=` isn't known to throw an error anywhere like
|
|
102
|
-
// `self.location=` does on Electron, but it's better to be future-proof
|
|
103
|
-
// just in case..
|
|
104
|
-
var cachedCurrentScript = null;
|
|
105
|
-
Object.defineProperty(self, "document", {
|
|
106
|
-
value: {
|
|
107
|
-
get currentScript() {
|
|
108
|
-
if (cachedCurrentScript == null) {
|
|
109
|
-
cachedCurrentScript = {src: computeCurrentScript()};
|
|
110
|
-
}
|
|
111
|
-
return cachedCurrentScript;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
})();
|
|
116
|
-
|
|
117
|
-
self.dartDeferredLibraryLoader = function (uri, successCallback, errorCallback) {
|
|
118
|
-
try {
|
|
119
|
-
load(uri);
|
|
120
|
-
successCallback();
|
|
121
|
-
} catch (error) {
|
|
122
|
-
errorCallback(error);
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
}
|
package/lib/apexdocs_dart.dart
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
// @dart=2.9
|
|
2
|
-
|
|
3
|
-
@JS()
|
|
4
|
-
library apex_reflection;
|
|
5
|
-
|
|
6
|
-
import 'dart:convert';
|
|
7
|
-
|
|
8
|
-
import 'package:js/js.dart';
|
|
9
|
-
import 'package:apexdocs_dart/src/service/parsers.dart';
|
|
10
|
-
|
|
11
|
-
@JS()
|
|
12
|
-
class Exports {
|
|
13
|
-
external set run_(Function function);
|
|
14
|
-
|
|
15
|
-
external set reflect(Function function);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@JS()
|
|
19
|
-
external Exports get exports;
|
|
20
|
-
|
|
21
|
-
String _parseFromDeclarationBody(String declarationBody) {
|
|
22
|
-
return jsonEncode(ApexParser.parseFromBody(declarationBody));
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
void main() {
|
|
26
|
-
exports.reflect = allowInterop(
|
|
27
|
-
(String declarationBody) => _parseFromDeclarationBody(declarationBody));
|
|
28
|
-
}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
[The "BSD licence"]
|
|
3
|
-
Copyright (c) 2016 Pascal Gruen
|
|
4
|
-
All rights reserved.
|
|
5
|
-
Redistribution and use in source and binary forms, with or without
|
|
6
|
-
modification, are permitted provided that the following conditions
|
|
7
|
-
are met:
|
|
8
|
-
1. Redistributions of source code must retain the above copyright
|
|
9
|
-
notice, this list of conditions and the following disclaimer.
|
|
10
|
-
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
-
notice, this list of conditions and the following disclaimer in the
|
|
12
|
-
documentation and/or other materials provided with the distribution.
|
|
13
|
-
3. The name of the author may not be used to endorse or promote products
|
|
14
|
-
derived from this software without specific prior written permission.
|
|
15
|
-
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
16
|
-
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
17
|
-
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
18
|
-
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
19
|
-
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
20
|
-
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
21
|
-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
22
|
-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
24
|
-
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
lexer grammar ApexdocLexer;
|
|
28
|
-
|
|
29
|
-
// Keywords
|
|
30
|
-
PARAM: AT P A R A M;
|
|
31
|
-
RETURN: AT R E T U R N;
|
|
32
|
-
EXAMPLE: AT E X A M P L E;
|
|
33
|
-
THROWS: AT T H R O W S;
|
|
34
|
-
EXCEPTION: AT E X C E P T I O N;
|
|
35
|
-
|
|
36
|
-
NAME
|
|
37
|
-
: [a-zA-Z]+ JavaLetterOrDigit?
|
|
38
|
-
;
|
|
39
|
-
|
|
40
|
-
fragment
|
|
41
|
-
JavaLetterOrDigit
|
|
42
|
-
: [a-zA-Z0-9$_] // these are the "java letters or digits" below 0xFF
|
|
43
|
-
| // covers all characters above 0xFF which are not a surrogate
|
|
44
|
-
~[\u0000-\u00FF\uD800-\uDBFF]
|
|
45
|
-
| // covers UTF-16 surrogate pairs encodings for U+10000 to U+10FFFF
|
|
46
|
-
[\uD800-\uDBFF] [\uDC00-\uDFFF]
|
|
47
|
-
;
|
|
48
|
-
|
|
49
|
-
NEWLINE
|
|
50
|
-
: '\n' (SPACE? (STAR {inputStream.LA(1) != '/'}?)+)?
|
|
51
|
-
| '\r\n' (SPACE? (STAR {inputStream.LA(1) != '/'}?)+)?
|
|
52
|
-
| '\r' (SPACE? (STAR {inputStream.LA(1) != '/'}?)+)?
|
|
53
|
-
;
|
|
54
|
-
|
|
55
|
-
SPACE
|
|
56
|
-
: [ \t\r\n\u000C]+
|
|
57
|
-
;
|
|
58
|
-
|
|
59
|
-
TEXT_CONTENT
|
|
60
|
-
: ~[\n\r\t @*{}/a-zA-Z]+
|
|
61
|
-
;
|
|
62
|
-
|
|
63
|
-
AT
|
|
64
|
-
: '@'
|
|
65
|
-
;
|
|
66
|
-
|
|
67
|
-
STAR
|
|
68
|
-
: '*'
|
|
69
|
-
;
|
|
70
|
-
|
|
71
|
-
SLASH
|
|
72
|
-
: '/'
|
|
73
|
-
;
|
|
74
|
-
|
|
75
|
-
JAVADOC_START
|
|
76
|
-
: '/**' STAR*
|
|
77
|
-
;
|
|
78
|
-
|
|
79
|
-
JAVADOC_END
|
|
80
|
-
: SPACE? STAR* '*/'
|
|
81
|
-
;
|
|
82
|
-
|
|
83
|
-
INLINE_TAG_START
|
|
84
|
-
: '{@'
|
|
85
|
-
;
|
|
86
|
-
|
|
87
|
-
BRACE_OPEN
|
|
88
|
-
: '{'
|
|
89
|
-
;
|
|
90
|
-
|
|
91
|
-
BRACE_CLOSE
|
|
92
|
-
: '}'
|
|
93
|
-
;
|
|
94
|
-
|
|
95
|
-
fragment A:('a'|'A');
|
|
96
|
-
fragment B:('b'|'B');
|
|
97
|
-
fragment C:('c'|'C');
|
|
98
|
-
fragment D:('d'|'D');
|
|
99
|
-
fragment E:('e'|'E');
|
|
100
|
-
fragment F:('f'|'F');
|
|
101
|
-
fragment G:('g'|'G');
|
|
102
|
-
fragment H:('h'|'H');
|
|
103
|
-
fragment I:('i'|'I');
|
|
104
|
-
fragment J:('j'|'J');
|
|
105
|
-
fragment K:('k'|'K');
|
|
106
|
-
fragment L:('l'|'L');
|
|
107
|
-
fragment M:('m'|'M');
|
|
108
|
-
fragment N:('n'|'N');
|
|
109
|
-
fragment O:('o'|'O');
|
|
110
|
-
fragment P:('p'|'P');
|
|
111
|
-
fragment Q:('q'|'Q');
|
|
112
|
-
fragment R:('r'|'R');
|
|
113
|
-
fragment S:('s'|'S');
|
|
114
|
-
fragment T:('t'|'T');
|
|
115
|
-
fragment U:('u'|'U');
|
|
116
|
-
fragment V:('v'|'V');
|
|
117
|
-
fragment W:('w'|'W');
|
|
118
|
-
fragment X:('x'|'X');
|
|
119
|
-
fragment Y:('y'|'Y');
|
|
120
|
-
fragment Z:('z'|'Z');
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
[The "BSD licence"]
|
|
3
|
-
Copyright (c) 2016 Pascal Gruen
|
|
4
|
-
All rights reserved.
|
|
5
|
-
Redistribution and use in source and binary forms, with or without
|
|
6
|
-
modification, are permitted provided that the following conditions
|
|
7
|
-
are met:
|
|
8
|
-
1. Redistributions of source code must retain the above copyright
|
|
9
|
-
notice, this list of conditions and the following disclaimer.
|
|
10
|
-
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
-
notice, this list of conditions and the following disclaimer in the
|
|
12
|
-
documentation and/or other materials provided with the distribution.
|
|
13
|
-
3. The name of the author may not be used to endorse or promote products
|
|
14
|
-
derived from this software without specific prior written permission.
|
|
15
|
-
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
16
|
-
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
17
|
-
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
18
|
-
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
19
|
-
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
20
|
-
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
21
|
-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
22
|
-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
24
|
-
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
parser grammar ApexdocParser;
|
|
28
|
-
|
|
29
|
-
options { tokenVocab=ApexdocLexer; }
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
documentation
|
|
33
|
-
: EOF
|
|
34
|
-
| JAVADOC_START skipWhitespace* documentationContent JAVADOC_END EOF
|
|
35
|
-
| skipWhitespace* documentationContent EOF
|
|
36
|
-
;
|
|
37
|
-
|
|
38
|
-
documentationContent
|
|
39
|
-
: description skipWhitespace*
|
|
40
|
-
| skipWhitespace* tagSection
|
|
41
|
-
| description NEWLINE+ skipWhitespace* tagSection
|
|
42
|
-
;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
description
|
|
46
|
-
: descriptionLine (descriptionNewline+ descriptionLine)*
|
|
47
|
-
;
|
|
48
|
-
|
|
49
|
-
descriptionLine
|
|
50
|
-
: descriptionLineStart descriptionLineElement*
|
|
51
|
-
| inlineTag descriptionLineElement*
|
|
52
|
-
;
|
|
53
|
-
|
|
54
|
-
descriptionLineStart
|
|
55
|
-
: SPACE? descriptionLineNoSpaceNoAt+ (descriptionLineNoSpaceNoAt | SPACE | AT)*
|
|
56
|
-
;
|
|
57
|
-
|
|
58
|
-
descriptionLineNoSpaceNoAt
|
|
59
|
-
: TEXT_CONTENT
|
|
60
|
-
| NAME
|
|
61
|
-
| STAR
|
|
62
|
-
| SLASH
|
|
63
|
-
| BRACE_OPEN
|
|
64
|
-
| BRACE_CLOSE
|
|
65
|
-
;
|
|
66
|
-
|
|
67
|
-
descriptionLineElement
|
|
68
|
-
: inlineTag
|
|
69
|
-
| descriptionLineText
|
|
70
|
-
;
|
|
71
|
-
|
|
72
|
-
descriptionLineText
|
|
73
|
-
: (descriptionLineNoSpaceNoAt | SPACE | AT)+
|
|
74
|
-
;
|
|
75
|
-
|
|
76
|
-
descriptionNewline
|
|
77
|
-
: NEWLINE
|
|
78
|
-
;
|
|
79
|
-
|
|
80
|
-
tagSection
|
|
81
|
-
: blockTag*
|
|
82
|
-
;
|
|
83
|
-
|
|
84
|
-
blockTag
|
|
85
|
-
: STAR* SPACE? PARAM SPACE+ paramName SPACE+ blockTagContent* #ParamBlockTag
|
|
86
|
-
| STAR* SPACE? (THROWS | EXCEPTION) SPACE+ exceptionName SPACE+ blockTagContent* #ThrowsBlockTag
|
|
87
|
-
| STAR* SPACE? RETURN SPACE+ blockTagContent* #ReturnBlockTag
|
|
88
|
-
| STAR* SPACE? EXAMPLE skipWhitespace+ blockTagContent* #ExampleBlockTag
|
|
89
|
-
| STAR* SPACE? AT blockTagName SPACE+ blockTagContent* #DefaultBlockTag
|
|
90
|
-
;
|
|
91
|
-
|
|
92
|
-
paramName
|
|
93
|
-
: blockTagTextElement
|
|
94
|
-
;
|
|
95
|
-
|
|
96
|
-
exceptionName
|
|
97
|
-
: blockTagTextElement
|
|
98
|
-
;
|
|
99
|
-
|
|
100
|
-
blockTagName
|
|
101
|
-
: NAME
|
|
102
|
-
;
|
|
103
|
-
|
|
104
|
-
blockTagContent
|
|
105
|
-
: blockTagText
|
|
106
|
-
| inlineTag
|
|
107
|
-
| NEWLINE
|
|
108
|
-
;
|
|
109
|
-
|
|
110
|
-
blockTagText
|
|
111
|
-
: blockTagTextElement+
|
|
112
|
-
;
|
|
113
|
-
|
|
114
|
-
blockTagTextElement
|
|
115
|
-
: TEXT_CONTENT
|
|
116
|
-
| NAME
|
|
117
|
-
| SPACE
|
|
118
|
-
| STAR
|
|
119
|
-
| SLASH
|
|
120
|
-
| BRACE_OPEN
|
|
121
|
-
| BRACE_CLOSE
|
|
122
|
-
;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
inlineTag
|
|
126
|
-
: INLINE_TAG_START inlineTagName SPACE* inlineTagContent? BRACE_CLOSE
|
|
127
|
-
;
|
|
128
|
-
|
|
129
|
-
inlineTagName
|
|
130
|
-
: NAME
|
|
131
|
-
;
|
|
132
|
-
|
|
133
|
-
inlineTagContent
|
|
134
|
-
: braceContent+
|
|
135
|
-
;
|
|
136
|
-
|
|
137
|
-
braceExpression
|
|
138
|
-
: BRACE_OPEN braceContent* BRACE_CLOSE
|
|
139
|
-
;
|
|
140
|
-
|
|
141
|
-
braceContent
|
|
142
|
-
: braceExpression
|
|
143
|
-
| braceText (NEWLINE* braceText)*
|
|
144
|
-
;
|
|
145
|
-
|
|
146
|
-
skipWhitespace
|
|
147
|
-
: SPACE
|
|
148
|
-
| NEWLINE
|
|
149
|
-
;
|
|
150
|
-
|
|
151
|
-
braceText
|
|
152
|
-
: TEXT_CONTENT
|
|
153
|
-
| NAME
|
|
154
|
-
| SPACE
|
|
155
|
-
| STAR
|
|
156
|
-
| SLASH
|
|
157
|
-
| NEWLINE
|
|
158
|
-
;
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
token literal names:
|
|
2
|
-
null
|
|
3
|
-
null
|
|
4
|
-
null
|
|
5
|
-
null
|
|
6
|
-
null
|
|
7
|
-
null
|
|
8
|
-
null
|
|
9
|
-
null
|
|
10
|
-
null
|
|
11
|
-
null
|
|
12
|
-
'@'
|
|
13
|
-
'*'
|
|
14
|
-
'/'
|
|
15
|
-
null
|
|
16
|
-
null
|
|
17
|
-
'{@'
|
|
18
|
-
'{'
|
|
19
|
-
'}'
|
|
20
|
-
|
|
21
|
-
token symbolic names:
|
|
22
|
-
null
|
|
23
|
-
PARAM
|
|
24
|
-
RETURN
|
|
25
|
-
EXAMPLE
|
|
26
|
-
THROWS
|
|
27
|
-
EXCEPTION
|
|
28
|
-
NAME
|
|
29
|
-
NEWLINE
|
|
30
|
-
SPACE
|
|
31
|
-
TEXT_CONTENT
|
|
32
|
-
AT
|
|
33
|
-
STAR
|
|
34
|
-
SLASH
|
|
35
|
-
JAVADOC_START
|
|
36
|
-
JAVADOC_END
|
|
37
|
-
INLINE_TAG_START
|
|
38
|
-
BRACE_OPEN
|
|
39
|
-
BRACE_CLOSE
|
|
40
|
-
|
|
41
|
-
rule names:
|
|
42
|
-
PARAM
|
|
43
|
-
RETURN
|
|
44
|
-
EXAMPLE
|
|
45
|
-
THROWS
|
|
46
|
-
EXCEPTION
|
|
47
|
-
NAME
|
|
48
|
-
JavaLetterOrDigit
|
|
49
|
-
NEWLINE
|
|
50
|
-
SPACE
|
|
51
|
-
TEXT_CONTENT
|
|
52
|
-
AT
|
|
53
|
-
STAR
|
|
54
|
-
SLASH
|
|
55
|
-
JAVADOC_START
|
|
56
|
-
JAVADOC_END
|
|
57
|
-
INLINE_TAG_START
|
|
58
|
-
BRACE_OPEN
|
|
59
|
-
BRACE_CLOSE
|
|
60
|
-
A
|
|
61
|
-
B
|
|
62
|
-
C
|
|
63
|
-
D
|
|
64
|
-
E
|
|
65
|
-
F
|
|
66
|
-
G
|
|
67
|
-
H
|
|
68
|
-
I
|
|
69
|
-
J
|
|
70
|
-
K
|
|
71
|
-
L
|
|
72
|
-
M
|
|
73
|
-
N
|
|
74
|
-
O
|
|
75
|
-
P
|
|
76
|
-
Q
|
|
77
|
-
R
|
|
78
|
-
S
|
|
79
|
-
T
|
|
80
|
-
U
|
|
81
|
-
V
|
|
82
|
-
W
|
|
83
|
-
X
|
|
84
|
-
Y
|
|
85
|
-
Z
|
|
86
|
-
|
|
87
|
-
channel names:
|
|
88
|
-
DEFAULT_TOKEN_CHANNEL
|
|
89
|
-
HIDDEN
|
|
90
|
-
|
|
91
|
-
mode names:
|
|
92
|
-
DEFAULT_MODE
|
|
93
|
-
|
|
94
|
-
atn:
|
|
95
|
-
[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 19, 288, 8, 1, 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, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 6, 7, 136, 10, 7, 13, 7, 14, 7, 137, 3, 7, 5, 7, 141, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 147, 10, 8, 3, 9, 3, 9, 5, 9, 151, 10, 9, 3, 9, 3, 9, 3, 9, 6, 9, 156, 10, 9, 13, 9, 14, 9, 157, 5, 9, 160, 10, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 166, 10, 9, 3, 9, 3, 9, 3, 9, 6, 9, 171, 10, 9, 13, 9, 14, 9, 172, 5, 9, 175, 10, 9, 3, 9, 3, 9, 5, 9, 179, 10, 9, 3, 9, 3, 9, 3, 9, 6, 9, 184, 10, 9, 13, 9, 14, 9, 185, 5, 9, 188, 10, 9, 5, 9, 190, 10, 9, 3, 10, 6, 10, 193, 10, 10, 13, 10, 14, 10, 194, 3, 11, 6, 11, 198, 10, 11, 13, 11, 14, 11, 199, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 7, 15, 213, 10, 15, 12, 15, 14, 15, 216, 11, 15, 3, 16, 5, 16, 219, 10, 16, 3, 16, 7, 16, 222, 10, 16, 12, 16, 14, 16, 225, 11, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 2, 2, 46, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 2, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 59, 2, 61, 2, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 2, 75, 2, 77, 2, 79, 2, 81, 2, 83, 2, 85, 2, 87, 2, 89, 2, 3, 2, 35, 4, 2, 67, 92, 99, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 4, 2, 2, 257, 55298, 56321, 3, 2, 55298, 56321, 3, 2, 56322, 57345, 5, 2, 11, 12, 14, 15, 34, 34, 10, 2, 11, 12, 15, 15, 34, 34, 44, 44, 49, 49, 66, 92, 99, 125, 127, 127, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 280, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 3, 91, 3, 2, 2, 2, 5, 98, 3, 2, 2, 2, 7, 106, 3, 2, 2, 2, 9, 115, 3, 2, 2, 2, 11, 123, 3, 2, 2, 2, 13, 135, 3, 2, 2, 2, 15, 146, 3, 2, 2, 2, 17, 189, 3, 2, 2, 2, 19, 192, 3, 2, 2, 2, 21, 197, 3, 2, 2, 2, 23, 201, 3, 2, 2, 2, 25, 203, 3, 2, 2, 2, 27, 205, 3, 2, 2, 2, 29, 207, 3, 2, 2, 2, 31, 218, 3, 2, 2, 2, 33, 229, 3, 2, 2, 2, 35, 232, 3, 2, 2, 2, 37, 234, 3, 2, 2, 2, 39, 236, 3, 2, 2, 2, 41, 238, 3, 2, 2, 2, 43, 240, 3, 2, 2, 2, 45, 242, 3, 2, 2, 2, 47, 244, 3, 2, 2, 2, 49, 246, 3, 2, 2, 2, 51, 248, 3, 2, 2, 2, 53, 250, 3, 2, 2, 2, 55, 252, 3, 2, 2, 2, 57, 254, 3, 2, 2, 2, 59, 256, 3, 2, 2, 2, 61, 258, 3, 2, 2, 2, 63, 260, 3, 2, 2, 2, 65, 262, 3, 2, 2, 2, 67, 264, 3, 2, 2, 2, 69, 266, 3, 2, 2, 2, 71, 268, 3, 2, 2, 2, 73, 270, 3, 2, 2, 2, 75, 272, 3, 2, 2, 2, 77, 274, 3, 2, 2, 2, 79, 276, 3, 2, 2, 2, 81, 278, 3, 2, 2, 2, 83, 280, 3, 2, 2, 2, 85, 282, 3, 2, 2, 2, 87, 284, 3, 2, 2, 2, 89, 286, 3, 2, 2, 2, 91, 92, 5, 23, 12, 2, 92, 93, 5, 69, 35, 2, 93, 94, 5, 39, 20, 2, 94, 95, 5, 73, 37, 2, 95, 96, 5, 39, 20, 2, 96, 97, 5, 63, 32, 2, 97, 4, 3, 2, 2, 2, 98, 99, 5, 23, 12, 2, 99, 100, 5, 73, 37, 2, 100, 101, 5, 47, 24, 2, 101, 102, 5, 77, 39, 2, 102, 103, 5, 79, 40, 2, 103, 104, 5, 73, 37, 2, 104, 105, 5, 65, 33, 2, 105, 6, 3, 2, 2, 2, 106, 107, 5, 23, 12, 2, 107, 108, 5, 47, 24, 2, 108, 109, 5, 85, 43, 2, 109, 110, 5, 39, 20, 2, 110, 111, 5, 63, 32, 2, 111, 112, 5, 69, 35, 2, 112, 113, 5, 61, 31, 2, 113, 114, 5, 47, 24, 2, 114, 8, 3, 2, 2, 2, 115, 116, 5, 23, 12, 2, 116, 117, 5, 77, 39, 2, 117, 118, 5, 53, 27, 2, 118, 119, 5, 73, 37, 2, 119, 120, 5, 67, 34, 2, 120, 121, 5, 83, 42, 2, 121, 122, 5, 75, 38, 2, 122, 10, 3, 2, 2, 2, 123, 124, 5, 23, 12, 2, 124, 125, 5, 47, 24, 2, 125, 126, 5, 85, 43, 2, 126, 127, 5, 43, 22, 2, 127, 128, 5, 47, 24, 2, 128, 129, 5, 69, 35, 2, 129, 130, 5, 77, 39, 2, 130, 131, 5, 55, 28, 2, 131, 132, 5, 67, 34, 2, 132, 133, 5, 65, 33, 2, 133, 12, 3, 2, 2, 2, 134, 136, 9, 2, 2, 2, 135, 134, 3, 2, 2, 2, 136, 137, 3, 2, 2, 2, 137, 135, 3, 2, 2, 2, 137, 138, 3, 2, 2, 2, 138, 140, 3, 2, 2, 2, 139, 141, 5, 15, 8, 2, 140, 139, 3, 2, 2, 2, 140, 141, 3, 2, 2, 2, 141, 14, 3, 2, 2, 2, 142, 147, 9, 3, 2, 2, 143, 147, 10, 4, 2, 2, 144, 145, 9, 5, 2, 2, 145, 147, 9, 6, 2, 2, 146, 142, 3, 2, 2, 2, 146, 143, 3, 2, 2, 2, 146, 144, 3, 2, 2, 2, 147, 16, 3, 2, 2, 2, 148, 159, 7, 12, 2, 2, 149, 151, 5, 19, 10, 2, 150, 149, 3, 2, 2, 2, 150, 151, 3, 2, 2, 2, 151, 155, 3, 2, 2, 2, 152, 153, 5, 25, 13, 2, 153, 154, 6, 9, 2, 2, 154, 156, 3, 2, 2, 2, 155, 152, 3, 2, 2, 2, 156, 157, 3, 2, 2, 2, 157, 155, 3, 2, 2, 2, 157, 158, 3, 2, 2, 2, 158, 160, 3, 2, 2, 2, 159, 150, 3, 2, 2, 2, 159, 160, 3, 2, 2, 2, 160, 190, 3, 2, 2, 2, 161, 162, 7, 15, 2, 2, 162, 163, 7, 12, 2, 2, 163, 174, 3, 2, 2, 2, 164, 166, 5, 19, 10, 2, 165, 164, 3, 2, 2, 2, 165, 166, 3, 2, 2, 2, 166, 170, 3, 2, 2, 2, 167, 168, 5, 25, 13, 2, 168, 169, 6, 9, 3, 2, 169, 171, 3, 2, 2, 2, 170, 167, 3, 2, 2, 2, 171, 172, 3, 2, 2, 2, 172, 170, 3, 2, 2, 2, 172, 173, 3, 2, 2, 2, 173, 175, 3, 2, 2, 2, 174, 165, 3, 2, 2, 2, 174, 175, 3, 2, 2, 2, 175, 190, 3, 2, 2, 2, 176, 187, 7, 15, 2, 2, 177, 179, 5, 19, 10, 2, 178, 177, 3, 2, 2, 2, 178, 179, 3, 2, 2, 2, 179, 183, 3, 2, 2, 2, 180, 181, 5, 25, 13, 2, 181, 182, 6, 9, 4, 2, 182, 184, 3, 2, 2, 2, 183, 180, 3, 2, 2, 2, 184, 185, 3, 2, 2, 2, 185, 183, 3, 2, 2, 2, 185, 186, 3, 2, 2, 2, 186, 188, 3, 2, 2, 2, 187, 178, 3, 2, 2, 2, 187, 188, 3, 2, 2, 2, 188, 190, 3, 2, 2, 2, 189, 148, 3, 2, 2, 2, 189, 161, 3, 2, 2, 2, 189, 176, 3, 2, 2, 2, 190, 18, 3, 2, 2, 2, 191, 193, 9, 7, 2, 2, 192, 191, 3, 2, 2, 2, 193, 194, 3, 2, 2, 2, 194, 192, 3, 2, 2, 2, 194, 195, 3, 2, 2, 2, 195, 20, 3, 2, 2, 2, 196, 198, 10, 8, 2, 2, 197, 196, 3, 2, 2, 2, 198, 199, 3, 2, 2, 2, 199, 197, 3, 2, 2, 2, 199, 200, 3, 2, 2, 2, 200, 22, 3, 2, 2, 2, 201, 202, 7, 66, 2, 2, 202, 24, 3, 2, 2, 2, 203, 204, 7, 44, 2, 2, 204, 26, 3, 2, 2, 2, 205, 206, 7, 49, 2, 2, 206, 28, 3, 2, 2, 2, 207, 208, 7, 49, 2, 2, 208, 209, 7, 44, 2, 2, 209, 210, 7, 44, 2, 2, 210, 214, 3, 2, 2, 2, 211, 213, 5, 25, 13, 2, 212, 211, 3, 2, 2, 2, 213, 216, 3, 2, 2, 2, 214, 212, 3, 2, 2, 2, 214, 215, 3, 2, 2, 2, 215, 30, 3, 2, 2, 2, 216, 214, 3, 2, 2, 2, 217, 219, 5, 19, 10, 2, 218, 217, 3, 2, 2, 2, 218, 219, 3, 2, 2, 2, 219, 223, 3, 2, 2, 2, 220, 222, 5, 25, 13, 2, 221, 220, 3, 2, 2, 2, 222, 225, 3, 2, 2, 2, 223, 221, 3, 2, 2, 2, 223, 224, 3, 2, 2, 2, 224, 226, 3, 2, 2, 2, 225, 223, 3, 2, 2, 2, 226, 227, 7, 44, 2, 2, 227, 228, 7, 49, 2, 2, 228, 32, 3, 2, 2, 2, 229, 230, 7, 125, 2, 2, 230, 231, 7, 66, 2, 2, 231, 34, 3, 2, 2, 2, 232, 233, 7, 125, 2, 2, 233, 36, 3, 2, 2, 2, 234, 235, 7, 127, 2, 2, 235, 38, 3, 2, 2, 2, 236, 237, 9, 9, 2, 2, 237, 40, 3, 2, 2, 2, 238, 239, 9, 10, 2, 2, 239, 42, 3, 2, 2, 2, 240, 241, 9, 11, 2, 2, 241, 44, 3, 2, 2, 2, 242, 243, 9, 12, 2, 2, 243, 46, 3, 2, 2, 2, 244, 245, 9, 13, 2, 2, 245, 48, 3, 2, 2, 2, 246, 247, 9, 14, 2, 2, 247, 50, 3, 2, 2, 2, 248, 249, 9, 15, 2, 2, 249, 52, 3, 2, 2, 2, 250, 251, 9, 16, 2, 2, 251, 54, 3, 2, 2, 2, 252, 253, 9, 17, 2, 2, 253, 56, 3, 2, 2, 2, 254, 255, 9, 18, 2, 2, 255, 58, 3, 2, 2, 2, 256, 257, 9, 19, 2, 2, 257, 60, 3, 2, 2, 2, 258, 259, 9, 20, 2, 2, 259, 62, 3, 2, 2, 2, 260, 261, 9, 21, 2, 2, 261, 64, 3, 2, 2, 2, 262, 263, 9, 22, 2, 2, 263, 66, 3, 2, 2, 2, 264, 265, 9, 23, 2, 2, 265, 68, 3, 2, 2, 2, 266, 267, 9, 24, 2, 2, 267, 70, 3, 2, 2, 2, 268, 269, 9, 25, 2, 2, 269, 72, 3, 2, 2, 2, 270, 271, 9, 26, 2, 2, 271, 74, 3, 2, 2, 2, 272, 273, 9, 27, 2, 2, 273, 76, 3, 2, 2, 2, 274, 275, 9, 28, 2, 2, 275, 78, 3, 2, 2, 2, 276, 277, 9, 29, 2, 2, 277, 80, 3, 2, 2, 2, 278, 279, 9, 30, 2, 2, 279, 82, 3, 2, 2, 2, 280, 281, 9, 31, 2, 2, 281, 84, 3, 2, 2, 2, 282, 283, 9, 32, 2, 2, 283, 86, 3, 2, 2, 2, 284, 285, 9, 33, 2, 2, 285, 88, 3, 2, 2, 2, 286, 287, 9, 34, 2, 2, 287, 90, 3, 2, 2, 2, 21, 2, 137, 140, 146, 150, 157, 159, 165, 172, 174, 178, 185, 187, 189, 194, 199, 214, 218, 223, 2]
|