@zzzen/pyright-internal 1.2.0-beta → 1.2.0-dev.20220710

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 (130) hide show
  1. package/README.md +82 -1
  2. package/dist/analyzer/aliasDeclarationUtils.js +2 -2
  3. package/dist/analyzer/analyzerFileInfo.d.ts +2 -1
  4. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  5. package/dist/analyzer/analyzerNodeInfo.d.ts +4 -1
  6. package/dist/analyzer/analyzerNodeInfo.js +12 -1
  7. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  8. package/dist/analyzer/binder.d.ts +6 -1
  9. package/dist/analyzer/binder.js +134 -31
  10. package/dist/analyzer/binder.js.map +1 -1
  11. package/dist/analyzer/checker.d.ts +4 -1
  12. package/dist/analyzer/checker.js +129 -48
  13. package/dist/analyzer/checker.js.map +1 -1
  14. package/dist/analyzer/codeFlowEngine.js +6 -1
  15. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  16. package/dist/analyzer/constraintSolver.js +8 -5
  17. package/dist/analyzer/constraintSolver.js.map +1 -1
  18. package/dist/analyzer/declaration.d.ts +18 -6
  19. package/dist/analyzer/declaration.js +19 -9
  20. package/dist/analyzer/declaration.js.map +1 -1
  21. package/dist/analyzer/declarationUtils.d.ts +1 -1
  22. package/dist/analyzer/declarationUtils.js +19 -16
  23. package/dist/analyzer/declarationUtils.js.map +1 -1
  24. package/dist/analyzer/functionTransform.js +2 -1
  25. package/dist/analyzer/functionTransform.js.map +1 -1
  26. package/dist/analyzer/packageTypeVerifier.js +6 -6
  27. package/dist/analyzer/parseTreeUtils.d.ts +3 -3
  28. package/dist/analyzer/parseTreeUtils.js +28 -18
  29. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  30. package/dist/analyzer/parseTreeWalker.d.ts +4 -1
  31. package/dist/analyzer/parseTreeWalker.js +19 -1
  32. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  33. package/dist/analyzer/patternMatching.js +1 -1
  34. package/dist/analyzer/patternMatching.js.map +1 -1
  35. package/dist/analyzer/program.d.ts +2 -2
  36. package/dist/analyzer/program.js +1 -1
  37. package/dist/analyzer/program.js.map +1 -1
  38. package/dist/analyzer/properties.js +2 -0
  39. package/dist/analyzer/properties.js.map +1 -1
  40. package/dist/analyzer/protocols.d.ts +0 -1
  41. package/dist/analyzer/protocols.js +1 -63
  42. package/dist/analyzer/protocols.js.map +1 -1
  43. package/dist/analyzer/service.d.ts +3 -2
  44. package/dist/analyzer/service.js +3 -2
  45. package/dist/analyzer/service.js.map +1 -1
  46. package/dist/analyzer/sourceFile.d.ts +6 -1
  47. package/dist/analyzer/sourceFile.js +17 -5
  48. package/dist/analyzer/sourceFile.js.map +1 -1
  49. package/dist/analyzer/tracePrinter.js +8 -4
  50. package/dist/analyzer/tracePrinter.js.map +1 -1
  51. package/dist/analyzer/typeDocStringUtils.js +1 -1
  52. package/dist/analyzer/typeEvaluator.js +692 -293
  53. package/dist/analyzer/typeEvaluator.js.map +1 -1
  54. package/dist/analyzer/typeEvaluatorTypes.d.ts +5 -3
  55. package/dist/analyzer/typeEvaluatorWithTracker.js +2 -0
  56. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  57. package/dist/analyzer/typeGuards.js +5 -0
  58. package/dist/analyzer/typeGuards.js.map +1 -1
  59. package/dist/analyzer/typePrinter.js +4 -1
  60. package/dist/analyzer/typePrinter.js.map +1 -1
  61. package/dist/analyzer/typeStubWriter.d.ts +4 -1
  62. package/dist/analyzer/typeStubWriter.js +36 -0
  63. package/dist/analyzer/typeStubWriter.js.map +1 -1
  64. package/dist/analyzer/typeUtils.d.ts +1 -1
  65. package/dist/analyzer/typeUtils.js +14 -9
  66. package/dist/analyzer/typeUtils.js.map +1 -1
  67. package/dist/analyzer/typedDicts.js +3 -1
  68. package/dist/analyzer/typedDicts.js.map +1 -1
  69. package/dist/analyzer/types.d.ts +13 -5
  70. package/dist/analyzer/types.js +34 -11
  71. package/dist/analyzer/types.js.map +1 -1
  72. package/dist/languageServerBase.d.ts +3 -2
  73. package/dist/languageServerBase.js +3 -2
  74. package/dist/languageServerBase.js.map +1 -1
  75. package/dist/languageService/autoImporter.js +1 -1
  76. package/dist/languageService/callHierarchyProvider.js +9 -9
  77. package/dist/languageService/completionProvider.js +19 -13
  78. package/dist/languageService/completionProvider.js.map +1 -1
  79. package/dist/languageService/definitionProvider.js +3 -3
  80. package/dist/languageService/documentSymbolCollector.js +1 -1
  81. package/dist/languageService/documentSymbolProvider.js +10 -7
  82. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  83. package/dist/languageService/hoverProvider.js +19 -5
  84. package/dist/languageService/hoverProvider.js.map +1 -1
  85. package/dist/languageService/indentationUtils.js +3 -2
  86. package/dist/languageService/indentationUtils.js.map +1 -1
  87. package/dist/languageService/insertionPointUtils.d.ts +9 -0
  88. package/dist/languageService/insertionPointUtils.js +110 -0
  89. package/dist/languageService/insertionPointUtils.js.map +1 -0
  90. package/dist/languageService/referencesProvider.js +8 -5
  91. package/dist/languageService/referencesProvider.js.map +1 -1
  92. package/dist/languageService/signatureHelpProvider.js +4 -2
  93. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  94. package/dist/languageService/tooltipUtils.js +1 -1
  95. package/dist/localization/localize.d.ts +27 -0
  96. package/dist/localization/localize.js +16 -0
  97. package/dist/localization/localize.js.map +1 -1
  98. package/dist/localization/package.nls.en-us.json +18 -2
  99. package/dist/parser/parseNodes.d.ts +41 -5
  100. package/dist/parser/parseNodes.js +83 -4
  101. package/dist/parser/parseNodes.js.map +1 -1
  102. package/dist/parser/parser.d.ts +5 -1
  103. package/dist/parser/parser.js +131 -13
  104. package/dist/parser/parser.js.map +1 -1
  105. package/dist/parser/tokenizer.d.ts +2 -1
  106. package/dist/parser/tokenizer.js +7 -5
  107. package/dist/parser/tokenizer.js.map +1 -1
  108. package/dist/parser/tokenizerTypes.d.ts +5 -3
  109. package/dist/parser/tokenizerTypes.js +6 -4
  110. package/dist/parser/tokenizerTypes.js.map +1 -1
  111. package/dist/tests/chainedSourceFiles.test.js +2 -1
  112. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  113. package/dist/tests/fourslash/import.multipart.fourslash.d.ts +1 -0
  114. package/dist/tests/fourslash/import.multipart.fourslash.js +18 -0
  115. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -0
  116. package/dist/tests/fourslash/signature.simple.fourslash.js +16 -0
  117. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  118. package/dist/tests/insertionPointUtils.test.d.ts +1 -0
  119. package/dist/tests/insertionPointUtils.test.js +74 -0
  120. package/dist/tests/insertionPointUtils.test.js.map +1 -0
  121. package/dist/tests/testUtils.js +2 -1
  122. package/dist/tests/testUtils.js.map +1 -1
  123. package/dist/tests/typeEvaluator3.test.js +8 -0
  124. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  125. package/dist/tests/typeEvaluator4.test.js +10 -0
  126. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  127. package/dist/tests/typeEvaluator5.test.d.ts +1 -0
  128. package/dist/tests/typeEvaluator5.test.js +118 -0
  129. package/dist/tests/typeEvaluator5.test.js.map +1 -0
  130. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"parseNodes.js","sourceRoot":"","sources":["../../../src/parser/parseNodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseNodes.js","sourceRoot":"","sources":["../../../src/parser/parseNodes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { IPythonMode } from '../analyzer/sourceFile';
1
2
  import { Diagnostic } from '../common/diagnostic';
2
3
  import { DiagnosticSink } from '../common/diagnosticSink';
3
4
  import { PythonVersion } from '../common/pythonVersion';
@@ -11,7 +12,7 @@ export declare class ParseOptions {
11
12
  pythonVersion: PythonVersion;
12
13
  reportInvalidStringEscapeSequence: boolean;
13
14
  skipFunctionAndClassBody: boolean;
14
- ipythonMode: boolean;
15
+ ipythonMode: IPythonMode;
15
16
  reportErrorsForParsedStringContents: boolean;
16
17
  }
17
18
  export interface ParseResults {
@@ -66,6 +67,9 @@ export declare class Parser {
66
67
  private _startNewParse;
67
68
  private _parseStatement;
68
69
  private _parseAsyncStatement;
70
+ private _parseTypeAliasStatement;
71
+ private _parseTypeParameterList;
72
+ private _parseTypeParameter;
69
73
  private _parseMatchStatement;
70
74
  private _parseCaseStatement;
71
75
  private _isPatternIrrefutable;
@@ -32,6 +32,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
34
  exports.Parser = exports.ParseOptions = void 0;
35
+ const sourceFile_1 = require("../analyzer/sourceFile");
35
36
  const collectionUtils_1 = require("../common/collectionUtils");
36
37
  const debug_1 = require("../common/debug");
37
38
  const diagnostic_1 = require("../common/diagnostic");
@@ -50,7 +51,7 @@ class ParseOptions {
50
51
  this.pythonVersion = pythonVersion_1.latestStablePythonVersion;
51
52
  this.reportInvalidStringEscapeSequence = false;
52
53
  this.skipFunctionAndClassBody = false;
53
- this.ipythonMode = false;
54
+ this.ipythonMode = sourceFile_1.IPythonMode.None;
54
55
  this.reportErrorsForParsedStringContents = false;
55
56
  }
56
57
  }
@@ -184,13 +185,13 @@ class Parser {
184
185
  switch (this._peekKeywordType()) {
185
186
  case 20 /* If */:
186
187
  return this._parseIfStatement();
187
- case 35 /* While */:
188
+ case 36 /* While */:
188
189
  return this._parseWhileStatement();
189
190
  case 17 /* For */:
190
191
  return this._parseForStatement();
191
192
  case 34 /* Try */:
192
193
  return this._parseTryStatement();
193
- case 36 /* With */:
194
+ case 37 /* With */:
194
195
  return this._parseWithStatement();
195
196
  case 10 /* Def */:
196
197
  return this._parseFunctionDef();
@@ -227,6 +228,7 @@ class Parser {
227
228
  return matchStatement;
228
229
  }
229
230
  }
231
+ break;
230
232
  }
231
233
  }
232
234
  if (this._peekOperatorType() === 22 /* MatrixMultiply */) {
@@ -240,7 +242,7 @@ class Parser {
240
242
  switch (this._peekKeywordType()) {
241
243
  case 10 /* Def */:
242
244
  return this._parseFunctionDef(asyncToken);
243
- case 36 /* With */:
245
+ case 37 /* With */:
244
246
  return this._parseWithStatement(asyncToken);
245
247
  case 17 /* For */:
246
248
  return this._parseForStatement(asyncToken);
@@ -248,6 +250,87 @@ class Parser {
248
250
  this._addError(localize_1.Localizer.Diagnostic.unexpectedAsyncToken(), asyncToken);
249
251
  return undefined;
250
252
  }
253
+ // type_alias_stmt: "type" name [type_param_seq] = expr
254
+ _parseTypeAliasStatement() {
255
+ const typeToken = this._getKeywordToken(35 /* Type */);
256
+ if (!this._parseOptions.isStubFile && this._getLanguageVersion() < pythonVersion_1.PythonVersion.V3_12) {
257
+ this._addError(localize_1.Localizer.Diagnostic.typeAliasStatementIllegal(), typeToken);
258
+ }
259
+ const nameToken = this._getTokenIfIdentifier();
260
+ (0, debug_1.assert)(nameToken !== undefined);
261
+ const name = parseNodes_1.NameNode.create(nameToken);
262
+ let typeParameters;
263
+ if (this._peekToken().type === 15 /* OpenBracket */) {
264
+ typeParameters = this._parseTypeParameterList();
265
+ }
266
+ const assignToken = this._peekToken();
267
+ if (assignToken.type !== 9 /* Operator */ ||
268
+ assignToken.operatorType !== 2 /* Assign */) {
269
+ this._addError(localize_1.Localizer.Diagnostic.expectedEquals(), assignToken);
270
+ }
271
+ else {
272
+ this._getNextToken();
273
+ }
274
+ const expression = this._parseOrTest();
275
+ return parseNodes_1.TypeAliasNode.create(typeToken, name, expression, typeParameters);
276
+ }
277
+ // type_param_seq: '[' (type_param ',')+ ']'
278
+ _parseTypeParameterList() {
279
+ const typeVariableNodes = [];
280
+ const openBracketToken = this._getNextToken();
281
+ (0, debug_1.assert)(openBracketToken.type === 15 /* OpenBracket */);
282
+ while (true) {
283
+ const firstToken = this._peekToken();
284
+ if (firstToken.type === 16 /* CloseBracket */) {
285
+ if (typeVariableNodes.length === 0) {
286
+ this._addError(localize_1.Localizer.Diagnostic.typeParametersMissing(), this._peekToken());
287
+ }
288
+ break;
289
+ }
290
+ const typeVarNode = this._parseTypeParameter();
291
+ if (!typeVarNode) {
292
+ break;
293
+ }
294
+ typeVariableNodes.push(typeVarNode);
295
+ if (!this._consumeTokenIfType(12 /* Comma */)) {
296
+ break;
297
+ }
298
+ }
299
+ const closingToken = this._peekToken();
300
+ if (closingToken.type !== 16 /* CloseBracket */) {
301
+ this._addError(localize_1.Localizer.Diagnostic.expectedCloseBracket(), this._peekToken());
302
+ this._consumeTokensUntilType([2 /* NewLine */, 16 /* CloseBracket */, 10 /* Colon */]);
303
+ }
304
+ else {
305
+ this._getNextToken();
306
+ }
307
+ return parseNodes_1.TypeParameterListNode.create(openBracketToken, closingToken, typeVariableNodes);
308
+ }
309
+ // type_param: ['*' | '**'] NAME [':' expr]
310
+ _parseTypeParameter() {
311
+ let typeParamCategory = parseNodes_1.TypeParameterCategory.TypeVar;
312
+ if (this._consumeTokenIfOperator(26 /* Multiply */)) {
313
+ typeParamCategory = parseNodes_1.TypeParameterCategory.TypeVarTuple;
314
+ }
315
+ else if (this._consumeTokenIfOperator(29 /* Power */)) {
316
+ typeParamCategory = parseNodes_1.TypeParameterCategory.ParamSpec;
317
+ }
318
+ const nameToken = this._getTokenIfIdentifier();
319
+ if (!nameToken) {
320
+ this._addError(localize_1.Localizer.Diagnostic.expectedTypeParameterName(), this._peekToken());
321
+ return undefined;
322
+ }
323
+ const name = parseNodes_1.NameNode.create(nameToken);
324
+ let boundExpression;
325
+ if (this._peekTokenType() === 10 /* Colon */) {
326
+ this._getNextToken();
327
+ boundExpression = this._parseTestExpression(/* allowAssignmentExpression */ false);
328
+ if (typeParamCategory !== parseNodes_1.TypeParameterCategory.TypeVar) {
329
+ this._addError(localize_1.Localizer.Diagnostic.typeParameterBoundNotAllowed(), boundExpression);
330
+ }
331
+ }
332
+ return parseNodes_1.TypeParameterNode.create(name, typeParamCategory, boundExpression);
333
+ }
251
334
  // match_stmt: "match" subject_expr ':' NEWLINE INDENT case_block+ DEDENT
252
335
  // subject_expr:
253
336
  // | star_named_expression ',' star_named_expressions?
@@ -1137,7 +1220,7 @@ class Parser {
1137
1220
  }
1138
1221
  // while_stmt: 'while' test suite ['else' suite]
1139
1222
  _parseWhileStatement() {
1140
- const whileToken = this._getKeywordToken(35 /* While */);
1223
+ const whileToken = this._getKeywordToken(36 /* While */);
1141
1224
  const whileNode = parseNodes_1.WhileNode.create(whileToken, this._parseTestExpression(/* allowAssignmentExpression */ true), this._parseLoopSuite());
1142
1225
  if (this._consumeTokenIfKeyword(13 /* Else */)) {
1143
1226
  whileNode.elseSuite = this._parseSuite(this._isInFunction);
@@ -1242,6 +1325,14 @@ class Parser {
1242
1325
  this._addError(localize_1.Localizer.Diagnostic.expectedFunctionName(), defToken);
1243
1326
  return parseNodes_1.ErrorNode.create(defToken, 10 /* MissingFunctionParameterList */, undefined, decorators);
1244
1327
  }
1328
+ let typeParameters;
1329
+ const possibleOpenBracket = this._peekToken();
1330
+ if (possibleOpenBracket.type === 15 /* OpenBracket */) {
1331
+ typeParameters = this._parseTypeParameterList();
1332
+ if (!this._parseOptions.isStubFile && this._getLanguageVersion() < pythonVersion_1.PythonVersion.V3_12) {
1333
+ this._addError(localize_1.Localizer.Diagnostic.functionTypeParametersIllegal(), typeParameters);
1334
+ }
1335
+ }
1245
1336
  const openParenToken = this._peekToken();
1246
1337
  if (!this._consumeTokenIfType(13 /* OpenParenthesis */)) {
1247
1338
  this._addError(localize_1.Localizer.Diagnostic.expectedOpenParen(), this._peekToken());
@@ -1262,7 +1353,7 @@ class Parser {
1262
1353
  functionTypeAnnotationToken = this._getTypeAnnotationCommentText();
1263
1354
  }
1264
1355
  });
1265
- const functionNode = parseNodes_1.FunctionNode.create(defToken, parseNodes_1.NameNode.create(nameToken), suite);
1356
+ const functionNode = parseNodes_1.FunctionNode.create(defToken, parseNodes_1.NameNode.create(nameToken), suite, typeParameters);
1266
1357
  if (asyncToken) {
1267
1358
  functionNode.isAsync = true;
1268
1359
  (0, parseNodes_1.extendRange)(functionNode, asyncToken);
@@ -1481,7 +1572,7 @@ class Parser {
1481
1572
  // Python 3.10 adds support for optional parentheses around
1482
1573
  // with_item list.
1483
1574
  _parseWithStatement(asyncToken) {
1484
- const withToken = this._getKeywordToken(36 /* With */);
1575
+ const withToken = this._getKeywordToken(37 /* With */);
1485
1576
  let withItemList = [];
1486
1577
  const possibleParen = this._peekToken();
1487
1578
  // If the expression starts with a paren, parse it as though the
@@ -1642,6 +1733,14 @@ class Parser {
1642
1733
  this._addError(localize_1.Localizer.Diagnostic.expectedClassName(), this._peekToken());
1643
1734
  nameToken = tokenizerTypes_1.IdentifierToken.create(0, 0, '', /* comments */ undefined);
1644
1735
  }
1736
+ let typeParameters;
1737
+ const possibleOpenBracket = this._peekToken();
1738
+ if (possibleOpenBracket.type === 15 /* OpenBracket */) {
1739
+ typeParameters = this._parseTypeParameterList();
1740
+ if (!this._parseOptions.isStubFile && this._getLanguageVersion() < pythonVersion_1.PythonVersion.V3_12) {
1741
+ this._addError(localize_1.Localizer.Diagnostic.classTypeParametersIllegal(), typeParameters);
1742
+ }
1743
+ }
1645
1744
  let argList = [];
1646
1745
  const openParenToken = this._peekToken();
1647
1746
  if (this._consumeTokenIfType(13 /* OpenParenthesis */)) {
@@ -1651,7 +1750,7 @@ class Parser {
1651
1750
  }
1652
1751
  }
1653
1752
  const suite = this._parseSuite(/* isFunction */ false, this._parseOptions.skipFunctionAndClassBody);
1654
- const classNode = parseNodes_1.ClassNode.create(classToken, parseNodes_1.NameNode.create(nameToken), suite);
1753
+ const classNode = parseNodes_1.ClassNode.create(classToken, parseNodes_1.NameNode.create(nameToken), suite, typeParameters);
1655
1754
  classNode.arguments = argList;
1656
1755
  argList.forEach((arg) => {
1657
1756
  arg.parent = classNode;
@@ -2008,7 +2107,7 @@ class Parser {
2008
2107
  // yield_expr: 'yield' [yield_arg]
2009
2108
  // yield_arg: 'from' test | testlist
2010
2109
  _parseYieldExpression() {
2011
- const yieldToken = this._getKeywordToken(37 /* Yield */);
2110
+ const yieldToken = this._getKeywordToken(38 /* Yield */);
2012
2111
  const nextToken = this._peekToken();
2013
2112
  if (this._consumeTokenIfKeyword(18 /* From */)) {
2014
2113
  if (this._getLanguageVersion() < pythonVersion_1.PythonVersion.V3_3) {
@@ -2026,7 +2125,7 @@ class Parser {
2026
2125
  return parseNodes_1.YieldNode.create(yieldToken, exprList);
2027
2126
  }
2028
2127
  _tryParseYieldExpression() {
2029
- if (this._peekKeywordType() !== 37 /* Yield */) {
2128
+ if (this._peekKeywordType() !== 38 /* Yield */) {
2030
2129
  return undefined;
2031
2130
  }
2032
2131
  return this._parseYieldExpression();
@@ -2096,8 +2195,28 @@ class Parser {
2096
2195
  return this._parseAssertStatement();
2097
2196
  case 11 /* Del */:
2098
2197
  return this._parseDelStatement();
2099
- case 37 /* Yield */:
2198
+ case 38 /* Yield */:
2100
2199
  return this._parseYieldExpression();
2200
+ case 35 /* Type */: {
2201
+ // Type is considered a "soft" keyword, so we will treat it
2202
+ // as an identifier if it is followed by an unexpected token.
2203
+ const peekToken1 = this._peekToken(1);
2204
+ const peekToken2 = this._peekToken(2);
2205
+ let isInvalidTypeToken = true;
2206
+ if (peekToken1.type === 7 /* Identifier */ || peekToken1.type === 8 /* Keyword */) {
2207
+ if (peekToken2.type === 15 /* OpenBracket */) {
2208
+ isInvalidTypeToken = false;
2209
+ }
2210
+ else if (peekToken2.type === 9 /* Operator */ &&
2211
+ peekToken2.operatorType === 2 /* Assign */) {
2212
+ isInvalidTypeToken = false;
2213
+ }
2214
+ }
2215
+ if (!isInvalidTypeToken) {
2216
+ return this._parseTypeAliasStatement();
2217
+ }
2218
+ break;
2219
+ }
2101
2220
  }
2102
2221
  return this._parseExpressionStatement();
2103
2222
  }
@@ -3743,8 +3862,7 @@ class Parser {
3743
3862
  // If this is a "soft keyword", it can be converted into an identifier.
3744
3863
  if (nextToken.type === 8 /* Keyword */) {
3745
3864
  const keywordType = this._peekKeywordType();
3746
- const softKeywords = [9 /* Debug */, 25 /* Match */, 6 /* Case */];
3747
- if (softKeywords.find((type) => type === keywordType)) {
3865
+ if (tokenizerTypes_1.softKeywords.find((type) => type === keywordType)) {
3748
3866
  const keywordText = this._fileContents.substr(nextToken.start, nextToken.length);
3749
3867
  this._getNextToken();
3750
3868
  return tokenizerTypes_1.IdentifierToken.create(nextToken.start, nextToken.length, keywordText, nextToken.comments);