dot-language-support 2.3.0 → 3.0.0

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.
Files changed (109) hide show
  1. package/dist/index.d.ts +497 -0
  2. package/dist/index.js +3853 -0
  3. package/package.json +10 -11
  4. package/.github/dependabot.yml +0 -15
  5. package/.github/workflows/CD.yml +0 -37
  6. package/.github/workflows/CI.yml +0 -28
  7. package/.github/workflows/auto-merge.yaml +0 -26
  8. package/CITATION.cff +0 -14
  9. package/biome.json +0 -48
  10. package/lib/cjs/binder.d.ts +0 -2
  11. package/lib/cjs/binder.js +0 -297
  12. package/lib/cjs/checker.d.ts +0 -15
  13. package/lib/cjs/checker.js +0 -228
  14. package/lib/cjs/core.d.ts +0 -1
  15. package/lib/cjs/core.js +0 -13
  16. package/lib/cjs/error.d.ts +0 -3
  17. package/lib/cjs/error.js +0 -12
  18. package/lib/cjs/index.d.ts +0 -5
  19. package/lib/cjs/index.js +0 -22
  20. package/lib/cjs/parser.d.ts +0 -27
  21. package/lib/cjs/parser.js +0 -664
  22. package/lib/cjs/scanner.d.ts +0 -41
  23. package/lib/cjs/scanner.js +0 -578
  24. package/lib/cjs/service/codeAction.d.ts +0 -12
  25. package/lib/cjs/service/codeAction.js +0 -245
  26. package/lib/cjs/service/colorProvider.d.ts +0 -5
  27. package/lib/cjs/service/colorProvider.js +0 -91
  28. package/lib/cjs/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.d.ts +0 -10
  29. package/lib/cjs/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.js +0 -42
  30. package/lib/cjs/service/command/ChangeEdgeOpCommand.d.ts +0 -10
  31. package/lib/cjs/service/command/ChangeEdgeOpCommand.js +0 -67
  32. package/lib/cjs/service/command/ConsolidateDescendantsCommand.d.ts +0 -10
  33. package/lib/cjs/service/command/ConsolidateDescendantsCommand.js +0 -87
  34. package/lib/cjs/service/command/RemoveSemicolons.d.ts +0 -10
  35. package/lib/cjs/service/command/RemoveSemicolons.js +0 -39
  36. package/lib/cjs/service/command/common.d.ts +0 -31
  37. package/lib/cjs/service/command/common.js +0 -33
  38. package/lib/cjs/service/completion.d.ts +0 -4
  39. package/lib/cjs/service/completion.js +0 -173
  40. package/lib/cjs/service/hover.d.ts +0 -4
  41. package/lib/cjs/service/hover.js +0 -142
  42. package/lib/cjs/service/languageFacts.d.ts +0 -683
  43. package/lib/cjs/service/languageFacts.js +0 -996
  44. package/lib/cjs/service/reference.d.ts +0 -5
  45. package/lib/cjs/service/reference.js +0 -67
  46. package/lib/cjs/service/rename.d.ts +0 -4
  47. package/lib/cjs/service/rename.js +0 -51
  48. package/lib/cjs/service/service.d.ts +0 -28
  49. package/lib/cjs/service/service.js +0 -38
  50. package/lib/cjs/service/util.d.ts +0 -11
  51. package/lib/cjs/service/util.js +0 -49
  52. package/lib/cjs/service/validation.d.ts +0 -4
  53. package/lib/cjs/service/validation.js +0 -23
  54. package/lib/cjs/tester.d.ts +0 -1
  55. package/lib/cjs/tester.js +0 -23
  56. package/lib/cjs/types.d.ts +0 -397
  57. package/lib/cjs/types.js +0 -74
  58. package/lib/cjs/visitor.d.ts +0 -2
  59. package/lib/cjs/visitor.js +0 -76
  60. package/lib/esm/binder.d.ts +0 -2
  61. package/lib/esm/binder.js +0 -294
  62. package/lib/esm/checker.d.ts +0 -15
  63. package/lib/esm/checker.js +0 -212
  64. package/lib/esm/core.d.ts +0 -1
  65. package/lib/esm/core.js +0 -10
  66. package/lib/esm/error.d.ts +0 -3
  67. package/lib/esm/error.js +0 -8
  68. package/lib/esm/index.d.ts +0 -5
  69. package/lib/esm/index.js +0 -6
  70. package/lib/esm/parser.d.ts +0 -27
  71. package/lib/esm/parser.js +0 -714
  72. package/lib/esm/scanner.d.ts +0 -41
  73. package/lib/esm/scanner.js +0 -581
  74. package/lib/esm/service/codeAction.d.ts +0 -12
  75. package/lib/esm/service/codeAction.js +0 -207
  76. package/lib/esm/service/colorProvider.d.ts +0 -5
  77. package/lib/esm/service/colorProvider.js +0 -54
  78. package/lib/esm/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.d.ts +0 -10
  79. package/lib/esm/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.js +0 -38
  80. package/lib/esm/service/command/ChangeEdgeOpCommand.d.ts +0 -10
  81. package/lib/esm/service/command/ChangeEdgeOpCommand.js +0 -30
  82. package/lib/esm/service/command/ConsolidateDescendantsCommand.d.ts +0 -10
  83. package/lib/esm/service/command/ConsolidateDescendantsCommand.js +0 -83
  84. package/lib/esm/service/command/RemoveSemicolons.d.ts +0 -10
  85. package/lib/esm/service/command/RemoveSemicolons.js +0 -35
  86. package/lib/esm/service/command/common.d.ts +0 -31
  87. package/lib/esm/service/command/common.js +0 -25
  88. package/lib/esm/service/completion.d.ts +0 -4
  89. package/lib/esm/service/completion.js +0 -137
  90. package/lib/esm/service/hover.d.ts +0 -4
  91. package/lib/esm/service/hover.js +0 -135
  92. package/lib/esm/service/languageFacts.d.ts +0 -683
  93. package/lib/esm/service/languageFacts.js +0 -993
  94. package/lib/esm/service/reference.d.ts +0 -5
  95. package/lib/esm/service/reference.js +0 -63
  96. package/lib/esm/service/rename.d.ts +0 -4
  97. package/lib/esm/service/rename.js +0 -48
  98. package/lib/esm/service/service.d.ts +0 -28
  99. package/lib/esm/service/service.js +0 -35
  100. package/lib/esm/service/util.d.ts +0 -11
  101. package/lib/esm/service/util.js +0 -42
  102. package/lib/esm/service/validation.d.ts +0 -4
  103. package/lib/esm/service/validation.js +0 -20
  104. package/lib/esm/tester.d.ts +0 -1
  105. package/lib/esm/tester.js +0 -21
  106. package/lib/esm/types.d.ts +0 -397
  107. package/lib/esm/types.js +0 -71
  108. package/lib/esm/visitor.d.ts +0 -2
  109. package/lib/esm/visitor.js +0 -73
package/lib/cjs/parser.js DELETED
@@ -1,664 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var _Parser_instances, _Parser_resetState, _Parser_nextToken, _Parser_token, _Parser_getLinesFromFile, _Parser_parseGraph, _Parser_parseIdentifier, _Parser_registerIdentifier, _Parser_parseTextIdentifier, _Parser_parseQuotedTextIdentifierConcatenation, _Parser_parseQuotedTextIdentifier, _Parser_isQuotedStringFollowing, _Parser_parseHtmlIdentifier, _Parser_parseNumericIdentifier, _Parser_parseStatement, _Parser_parseAttributeStatement, _Parser_parseAttributeContainer, _Parser_isAssignmentStart, _Parser_parseIdEqualsIdStatement, _Parser_isIdEqualsIdStatement, _Parser_parseNodeStatement, _Parser_parseEdgeStatement, _Parser_parseEdgeRhs, _Parser_createMissingNode, _Parser_parseAssignment, _Parser_parseSubGraph, _Parser_parseNodeId, _Parser_parseCompassPortDeclaration, _Parser_parseNormalPortDeclaration, _Parser_parsePortDeclaration, _Parser_isCompassPort, _Parser_parseList, _Parser_getContextParseError, _Parser_isInSomeParsingContext, _Parser_abortListParsing, _Parser_isListElement, _Parser_isListTerminator, _Parser_createEmptyArray, _Parser_finishNode, _Parser_createNode, _Parser_createNodeArray, _Parser_parseTokenNode, _Parser_getLastError, _Parser_parseErrorAtPosition, _Parser_parseErrorAtCurrentToken, _Parser_scanError, _Parser_reportExpectedError, _Parser_parseExpectedOneOf, _Parser_parseExpectedTokenOneOf, _Parser_parseExpectedToken, _Parser_parseExpected, _Parser_parseOptionalToken, _Parser_parseOptional, _Parser_isEdgeOp, _Parser_isIdentifier, _Parser_isCompassPortKind, _Parser_speculationHelper, _Parser_lookAhead, _Parser_tryParse;
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Parser = exports.ParsingContext = void 0;
10
- exports.isIdentifier = isIdentifier;
11
- exports.isIdentifierNode = isIdentifierNode;
12
- const scanner_js_1 = require("./scanner.js");
13
- const util_js_1 = require("./service/util.js");
14
- const types_1 = require("./types");
15
- var ParsingContext;
16
- (function (ParsingContext) {
17
- ParsingContext[ParsingContext["None"] = 0] = "None";
18
- ParsingContext[ParsingContext["StatementList"] = 1] = "StatementList";
19
- ParsingContext[ParsingContext["AttributeContainerList"] = 2] = "AttributeContainerList";
20
- ParsingContext[ParsingContext["AssignmentList"] = 3] = "AssignmentList";
21
- ParsingContext[ParsingContext["EdgeRhsList"] = 4] = "EdgeRhsList";
22
- ParsingContext[ParsingContext["QuotedTextIdentifierConcatenation"] = 5] = "QuotedTextIdentifierConcatenation";
23
- ParsingContext[ParsingContext["Count"] = 6] = "Count";
24
- })(ParsingContext || (exports.ParsingContext = ParsingContext = {}));
25
- class Parser {
26
- constructor() {
27
- _Parser_instances.add(this);
28
- this.currentToken = types_1.SyntaxKind.Unknown;
29
- this.identifierCount = 0;
30
- this.scanner = new scanner_js_1.DefaultScanner();
31
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_resetState).call(this);
32
- }
33
- parse(sourceText) {
34
- this.sourceText = sourceText;
35
- this.scanner.setText(this.sourceText);
36
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
37
- let graph;
38
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) !== types_1.SyntaxKind.EndOfFileToken) {
39
- graph = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseGraph).call(this);
40
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) !== types_1.SyntaxKind.EndOfFileToken) {
41
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseErrorAtPosition).call(this, this.scanner.tokenPos, this.scanner.text.length - 1, "Content after the end of a graph declaration is invalid.", { source: 2, sub: 1 });
42
- }
43
- }
44
- const result = {
45
- content: this.sourceText,
46
- graph,
47
- identifiers: this.identifiers,
48
- diagnostics: this.diagnostics,
49
- };
50
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_resetState).call(this);
51
- return result;
52
- }
53
- }
54
- exports.Parser = Parser;
55
- _Parser_instances = new WeakSet(), _Parser_resetState = function _Parser_resetState() {
56
- this.sourceText = "";
57
- this.scanner.setText(this.sourceText);
58
- this.scanner.setErrorCallback(__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_scanError).bind(this));
59
- this.identifierCount = 0;
60
- this.identifiers = new Set();
61
- this.nodeCount = 0;
62
- this.diagnostics = [];
63
- this.currentNodeHasError = false;
64
- this.currentContext = ParsingContext.None;
65
- }, _Parser_nextToken = function _Parser_nextToken() {
66
- this.currentToken = this.scanner.scan(true);
67
- return this.currentToken;
68
- }, _Parser_token = function _Parser_token() {
69
- return this.currentToken;
70
- }, _Parser_getLinesFromFile = function _Parser_getLinesFromFile(sourceText) {
71
- return sourceText.split(/\r?\n/);
72
- }, _Parser_parseGraph = function _Parser_parseGraph() {
73
- const strictToken = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, types_1.SyntaxKind.StrictKeyword);
74
- const keyword = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedTokenOneOf).call(this, types_1.SyntaxKind.DigraphKeyword, [
75
- types_1.SyntaxKind.DigraphKeyword,
76
- types_1.SyntaxKind.GraphKeyword,
77
- ]);
78
- const kind = keyword === undefined || keyword.kind === types_1.SyntaxKind.DigraphKeyword
79
- ? types_1.SyntaxKind.DirectedGraph
80
- : types_1.SyntaxKind.UndirectedGraph;
81
- const graphStart = strictToken ? strictToken.pos : keyword.pos;
82
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, kind, graphStart);
83
- node.strict = strictToken;
84
- node.keyword = keyword;
85
- node.id = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier).call(this) ? __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdentifier).call(this) : undefined;
86
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.OpenBraceToken);
87
- node.statements = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseList).call(this, ParsingContext.StatementList, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseStatement).call(this));
88
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.CloseBraceToken);
89
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
90
- }, _Parser_parseIdentifier = function _Parser_parseIdentifier() {
91
- let result;
92
- const escapedIdTexts = [];
93
- switch (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this)) {
94
- case types_1.SyntaxKind.TextIdentifier:
95
- result = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseTextIdentifier).call(this);
96
- escapedIdTexts.push(result.text);
97
- break;
98
- case types_1.SyntaxKind.StringLiteral:
99
- result = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseQuotedTextIdentifierConcatenation).call(this);
100
- escapedIdTexts.push(...result.values.map(v => v.text));
101
- break;
102
- case types_1.SyntaxKind.HtmlIdentifier:
103
- result = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseHtmlIdentifier).call(this);
104
- escapedIdTexts.push(result.htmlContent);
105
- break;
106
- case types_1.SyntaxKind.NumericIdentifier:
107
- result = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseNumericIdentifier).call(this);
108
- escapedIdTexts.push(result.text);
109
- break;
110
- default:
111
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_reportExpectedError).call(this, [types_1.SyntaxKind.TextIdentifier]);
112
- result = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createMissingNode).call(this, types_1.SyntaxKind.TextIdentifier);
113
- break;
114
- }
115
- for (const i of escapedIdTexts) {
116
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_registerIdentifier).call(this, i);
117
- }
118
- return result;
119
- }, _Parser_registerIdentifier = function _Parser_registerIdentifier(id) {
120
- this.identifierCount++;
121
- const has = this.identifiers.has(id);
122
- if (!has)
123
- this.identifiers.add(id);
124
- }, _Parser_parseTextIdentifier = function _Parser_parseTextIdentifier() {
125
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.TextIdentifier);
126
- const text = this.scanner.tokenValue;
127
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
128
- if (text === undefined)
129
- throw "Satisfy type checker";
130
- node.text = text;
131
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
132
- }, _Parser_parseQuotedTextIdentifierConcatenation = function _Parser_parseQuotedTextIdentifierConcatenation() {
133
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.QuotedTextIdentifier);
134
- node.values = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseList).call(this, ParsingContext.QuotedTextIdentifierConcatenation, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseQuotedTextIdentifier).call(this), true);
135
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
136
- }, _Parser_parseQuotedTextIdentifier = function _Parser_parseQuotedTextIdentifier() {
137
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.StringLiteral);
138
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.PlusToken)
139
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
140
- const text = this.scanner.tokenValue;
141
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
142
- if (text === undefined)
143
- throw "Satisfy type checker";
144
- node.text = text;
145
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
146
- }, _Parser_isQuotedStringFollowing = function _Parser_isQuotedStringFollowing() {
147
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
148
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.StringLiteral;
149
- }, _Parser_parseHtmlIdentifier = function _Parser_parseHtmlIdentifier() {
150
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.HtmlIdentifier);
151
- const text = this.scanner.tokenValue;
152
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
153
- if (text === undefined)
154
- throw "Satisfy type checker";
155
- node.htmlContent = text;
156
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
157
- }, _Parser_parseNumericIdentifier = function _Parser_parseNumericIdentifier() {
158
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.NumericIdentifier);
159
- const text = this.scanner.tokenValue;
160
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
161
- if (text === undefined)
162
- throw "Satisfy type checker";
163
- node.text = text;
164
- node.value = Number(text);
165
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
166
- }, _Parser_parseStatement = function _Parser_parseStatement() {
167
- switch (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this)) {
168
- case types_1.SyntaxKind.GraphKeyword:
169
- case types_1.SyntaxKind.NodeKeyword:
170
- case types_1.SyntaxKind.EdgeKeyword:
171
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseAttributeStatement).call(this);
172
- case types_1.SyntaxKind.OpenBraceToken:
173
- case types_1.SyntaxKind.SubgraphKeyword: {
174
- const subgraph = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseSubGraph).call(this);
175
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.SemicolonToken) {
176
- const subgraphStatement = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.SubGraphStatement, subgraph.pos);
177
- subgraphStatement.subgraph = subgraph;
178
- subgraphStatement.terminator = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.SemicolonToken);
179
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, subgraphStatement);
180
- }
181
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isEdgeOp).call(this))
182
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseEdgeStatement).call(this, subgraph);
183
- const subgraphStatement = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.SubGraphStatement, subgraph.pos);
184
- subgraphStatement.subgraph = subgraph;
185
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, subgraphStatement);
186
- }
187
- default: {
188
- if (!__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier))
189
- debugger;
190
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_lookAhead).call(this, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdEqualsIdStatement).call(this))) {
191
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdEqualsIdStatement).call(this);
192
- }
193
- const ns = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseNodeStatement).call(this);
194
- if (ns.terminator !== undefined || ns.attributes.length !== 0)
195
- return ns;
196
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isEdgeOp).call(this))
197
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseEdgeStatement).call(this, ns.id);
198
- return ns;
199
- }
200
- }
201
- }, _Parser_parseAttributeStatement = function _Parser_parseAttributeStatement() {
202
- switch (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this)) {
203
- case types_1.SyntaxKind.GraphKeyword:
204
- case types_1.SyntaxKind.NodeKeyword:
205
- case types_1.SyntaxKind.EdgeKeyword: {
206
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.AttributeStatement);
207
- node.subject = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseTokenNode).call(this);
208
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.OpenBracketToken) {
209
- node.attributes = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseList).call(this, ParsingContext.AttributeContainerList, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseAttributeContainer).call(this));
210
- }
211
- else {
212
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_reportExpectedError).call(this, [types_1.SyntaxKind.OpenBracketToken]);
213
- const missingStatement = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createMissingNode).call(this, types_1.SyntaxKind.AttributeStatement);
214
- missingStatement.attributes = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNodeArray).call(this, [__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createMissingNode).call(this, types_1.SyntaxKind.AttributeContainer)], this.scanner.tokenPos, this.scanner.tokenPos);
215
- }
216
- node.terminator = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, types_1.SyntaxKind.SemicolonToken);
217
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
218
- }
219
- default:
220
- throw "This should never happen";
221
- }
222
- }, _Parser_parseAttributeContainer = function _Parser_parseAttributeContainer() {
223
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) !== types_1.SyntaxKind.OpenBracketToken)
224
- debugger;
225
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.AttributeContainer);
226
- node.openBracket = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.OpenBracketToken);
227
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier).call(this) && __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_lookAhead).call(this, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isAssignmentStart).call(this))) {
228
- node.assignments = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseList).call(this, ParsingContext.AssignmentList, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseAssignment).call(this));
229
- }
230
- else {
231
- node.assignments = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createEmptyArray).call(this);
232
- }
233
- node.closeBracket = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.CloseBracketToken);
234
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
235
- }, _Parser_isAssignmentStart = function _Parser_isAssignmentStart() {
236
- if (!__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier))
237
- debugger;
238
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
239
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.EqualsToken;
240
- }, _Parser_parseIdEqualsIdStatement = function _Parser_parseIdEqualsIdStatement() {
241
- if (!__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier))
242
- debugger;
243
- const leftIdentifier = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdentifier).call(this);
244
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.IdEqualsIdStatement, leftIdentifier.pos);
245
- node.leftId = leftIdentifier;
246
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) !== types_1.SyntaxKind.EqualsToken)
247
- debugger;
248
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.EqualsToken);
249
- node.rightId = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdentifier).call(this);
250
- node.terminator = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, types_1.SyntaxKind.SemicolonToken);
251
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
252
- }, _Parser_isIdEqualsIdStatement = function _Parser_isIdEqualsIdStatement() {
253
- if (!__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier))
254
- debugger;
255
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
256
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.EqualsToken;
257
- }, _Parser_parseNodeStatement = function _Parser_parseNodeStatement() {
258
- if (!__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier))
259
- debugger;
260
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.NodeStatement);
261
- node.id = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseNodeId).call(this);
262
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.OpenBracketToken) {
263
- node.attributes = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseList).call(this, ParsingContext.AttributeContainerList, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseAttributeContainer).call(this));
264
- }
265
- else {
266
- node.attributes = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createEmptyArray).call(this);
267
- }
268
- node.terminator = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, types_1.SyntaxKind.SemicolonToken);
269
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
270
- }, _Parser_parseEdgeStatement = function _Parser_parseEdgeStatement(precedingItem) {
271
- console.assert(precedingItem.kind === types_1.SyntaxKind.SubGraph || precedingItem.kind === types_1.SyntaxKind.NodeId);
272
- console.assert(precedingItem.pos !== undefined);
273
- if (!__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isEdgeOp).call(this))
274
- debugger;
275
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.EdgeStatement, precedingItem.pos);
276
- node.source = precedingItem;
277
- node.rhs = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseList).call(this, ParsingContext.EdgeRhsList, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseEdgeRhs).call(this));
278
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.OpenBracketToken) {
279
- node.attributes = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseList).call(this, ParsingContext.AttributeContainerList, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseAttributeContainer).call(this));
280
- }
281
- else {
282
- node.attributes = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createEmptyArray).call(this);
283
- }
284
- node.terminator = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, types_1.SyntaxKind.SemicolonToken);
285
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
286
- }, _Parser_parseEdgeRhs = function _Parser_parseEdgeRhs() {
287
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.EdgeRhs);
288
- const op = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedTokenOneOf).call(this, types_1.SyntaxKind.DirectedEdgeOp, [
289
- types_1.SyntaxKind.DirectedEdgeOp,
290
- types_1.SyntaxKind.UndirectedEdgeOp,
291
- ]);
292
- node.operation = op;
293
- switch (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this)) {
294
- case types_1.SyntaxKind.SubgraphKeyword:
295
- case types_1.SyntaxKind.OpenBraceToken:
296
- node.target = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseSubGraph).call(this);
297
- break;
298
- default: {
299
- node.target = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseNodeId).call(this);
300
- break;
301
- }
302
- }
303
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
304
- }, _Parser_createMissingNode = function _Parser_createMissingNode(kind) {
305
- const result = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, kind);
306
- if (isIdentifierNode(result)) {
307
- switch (result.kind) {
308
- case types_1.SyntaxKind.QuotedTextIdentifier: {
309
- const literal = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.StringLiteral);
310
- literal.text = "";
311
- const values = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNodeArray).call(this, [literal], result.pos, result.pos);
312
- result.values = values;
313
- break;
314
- }
315
- case types_1.SyntaxKind.HtmlIdentifier:
316
- result.htmlContent = "";
317
- break;
318
- case types_1.SyntaxKind.TextIdentifier:
319
- case types_1.SyntaxKind.NumericIdentifier:
320
- result.text = "";
321
- break;
322
- }
323
- }
324
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, result);
325
- }, _Parser_parseAssignment = function _Parser_parseAssignment() {
326
- if (!__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier))
327
- debugger;
328
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.Assignment);
329
- node.leftId = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdentifier).call(this);
330
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.EqualsToken);
331
- node.rightId = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdentifier).call(this);
332
- let terminator = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, types_1.SyntaxKind.CommaToken);
333
- if (terminator === undefined)
334
- terminator = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, types_1.SyntaxKind.SemicolonToken);
335
- node.terminator = terminator;
336
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
337
- }, _Parser_parseSubGraph = function _Parser_parseSubGraph() {
338
- console.assert(__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.SubgraphKeyword ||
339
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.OpenBraceToken);
340
- const subGraph = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, types_1.SyntaxKind.SubgraphKeyword);
341
- const subGraphStart = subGraph !== undefined ? subGraph.pos : undefined;
342
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.SubGraph, subGraphStart);
343
- const identifier = subGraph !== undefined && __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier).call(this) ? __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdentifier).call(this) : undefined;
344
- node.id = identifier;
345
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.OpenBraceToken);
346
- node.statements = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseList).call(this, ParsingContext.StatementList, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseStatement).call(this));
347
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseExpectedToken).call(this, types_1.SyntaxKind.CloseBraceToken);
348
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
349
- }, _Parser_parseNodeId = function _Parser_parseNodeId() {
350
- if (!__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier))
351
- debugger;
352
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.NodeId);
353
- node.id = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdentifier).call(this);
354
- node.port =
355
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.ColonToken ? __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parsePortDeclaration).call(this) : undefined;
356
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
357
- }, _Parser_parseCompassPortDeclaration = function _Parser_parseCompassPortDeclaration() {
358
- console.assert(__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.ColonToken);
359
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.CompassPortDeclaration);
360
- node.colon = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseTokenNode).call(this);
361
- node.compassPt = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseTokenNode).call(this);
362
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
363
- }, _Parser_parseNormalPortDeclaration = function _Parser_parseNormalPortDeclaration() {
364
- console.assert(__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.ColonToken);
365
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, types_1.SyntaxKind.NormalPortDeclaration);
366
- node.colon = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseTokenNode).call(this);
367
- node.id = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseIdentifier).call(this);
368
- node.compassPt =
369
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.ColonToken
370
- ? __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseCompassPortDeclaration).call(this)
371
- : undefined;
372
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
373
- }, _Parser_parsePortDeclaration = function _Parser_parsePortDeclaration() {
374
- console.assert(__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.ColonToken);
375
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_lookAhead).call(this, () => __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isCompassPort).call(this)))
376
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseCompassPortDeclaration).call(this);
377
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseNormalPortDeclaration).call(this);
378
- }, _Parser_isCompassPort = function _Parser_isCompassPort() {
379
- console.assert(__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.ColonToken);
380
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) !== types_1.SyntaxKind.ColonToken)
381
- return false;
382
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
383
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isCompassPortKind).call(this, __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this));
384
- }, _Parser_parseList = function _Parser_parseList(context, parseElement, atLeastOne = false) {
385
- const saveParsingContext = this.currentContext;
386
- this.currentContext |= 1 << context;
387
- let isListTerminated = atLeastOne ? false : __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isListTerminator).call(this, context);
388
- const startPos = this.scanner.startPos;
389
- const elements = [];
390
- while (!isListTerminated) {
391
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isListElement).call(this, context, false)) {
392
- const element = parseElement();
393
- elements.push(element);
394
- isListTerminated = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isListTerminator).call(this, context);
395
- continue;
396
- }
397
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_abortListParsing).call(this, context))
398
- break;
399
- }
400
- this.currentContext = saveParsingContext;
401
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNodeArray).call(this, elements, startPos);
402
- }, _Parser_getContextParseError = function _Parser_getContextParseError(context) {
403
- switch (context) {
404
- case ParsingContext.StatementList:
405
- return "Assignment, node definition, graph/node/edge attribute or edge definition expected.";
406
- case ParsingContext.AssignmentList:
407
- return "Assignment expected.";
408
- case ParsingContext.EdgeRhsList:
409
- return "Edge operation expected.";
410
- case ParsingContext.QuotedTextIdentifierConcatenation:
411
- return "Quoted identifier expected";
412
- case ParsingContext.AttributeContainerList:
413
- return "Attribute marker expected.";
414
- case ParsingContext.None:
415
- return "Wat, no parsing context";
416
- case ParsingContext.Count:
417
- return "Wat, 'Count' parsing context";
418
- default:
419
- return (0, util_js_1.assertNever)(context);
420
- }
421
- }, _Parser_isInSomeParsingContext = function _Parser_isInSomeParsingContext() {
422
- for (let ctx = 0; ctx < ParsingContext.Count; ctx++) {
423
- if (this.currentContext & (1 << ctx)) {
424
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isListElement).call(this, ctx, true) ||
425
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isListTerminator).call(this, ctx)) {
426
- return true;
427
- }
428
- }
429
- }
430
- return false;
431
- }, _Parser_abortListParsing = function _Parser_abortListParsing(context) {
432
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseErrorAtCurrentToken).call(this, __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_getContextParseError).call(this, context), 2);
433
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isInSomeParsingContext).call(this)) {
434
- return true;
435
- }
436
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
437
- return false;
438
- }, _Parser_isListElement = function _Parser_isListElement(context, _inErrorRecovery) {
439
- switch (context) {
440
- case ParsingContext.AssignmentList:
441
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier).call(this);
442
- case ParsingContext.AttributeContainerList:
443
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.OpenBracketToken;
444
- case ParsingContext.EdgeRhsList:
445
- return (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.DirectedEdgeOp ||
446
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.UndirectedEdgeOp);
447
- case ParsingContext.QuotedTextIdentifierConcatenation:
448
- return (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.StringLiteral ||
449
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.PlusToken);
450
- case ParsingContext.StatementList:
451
- return (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier).call(this) ||
452
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.SubgraphKeyword ||
453
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.OpenBraceToken ||
454
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.GraphKeyword ||
455
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.EdgeKeyword ||
456
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.NodeKeyword);
457
- default:
458
- throw "This should never happen";
459
- }
460
- }, _Parser_isListTerminator = function _Parser_isListTerminator(context) {
461
- const token = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this);
462
- if (token === types_1.SyntaxKind.EndOfFileToken)
463
- return true;
464
- switch (context) {
465
- case ParsingContext.StatementList:
466
- return token === types_1.SyntaxKind.CloseBraceToken;
467
- case ParsingContext.AttributeContainerList:
468
- return token !== types_1.SyntaxKind.OpenBracketToken;
469
- case ParsingContext.AssignmentList:
470
- return token === types_1.SyntaxKind.CloseBracketToken;
471
- case ParsingContext.EdgeRhsList:
472
- return token !== types_1.SyntaxKind.DirectedEdgeOp && token !== types_1.SyntaxKind.UndirectedEdgeOp;
473
- case ParsingContext.QuotedTextIdentifierConcatenation:
474
- return token !== types_1.SyntaxKind.PlusToken;
475
- default:
476
- throw "Unsupported parsing context";
477
- }
478
- }, _Parser_createEmptyArray = function _Parser_createEmptyArray() {
479
- const startPos = this.scanner.startPos;
480
- const elements = [];
481
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNodeArray).call(this, elements, startPos);
482
- }, _Parser_finishNode = function _Parser_finishNode(node, end) {
483
- node.end = end === undefined ? this.scanner.startPos : end;
484
- if (this.currentNodeHasError) {
485
- this.currentNodeHasError = false;
486
- node.flags |= 2;
487
- }
488
- return node;
489
- }, _Parser_createNode = function _Parser_createNode(kind, pos) {
490
- this.nodeCount++;
491
- const p = pos !== undefined && pos >= 0 ? pos : this.scanner.startPos;
492
- if (isNodeKind(kind) || kind === types_1.SyntaxKind.Unknown)
493
- return newNode(kind, p, p);
494
- return isIdentifier(kind) ? newIdentifier(kind, p, p) : newToken(kind, p, p);
495
- }, _Parser_createNodeArray = function _Parser_createNodeArray(elements, pos, end) {
496
- const length = elements.length;
497
- const array = ((length >= 1 && length <= 4 ? elements.slice() : elements));
498
- array.pos = pos;
499
- array.end = end === undefined ? this.scanner.startPos : end;
500
- return array;
501
- }, _Parser_parseTokenNode = function _Parser_parseTokenNode() {
502
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this));
503
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
504
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
505
- }, _Parser_getLastError = function _Parser_getLastError(diagnostics) {
506
- return diagnostics && diagnostics.length > 0
507
- ? diagnostics[diagnostics.length - 1]
508
- : undefined;
509
- }, _Parser_parseErrorAtPosition = function _Parser_parseErrorAtPosition(start, end, message, code) {
510
- const ds = this.diagnostics;
511
- const lastError = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_getLastError).call(this, ds);
512
- if (!lastError || start !== lastError.start) {
513
- ds.push({
514
- category: types_1.DiagnosticCategory.Error,
515
- start,
516
- end,
517
- message,
518
- code,
519
- });
520
- }
521
- this.currentNodeHasError = true;
522
- }, _Parser_parseErrorAtCurrentToken = function _Parser_parseErrorAtCurrentToken(message, sub) {
523
- const error = {
524
- source: 2,
525
- sub,
526
- };
527
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseErrorAtPosition).call(this, this.scanner.tokenPos, this.scanner.pos, message, error);
528
- }, _Parser_scanError = function _Parser_scanError(message, _category, sub, length) {
529
- const errorPos = this.scanner.pos;
530
- const err = {
531
- source: 1,
532
- sub,
533
- };
534
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseErrorAtPosition).call(this, errorPos, errorPos + length, message, err);
535
- }, _Parser_reportExpectedError = function _Parser_reportExpectedError(expectedKinds) {
536
- const found = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_isIdentifier).call(this)
537
- ? "identifier"
538
- : __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === types_1.SyntaxKind.EndOfFileToken
539
- ? "end of file"
540
- : `"${(0, scanner_js_1.getTokenAsText)(__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this))}"`;
541
- const expected = expectedKinds.map(k => {
542
- if (isIdentifier(k)) {
543
- return "identifier";
544
- }
545
- if (k === types_1.SyntaxKind.EndOfFileToken) {
546
- return "end of file";
547
- }
548
- return `"${(0, scanner_js_1.getTokenAsText)(k)}"`;
549
- });
550
- const lastExpected = expected.pop();
551
- const expectedJoined = expected.join(", ");
552
- const msg = expected.length > 0
553
- ? `Expected ${expectedJoined} or ${lastExpected} but found ${found} instead.`
554
- : `Expected ${lastExpected} but found ${found} instead.`;
555
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseErrorAtCurrentToken).call(this, msg, 0);
556
- }, _Parser_parseExpectedOneOf = function _Parser_parseExpectedOneOf(...kinds) {
557
- if (kinds.length < 2) {
558
- console.assert(false);
559
- debugger;
560
- }
561
- for (const kind of kinds) {
562
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === kind) {
563
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
564
- return true;
565
- }
566
- }
567
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_reportExpectedError).call(this, kinds);
568
- return false;
569
- }, _Parser_parseExpectedTokenOneOf = function _Parser_parseExpectedTokenOneOf(fallback, kinds) {
570
- if (kinds.length < 2) {
571
- console.assert(false);
572
- debugger;
573
- }
574
- for (const kind of kinds) {
575
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === kind) {
576
- const node = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createNode).call(this, __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this));
577
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
578
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_finishNode).call(this, node);
579
- }
580
- }
581
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_reportExpectedError).call(this, kinds);
582
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createMissingNode).call(this, fallback);
583
- }, _Parser_parseExpectedToken = function _Parser_parseExpectedToken(kind) {
584
- const tokenNode = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptionalToken).call(this, kind);
585
- if (tokenNode !== undefined)
586
- return tokenNode;
587
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_reportExpectedError).call(this, [kind]);
588
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_createMissingNode).call(this, kind);
589
- }, _Parser_parseExpected = function _Parser_parseExpected(kind) {
590
- const res = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseOptional).call(this, kind);
591
- if (!res)
592
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_reportExpectedError).call(this, [kind]);
593
- return res;
594
- }, _Parser_parseOptionalToken = function _Parser_parseOptionalToken(t) {
595
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === t) {
596
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_parseTokenNode).call(this);
597
- }
598
- return undefined;
599
- }, _Parser_parseOptional = function _Parser_parseOptional(t) {
600
- if (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this) === t) {
601
- __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_nextToken).call(this);
602
- return true;
603
- }
604
- return false;
605
- }, _Parser_isEdgeOp = function _Parser_isEdgeOp() {
606
- switch (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this)) {
607
- case types_1.SyntaxKind.DirectedEdgeOp:
608
- case types_1.SyntaxKind.UndirectedEdgeOp:
609
- return true;
610
- default:
611
- return false;
612
- }
613
- }, _Parser_isIdentifier = function _Parser_isIdentifier() {
614
- switch (__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this)) {
615
- case types_1.SyntaxKind.TextIdentifier:
616
- case types_1.SyntaxKind.NumericIdentifier:
617
- case types_1.SyntaxKind.StringLiteral:
618
- case types_1.SyntaxKind.HtmlIdentifier:
619
- return true;
620
- default:
621
- return false;
622
- }
623
- }, _Parser_isCompassPortKind = function _Parser_isCompassPortKind(kind) {
624
- return kind >= types_1.SyntaxKind.CompassCenterToken && kind <= types_1.SyntaxKind.CompassEnd;
625
- }, _Parser_speculationHelper = function _Parser_speculationHelper(callback, isLookAhead) {
626
- const saveToken = __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_token).call(this);
627
- const saveDiagnosticsLength = this.diagnostics.length;
628
- const result = isLookAhead
629
- ? this.scanner.lookAhead(callback)
630
- : this.scanner.tryScan(callback);
631
- if (!result || isLookAhead) {
632
- this.currentToken = saveToken;
633
- this.diagnostics.length = saveDiagnosticsLength;
634
- }
635
- return result;
636
- }, _Parser_lookAhead = function _Parser_lookAhead(callback) {
637
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_speculationHelper).call(this, callback, true);
638
- }, _Parser_tryParse = function _Parser_tryParse(callback) {
639
- return __classPrivateFieldGet(this, _Parser_instances, "m", _Parser_speculationHelper).call(this, callback, false);
640
- };
641
- function newNode(kind, pos, end) {
642
- return {
643
- kind,
644
- flags: 0,
645
- end,
646
- pos,
647
- parent: undefined,
648
- };
649
- }
650
- const newIdentifier = newNode;
651
- const newToken = newNode;
652
- function isNodeKind(kind) {
653
- return kind >= types_1.SyntaxKind.FirstNode;
654
- }
655
- function isIdentifier(kind) {
656
- return (kind === types_1.SyntaxKind.HtmlIdentifier ||
657
- kind === types_1.SyntaxKind.NumericIdentifier ||
658
- kind === types_1.SyntaxKind.TextIdentifier ||
659
- kind === types_1.SyntaxKind.QuotedTextIdentifier);
660
- }
661
- function isIdentifierNode(node) {
662
- return isIdentifier(node.kind);
663
- }
664
- //# sourceMappingURL=parser.js.map