@zzzen/pyright-internal 1.2.0-dev.20230507 → 1.2.0-dev.20230521

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 (210) hide show
  1. package/dist/analyzer/analyzerFileInfo.d.ts +1 -0
  2. package/dist/analyzer/analyzerFileInfo.js +4 -3
  3. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  4. package/dist/analyzer/backgroundAnalysisProgram.d.ts +17 -15
  5. package/dist/analyzer/backgroundAnalysisProgram.js +43 -53
  6. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  7. package/dist/analyzer/binder.d.ts +0 -2
  8. package/dist/analyzer/binder.js +2 -20
  9. package/dist/analyzer/binder.js.map +1 -1
  10. package/dist/analyzer/checker.d.ts +1 -1
  11. package/dist/analyzer/checker.js +97 -29
  12. package/dist/analyzer/checker.js.map +1 -1
  13. package/dist/analyzer/constraintSolver.js +14 -15
  14. package/dist/analyzer/constraintSolver.js.map +1 -1
  15. package/dist/analyzer/constructorTransform.js +5 -1
  16. package/dist/analyzer/constructorTransform.js.map +1 -1
  17. package/dist/analyzer/constructors.js +248 -189
  18. package/dist/analyzer/constructors.js.map +1 -1
  19. package/dist/analyzer/dataClasses.js +5 -2
  20. package/dist/analyzer/dataClasses.js.map +1 -1
  21. package/dist/analyzer/declarationUtils.js +1 -0
  22. package/dist/analyzer/declarationUtils.js.map +1 -1
  23. package/dist/analyzer/docStringConversion.js +1 -1
  24. package/dist/analyzer/docStringConversion.js.map +1 -1
  25. package/dist/analyzer/enums.js +8 -0
  26. package/dist/analyzer/enums.js.map +1 -1
  27. package/dist/analyzer/importResolver.d.ts +4 -4
  28. package/dist/analyzer/importResolver.js +93 -69
  29. package/dist/analyzer/importResolver.js.map +1 -1
  30. package/dist/analyzer/importResult.d.ts +2 -2
  31. package/dist/analyzer/importStatementUtils.js +2 -2
  32. package/dist/analyzer/importStatementUtils.js.map +1 -1
  33. package/dist/analyzer/namedTuples.js +2 -5
  34. package/dist/analyzer/namedTuples.js.map +1 -1
  35. package/dist/analyzer/packageTypeVerifier.js +1 -1
  36. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  37. package/dist/analyzer/parseTreeUtils.js +2 -34
  38. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  39. package/dist/analyzer/parseTreeWalker.js +2 -2
  40. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  41. package/dist/analyzer/patternMatching.js +1 -0
  42. package/dist/analyzer/patternMatching.js.map +1 -1
  43. package/dist/analyzer/program.d.ts +18 -34
  44. package/dist/analyzer/program.js +57 -259
  45. package/dist/analyzer/program.js.map +1 -1
  46. package/dist/analyzer/protocols.js +4 -2
  47. package/dist/analyzer/protocols.js.map +1 -1
  48. package/dist/analyzer/service.d.ts +8 -16
  49. package/dist/analyzer/service.js +33 -47
  50. package/dist/analyzer/service.js.map +1 -1
  51. package/dist/analyzer/sourceFile.d.ts +1 -15
  52. package/dist/analyzer/sourceFile.js +14 -96
  53. package/dist/analyzer/sourceFile.js.map +1 -1
  54. package/dist/analyzer/sourceMapper.js +1 -1
  55. package/dist/analyzer/sourceMapper.js.map +1 -1
  56. package/dist/analyzer/symbol.d.ts +3 -1
  57. package/dist/analyzer/symbol.js +5 -0
  58. package/dist/analyzer/symbol.js.map +1 -1
  59. package/dist/analyzer/typeDocStringUtils.js +1 -1
  60. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  61. package/dist/analyzer/typeEvaluator.d.ts +2 -2
  62. package/dist/analyzer/typeEvaluator.js +495 -196
  63. package/dist/analyzer/typeEvaluator.js.map +1 -1
  64. package/dist/analyzer/typeEvaluatorTypes.d.ts +7 -2
  65. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  66. package/dist/analyzer/typeGuards.js +1 -0
  67. package/dist/analyzer/typeGuards.js.map +1 -1
  68. package/dist/analyzer/typePrinter.d.ts +3 -3
  69. package/dist/analyzer/typePrinter.js +255 -101
  70. package/dist/analyzer/typePrinter.js.map +1 -1
  71. package/dist/analyzer/typeUtils.d.ts +12 -7
  72. package/dist/analyzer/typeUtils.js +174 -49
  73. package/dist/analyzer/typeUtils.js.map +1 -1
  74. package/dist/analyzer/typeVarContext.d.ts +1 -2
  75. package/dist/analyzer/typeVarContext.js +16 -34
  76. package/dist/analyzer/typeVarContext.js.map +1 -1
  77. package/dist/analyzer/typedDicts.js +138 -41
  78. package/dist/analyzer/typedDicts.js.map +1 -1
  79. package/dist/analyzer/types.d.ts +10 -3
  80. package/dist/analyzer/types.js +32 -16
  81. package/dist/analyzer/types.js.map +1 -1
  82. package/dist/backgroundAnalysisBase.d.ts +25 -19
  83. package/dist/backgroundAnalysisBase.js +161 -115
  84. package/dist/backgroundAnalysisBase.js.map +1 -1
  85. package/dist/backgroundThreadBase.d.ts +1 -1
  86. package/dist/backgroundThreadBase.js +1 -1
  87. package/dist/backgroundThreadBase.js.map +1 -1
  88. package/dist/commands/dumpFileDebugInfoCommand.js +3 -4
  89. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  90. package/dist/common/configOptions.js +1 -1
  91. package/dist/common/configOptions.js.map +1 -1
  92. package/dist/common/extensibility.d.ts +26 -5
  93. package/dist/common/extensibility.js.map +1 -1
  94. package/dist/common/logTracker.d.ts +2 -0
  95. package/dist/common/logTracker.js +8 -1
  96. package/dist/common/logTracker.js.map +1 -1
  97. package/dist/common/lspUtils.d.ts +4 -1
  98. package/dist/common/lspUtils.js +38 -1
  99. package/dist/common/lspUtils.js.map +1 -1
  100. package/dist/common/pythonVersion.d.ts +2 -1
  101. package/dist/common/pythonVersion.js +1 -0
  102. package/dist/common/pythonVersion.js.map +1 -1
  103. package/dist/common/textRange.js +1 -1
  104. package/dist/common/textRange.js.map +1 -1
  105. package/dist/common/workspaceEditUtils.d.ts +3 -3
  106. package/dist/common/workspaceEditUtils.js +15 -17
  107. package/dist/common/workspaceEditUtils.js.map +1 -1
  108. package/dist/languageServerBase.d.ts +2 -5
  109. package/dist/languageServerBase.js +35 -62
  110. package/dist/languageServerBase.js.map +1 -1
  111. package/dist/languageService/autoImporter.d.ts +51 -52
  112. package/dist/languageService/autoImporter.js +126 -211
  113. package/dist/languageService/autoImporter.js.map +1 -1
  114. package/dist/languageService/callHierarchyProvider.js +8 -33
  115. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  116. package/dist/languageService/completionProvider.d.ts +42 -81
  117. package/dist/languageService/completionProvider.js +608 -841
  118. package/dist/languageService/completionProvider.js.map +1 -1
  119. package/dist/languageService/documentSymbolCollector.d.ts +2 -2
  120. package/dist/languageService/documentSymbolCollector.js +40 -30
  121. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  122. package/dist/languageService/documentSymbolProvider.d.ts +13 -35
  123. package/dist/languageService/documentSymbolProvider.js +52 -264
  124. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  125. package/dist/languageService/hoverProvider.d.ts +1 -3
  126. package/dist/languageService/hoverProvider.js +11 -97
  127. package/dist/languageService/hoverProvider.js.map +1 -1
  128. package/dist/languageService/referencesProvider.d.ts +3 -3
  129. package/dist/languageService/referencesProvider.js +6 -8
  130. package/dist/languageService/referencesProvider.js.map +1 -1
  131. package/dist/languageService/renameProvider.d.ts +0 -1
  132. package/dist/languageService/renameProvider.js +2 -6
  133. package/dist/languageService/renameProvider.js.map +1 -1
  134. package/dist/languageService/signatureHelpProvider.js +1 -1
  135. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  136. package/dist/languageService/symbolIndexer.d.ts +23 -0
  137. package/dist/languageService/symbolIndexer.js +105 -0
  138. package/dist/languageService/symbolIndexer.js.map +1 -0
  139. package/dist/languageService/tooltipUtils.d.ts +8 -1
  140. package/dist/languageService/tooltipUtils.js +102 -1
  141. package/dist/languageService/tooltipUtils.js.map +1 -1
  142. package/dist/languageService/workspaceSymbolProvider.d.ts +17 -0
  143. package/dist/languageService/workspaceSymbolProvider.js +133 -0
  144. package/dist/languageService/workspaceSymbolProvider.js.map +1 -0
  145. package/dist/localization/localize.d.ts +38 -4
  146. package/dist/localization/localize.js +21 -4
  147. package/dist/localization/localize.js.map +1 -1
  148. package/dist/localization/package.nls.en-us.json +23 -6
  149. package/dist/parser/parseNodes.d.ts +8 -8
  150. package/dist/parser/parseNodes.js +20 -10
  151. package/dist/parser/parseNodes.js.map +1 -1
  152. package/dist/parser/parser.d.ts +3 -3
  153. package/dist/parser/parser.js +136 -159
  154. package/dist/parser/parser.js.map +1 -1
  155. package/dist/parser/stringTokenUtils.d.ts +3 -13
  156. package/dist/parser/stringTokenUtils.js +8 -181
  157. package/dist/parser/stringTokenUtils.js.map +1 -1
  158. package/dist/parser/tokenizer.d.ts +3 -0
  159. package/dist/parser/tokenizer.js +211 -24
  160. package/dist/parser/tokenizer.js.map +1 -1
  161. package/dist/parser/tokenizerTypes.d.ts +31 -1
  162. package/dist/parser/tokenizerTypes.js +51 -1
  163. package/dist/parser/tokenizerTypes.js.map +1 -1
  164. package/dist/pyright.js +26 -4
  165. package/dist/pyright.js.map +1 -1
  166. package/dist/readonlyAugmentedFileSystem.js +1 -1
  167. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  168. package/dist/tests/chainedSourceFiles.test.js +15 -20
  169. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  170. package/dist/tests/checker.test.js +14 -0
  171. package/dist/tests/checker.test.js.map +1 -1
  172. package/dist/tests/completions.test.js +11 -236
  173. package/dist/tests/completions.test.js.map +1 -1
  174. package/dist/tests/docStringConversion.test.js +36 -2
  175. package/dist/tests/docStringConversion.test.js.map +1 -1
  176. package/dist/tests/fourslash/completions.override2.fourslash.js +1 -16
  177. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  178. package/dist/tests/harness/fourslash/testLanguageService.js +1 -1
  179. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  180. package/dist/tests/harness/fourslash/testState.d.ts +14 -8
  181. package/dist/tests/harness/fourslash/testState.js +27 -37
  182. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  183. package/dist/tests/importResolver.test.js +84 -4
  184. package/dist/tests/importResolver.test.js.map +1 -1
  185. package/dist/tests/textRange.test.js +45 -0
  186. package/dist/tests/textRange.test.js.map +1 -0
  187. package/dist/tests/tokenizer.test.js +272 -58
  188. package/dist/tests/tokenizer.test.js.map +1 -1
  189. package/dist/tests/typeEvaluator2.test.js +16 -0
  190. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  191. package/dist/tests/typeEvaluator3.test.js +14 -0
  192. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  193. package/dist/tests/typeEvaluator4.test.js +7 -2
  194. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  195. package/dist/tests/typeEvaluator5.test.js +29 -9
  196. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  197. package/dist/tests/workspaceEditUtils.test.js +15 -10
  198. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  199. package/dist/workspaceFactory.js +3 -5
  200. package/dist/workspaceFactory.js.map +1 -1
  201. package/package.json +1 -1
  202. package/dist/languageService/importAdder.d.ts +0 -40
  203. package/dist/languageService/importAdder.js +0 -388
  204. package/dist/languageService/importAdder.js.map +0 -1
  205. package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +0 -1
  206. package/dist/tests/fourslash/completions.commitChars.fourslash.js +0 -81
  207. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +0 -1
  208. package/dist/tests/importAdder.test.js +0 -1325
  209. package/dist/tests/importAdder.test.js.map +0 -1
  210. /package/dist/tests/{importAdder.test.d.ts → textRange.test.d.ts} +0 -0
@@ -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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"}
@@ -33,7 +33,7 @@ export interface ModuleImport {
33
33
  nameNode: ModuleNameNode;
34
34
  leadingDots: number;
35
35
  nameParts: string[];
36
- importedSymbols: string[] | undefined;
36
+ importedSymbols: Set<string> | undefined;
37
37
  }
38
38
  export interface ArgListResult {
39
39
  args: ArgumentNode[];
@@ -166,9 +166,9 @@ export declare class Parser {
166
166
  private _getTypeAnnotationCommentText;
167
167
  private _parseVariableTypeAnnotationComment;
168
168
  private _parseFunctionTypeAnnotationComment;
169
- private _parseFormatStringSegment;
169
+ private _parseFStringReplacementField;
170
+ private _parseFStringFormatString;
170
171
  private _parseFormatString;
171
- private _getFormatStringExpressionLength;
172
172
  private _createBinaryOperationNode;
173
173
  private _createUnaryOperationNode;
174
174
  private _parseStringList;
@@ -336,6 +336,9 @@ class Parser {
336
336
  if (this._consumeTokenIfOperator(2 /* Assign */)) {
337
337
  defaultExpression = this._parseExpression(
338
338
  /* allowUnpack */ typeParamCategory === parseNodes_1.TypeParameterCategory.TypeVarTuple);
339
+ if (!this._parseOptions.isStubFile && this._getLanguageVersion() < pythonVersion_1.PythonVersion.V3_13) {
340
+ this._addError(localize_1.Localizer.Diagnostic.typeVarDefaultIllegal(), defaultExpression);
341
+ }
339
342
  }
340
343
  return parseNodes_1.TypeParameterNode.create(name, typeParamCategory, boundExpression, defaultExpression);
341
344
  }
@@ -810,7 +813,7 @@ class Parser {
810
813
  (0, debug_1.assert)(stringList.nodeType === 48 /* StringList */);
811
814
  // Check for f-strings, which are not allowed.
812
815
  stringList.strings.forEach((stringAtom) => {
813
- if (stringAtom.token.flags & 64 /* Format */) {
816
+ if (stringAtom.nodeType === 27 /* FormatString */) {
814
817
  this._addError(localize_1.Localizer.Diagnostic.formatStringInPattern(), stringAtom);
815
818
  }
816
819
  });
@@ -1934,7 +1937,7 @@ class Parser {
1934
1937
  nameNode: importFromNode.module,
1935
1938
  leadingDots: importFromNode.module.leadingDots,
1936
1939
  nameParts: importFromNode.module.nameParts.map((p) => p.value),
1937
- importedSymbols: importFromNode.imports.map((imp) => imp.name.value),
1940
+ importedSymbols: new Set(importFromNode.imports.map((imp) => imp.name.value)),
1938
1941
  });
1939
1942
  let isTypingImport = false;
1940
1943
  if (importFromNode.module.nameParts.length === 1) {
@@ -2987,7 +2990,7 @@ class Parser {
2987
2990
  if (nextToken.type === 7 /* Identifier */) {
2988
2991
  return parseNodes_1.NameNode.create(this._getNextToken());
2989
2992
  }
2990
- if (nextToken.type === 5 /* String */) {
2993
+ if (nextToken.type === 5 /* String */ || nextToken.type === 24 /* FStringStart */) {
2991
2994
  return this._parseStringList();
2992
2995
  }
2993
2996
  if (nextToken.type === 22 /* Backtick */) {
@@ -3071,7 +3074,7 @@ class Parser {
3071
3074
  if (additionalStopTokens) {
3072
3075
  (0, collectionUtils_1.appendArray)(stopTokens, additionalStopTokens);
3073
3076
  }
3074
- // Using token that is not consumed by error node will mess up spans in parse node.
3077
+ // Using a token that is not included in the error node creates problems.
3075
3078
  // Sibling nodes in parse tree shouldn't overlap each other.
3076
3079
  const nextToken = this._peekToken();
3077
3080
  const initialRange = stopTokens.some((k) => nextToken.type === k)
@@ -3353,6 +3356,7 @@ class Parser {
3353
3356
  // augassign: ('+=' | '-=' | '*=' | '@=' | '/=' | '%=' | '&=' | '|=' | '^=' |
3354
3357
  // '<<=' | '>>=' | '**=' | '//=')
3355
3358
  _parseExpressionStatement() {
3359
+ var _a, _b;
3356
3360
  let leftExpr = this._parseTestOrStarListAsExpression(
3357
3361
  /* allowAssignmentExpression */ false,
3358
3362
  /* allowMultipleUnpack */ false, 2 /* MissingExpression */, () => localize_1.Localizer.Diagnostic.expectedExpr());
@@ -3379,10 +3383,9 @@ class Parser {
3379
3383
  if (isTypeAliasDeclaration) {
3380
3384
  this._isParsingTypeAnnotation = true;
3381
3385
  }
3382
- const rightExpr = this._tryParseYieldExpression() ||
3383
- this._parseTestOrStarListAsExpression(
3384
- /* allowAssignmentExpression */ false,
3385
- /* allowMultipleUnpack */ true, 2 /* MissingExpression */, () => localize_1.Localizer.Diagnostic.expectedAssignRightHandExpr());
3386
+ const rightExpr = (_a = this._tryParseYieldExpression()) !== null && _a !== void 0 ? _a : this._parseTestOrStarListAsExpression(
3387
+ /* allowAssignmentExpression */ false,
3388
+ /* allowMultipleUnpack */ true, 2 /* MissingExpression */, () => localize_1.Localizer.Diagnostic.expectedAssignRightHandExpr());
3386
3389
  this._isParsingTypeAnnotation = wasParsingTypeAnnotation;
3387
3390
  return parseNodes_1.AssignmentNode.create(leftExpr, rightExpr);
3388
3391
  }
@@ -3392,8 +3395,7 @@ class Parser {
3392
3395
  }
3393
3396
  if (tokenizer_1.Tokenizer.isOperatorAssignment(this._peekOperatorType())) {
3394
3397
  const operatorToken = this._getNextToken();
3395
- const rightExpr = this._tryParseYieldExpression() ||
3396
- this._parseTestListAsExpression(2 /* MissingExpression */, () => localize_1.Localizer.Diagnostic.expectedBinaryRightHandExpr());
3398
+ const rightExpr = (_b = this._tryParseYieldExpression()) !== null && _b !== void 0 ? _b : this._parseTestListAsExpression(2 /* MissingExpression */, () => localize_1.Localizer.Diagnostic.expectedBinaryRightHandExpr());
3397
3399
  // Make a shallow copy of the dest expression but give it a new ID.
3398
3400
  const destExpr = Object.assign({}, leftExpr);
3399
3401
  destExpr.id = (0, parseNodes_1.getNextNodeId)();
@@ -3402,15 +3404,15 @@ class Parser {
3402
3404
  return leftExpr;
3403
3405
  }
3404
3406
  _parseChainAssignments(leftExpr) {
3407
+ var _a;
3405
3408
  // Make a list of assignment targets.
3406
3409
  const assignmentTargets = [leftExpr];
3407
3410
  let rightExpr;
3408
3411
  while (true) {
3409
3412
  rightExpr =
3410
- this._tryParseYieldExpression() ||
3411
- this._parseTestOrStarListAsExpression(
3412
- /* allowAssignmentExpression */ false,
3413
- /* allowMultipleUnpack */ true, 2 /* MissingExpression */, () => localize_1.Localizer.Diagnostic.expectedAssignRightHandExpr());
3413
+ (_a = this._tryParseYieldExpression()) !== null && _a !== void 0 ? _a : this._parseTestOrStarListAsExpression(
3414
+ /* allowAssignmentExpression */ false,
3415
+ /* allowMultipleUnpack */ true, 2 /* MissingExpression */, () => localize_1.Localizer.Diagnostic.expectedAssignRightHandExpr());
3414
3416
  if (rightExpr.nodeType === 0 /* Error */) {
3415
3417
  break;
3416
3418
  }
@@ -3514,7 +3516,7 @@ class Parser {
3514
3516
  if (stringToken.flags & 65536 /* Unterminated */) {
3515
3517
  this._addError(localize_1.Localizer.Diagnostic.stringUnterminated(), stringToken);
3516
3518
  }
3517
- if (unescapedResult.nonAsciiInBytes) {
3519
+ if (unescapedResult === null || unescapedResult === void 0 ? void 0 : unescapedResult.nonAsciiInBytes) {
3518
3520
  this._addError(localize_1.Localizer.Diagnostic.stringNonAsciiBytes(), stringToken);
3519
3521
  }
3520
3522
  if (stringToken.flags & 64 /* Format */) {
@@ -3532,7 +3534,7 @@ class Parser {
3532
3534
  _makeStringNode(stringToken) {
3533
3535
  const unescapedResult = StringTokenUtils.getUnescapedString(stringToken);
3534
3536
  this._reportStringTokenErrors(stringToken, unescapedResult);
3535
- return parseNodes_1.StringNode.create(stringToken, unescapedResult.value, unescapedResult.unescapeErrors.length > 0);
3537
+ return parseNodes_1.StringNode.create(stringToken, unescapedResult.value);
3536
3538
  }
3537
3539
  _getTypeAnnotationCommentText() {
3538
3540
  if (this._tokenIndex === 0) {
@@ -3598,154 +3600,123 @@ class Parser {
3598
3600
  functionAnnotation.parent = functionNode;
3599
3601
  (0, parseNodes_1.extendRange)(functionNode, functionAnnotation);
3600
3602
  }
3601
- _parseFormatStringSegment(stringToken, segment, segmentOffset, segmentLength) {
3602
- (0, debug_1.assert)(segment.isExpression);
3603
- const parser = new Parser();
3604
- const parseResults = parser.parseTextExpression(this._fileContents, stringToken.start + stringToken.prefixLength + stringToken.quoteMarkLength + segment.offset + segmentOffset, segmentLength, this._parseOptions, 0 /* Expression */,
3605
- /* initialParenDepth */ 1, this._typingSymbolAliases);
3606
- parseResults.diagnostics.forEach((diag) => {
3607
- const textRangeStart = (diag.range ? (0, positionUtils_1.convertPositionToOffset)(diag.range.start, parseResults.lines) : stringToken.start) ||
3608
- stringToken.start;
3609
- const textRangeEnd = (diag.range
3610
- ? ((0, positionUtils_1.convertPositionToOffset)(diag.range.end, parseResults.lines) || 0) + 1
3611
- : stringToken.start + stringToken.length) || stringToken.start + stringToken.length;
3612
- const textRange = { start: textRangeStart, length: textRangeEnd - textRangeStart };
3613
- this._addError(diag.message, textRange);
3614
- });
3615
- return parseResults.parseTree;
3603
+ _parseFStringReplacementField(fieldExpressions, middleTokens, formatExpressions, nestingDepth = 0) {
3604
+ var _a;
3605
+ let nextToken = this._getNextToken();
3606
+ // The caller should have already confirmed that the next token is an open brace.
3607
+ (0, debug_1.assert)(nextToken.type === 17 /* OpenCurlyBrace */);
3608
+ // Consume the expression.
3609
+ const expr = (_a = this._tryParseYieldExpression()) !== null && _a !== void 0 ? _a : this._parseTestOrStarListAsExpression(
3610
+ /* allowAssignmentExpression */ true,
3611
+ /* allowMultipleUnpack */ true, 2 /* MissingExpression */, () => localize_1.Localizer.Diagnostic.expectedExpr());
3612
+ fieldExpressions.push(expr);
3613
+ if (expr.nodeType === 0 /* Error */) {
3614
+ return false;
3615
+ }
3616
+ // Consume an optional "=" token after the expression.
3617
+ nextToken = this._peekToken();
3618
+ if (nextToken.type === 9 /* Operator */ &&
3619
+ nextToken.operatorType === 2 /* Assign */) {
3620
+ // This feature requires Python 3.8 or newer.
3621
+ if (this._parseOptions.pythonVersion < pythonVersion_1.PythonVersion.V3_8) {
3622
+ this._addError(localize_1.Localizer.Diagnostic.formatStringDebuggingIllegal(), nextToken);
3623
+ }
3624
+ this._getNextToken();
3625
+ nextToken = this._peekToken();
3626
+ }
3627
+ // Consume an optional !r, !s, or !a token.
3628
+ if (nextToken.type === 23 /* ExclamationMark */) {
3629
+ this._getNextToken();
3630
+ nextToken = this._peekToken();
3631
+ if (nextToken.type !== 7 /* Identifier */) {
3632
+ this._addError(localize_1.Localizer.Diagnostic.formatStringExpectedConversion(), nextToken);
3633
+ }
3634
+ else {
3635
+ this._getNextToken();
3636
+ nextToken = this._peekToken();
3637
+ }
3638
+ }
3639
+ if (nextToken.type === 10 /* Colon */) {
3640
+ this._getNextToken();
3641
+ this._parseFStringFormatString(fieldExpressions, middleTokens, formatExpressions, nestingDepth);
3642
+ nextToken = this._peekToken();
3643
+ }
3644
+ if (nextToken.type !== 18 /* CloseCurlyBrace */) {
3645
+ this._addError(localize_1.Localizer.Diagnostic.formatStringUnterminated(), nextToken);
3646
+ return false;
3647
+ }
3648
+ else {
3649
+ this._getNextToken();
3650
+ }
3651
+ // Indicate success.
3652
+ return true;
3616
3653
  }
3617
- _parseFormatString(stringToken) {
3618
- const unescapedResult = StringTokenUtils.getUnescapedString(stringToken);
3619
- this._reportStringTokenErrors(stringToken, unescapedResult);
3620
- const formatExpressions = [];
3621
- for (const segment of unescapedResult.formatStringSegments) {
3622
- if (segment.isExpression) {
3623
- // Determine if we need to truncate the expression because it
3624
- // contains formatting directives that start with a ! or :.
3625
- const segmentExprLength = this._getFormatStringExpressionLength(segment.value.trimEnd());
3626
- const parseTree = this._parseFormatStringSegment(stringToken, segment, 0, segmentExprLength);
3627
- if (parseTree) {
3628
- (0, debug_1.assert)(parseTree.nodeType !== 62 /* FunctionAnnotation */);
3629
- formatExpressions.push(parseTree);
3630
- }
3631
- // Look for additional expressions within the format directive.
3632
- const formatDirective = segment.value.substr(segmentExprLength);
3633
- let braceDepth = 0;
3634
- let startOfExprOffset = 0;
3635
- for (let i = 0; i < formatDirective.length; i++) {
3636
- if (formatDirective.charCodeAt(i) === 123 /* OpenBrace */) {
3637
- if (braceDepth === 0) {
3638
- startOfExprOffset = i + 1;
3639
- }
3640
- braceDepth++;
3641
- }
3642
- else if (formatDirective.charCodeAt(i) === 125 /* CloseBrace */) {
3643
- if (braceDepth > 0) {
3644
- braceDepth--;
3645
- if (braceDepth === 0) {
3646
- const formatSegmentLength = this._getFormatStringExpressionLength(segment.value.substr(segmentExprLength + startOfExprOffset, i - startOfExprOffset));
3647
- const parseTree = this._parseFormatStringSegment(stringToken, segment, segmentExprLength + startOfExprOffset, formatSegmentLength);
3648
- if (parseTree) {
3649
- (0, debug_1.assert)(parseTree.nodeType !== 62 /* FunctionAnnotation */);
3650
- formatExpressions.push(parseTree);
3651
- }
3652
- }
3653
- }
3654
- }
3654
+ _parseFStringFormatString(fieldExpressions, middleTokens, formatExpressions, nestingDepth) {
3655
+ while (true) {
3656
+ const nextToken = this._peekToken();
3657
+ if (nextToken.type === 18 /* CloseCurlyBrace */ || nextToken.type === 26 /* FStringEnd */) {
3658
+ break;
3659
+ }
3660
+ if (nextToken.type === 25 /* FStringMiddle */) {
3661
+ this._getNextToken();
3662
+ continue;
3663
+ }
3664
+ if (nextToken.type === 17 /* OpenCurlyBrace */) {
3665
+ // The Python interpreter reports an error at the point where the
3666
+ // nesting level exceeds 1. Don't report the error again for deeper nestings.
3667
+ if (nestingDepth === 2) {
3668
+ this._addError(localize_1.Localizer.Diagnostic.formatStringNestedFormatSpecifier(), nextToken);
3655
3669
  }
3670
+ this._parseFStringReplacementField(fieldExpressions, middleTokens, formatExpressions, nestingDepth + 1);
3671
+ continue;
3656
3672
  }
3673
+ break;
3657
3674
  }
3658
- return parseNodes_1.FormatStringNode.create(stringToken, unescapedResult.value, unescapedResult.unescapeErrors.length > 0, formatExpressions);
3659
3675
  }
3660
- _getFormatStringExpressionLength(segmentValue) {
3661
- let segmentExprLength = 0;
3662
- // PEP 498 says: Expressions cannot contain ':' or '!' outside of
3663
- // strings or parentheses, brackets, or braces. The exception is
3664
- // that the '!=' operator is allowed as a special case.
3665
- const quoteStack = [];
3666
- let braceCount = 0;
3667
- let parenCount = 0;
3668
- let bracketCount = 0;
3669
- let indexOfDebugEqual;
3670
- while (segmentExprLength < segmentValue.length) {
3671
- const curChar = segmentValue[segmentExprLength];
3672
- const ignoreSeparator = quoteStack.length > 0 || braceCount > 0 || parenCount > 0 || bracketCount > 0;
3673
- const inString = quoteStack.length > 0;
3674
- if (curChar === '=') {
3675
- indexOfDebugEqual = segmentExprLength;
3676
- }
3677
- else {
3678
- if (curChar === ':') {
3679
- if (!ignoreSeparator) {
3680
- break;
3681
- }
3676
+ _parseFormatString(startToken) {
3677
+ const middleTokens = [];
3678
+ const fieldExpressions = [];
3679
+ const formatExpressions = [];
3680
+ let endToken = undefined;
3681
+ // Consume middle tokens and expressions until we hit a "{" or "}" token.
3682
+ while (true) {
3683
+ const nextToken = this._peekToken();
3684
+ if (nextToken.type === 26 /* FStringEnd */) {
3685
+ endToken = nextToken;
3686
+ if ((endToken.flags & 65536 /* Unterminated */) !== 0) {
3687
+ this._addError(localize_1.Localizer.Diagnostic.stringUnterminated(), startToken);
3682
3688
  }
3683
- else if (curChar === '!') {
3684
- if (!ignoreSeparator) {
3685
- // Allow !=, as per PEP 498
3686
- if (segmentExprLength === segmentValue.length - 1 ||
3687
- segmentValue[segmentExprLength + 1] !== '=') {
3688
- break;
3689
+ this._getNextToken();
3690
+ break;
3691
+ }
3692
+ if (nextToken.type === 25 /* FStringMiddle */) {
3693
+ middleTokens.push(nextToken);
3694
+ this._getNextToken();
3695
+ continue;
3696
+ }
3697
+ if (nextToken.type === 17 /* OpenCurlyBrace */) {
3698
+ if (!this._parseFStringReplacementField(fieldExpressions, middleTokens, formatExpressions)) {
3699
+ // An error was reported. Try to recover the parse.
3700
+ if (this._consumeTokensUntilType([26 /* FStringEnd */, 2 /* NewLine */])) {
3701
+ if (this._peekToken().type === 26 /* FStringEnd */) {
3702
+ this._getNextToken();
3689
3703
  }
3690
3704
  }
3705
+ break;
3691
3706
  }
3692
- else if (curChar === "'" || curChar === '"') {
3693
- let quoteSequence = curChar;
3694
- if (segmentExprLength + 2 < segmentValue.length &&
3695
- segmentValue[segmentExprLength + 1] === curChar &&
3696
- segmentValue[segmentExprLength + 2] === curChar) {
3697
- quoteSequence = curChar + curChar + curChar;
3698
- segmentExprLength += 2;
3699
- }
3700
- if (quoteStack.length > 0 && quoteStack[quoteStack.length - 1] === quoteSequence) {
3701
- quoteStack.pop();
3702
- }
3703
- else if (quoteStack.length === 0) {
3704
- quoteStack.push(quoteSequence);
3705
- }
3706
- }
3707
- else if (curChar === '(') {
3708
- if (!inString) {
3709
- parenCount++;
3710
- }
3711
- }
3712
- else if (curChar === ')') {
3713
- if (!inString && parenCount > 0) {
3714
- parenCount--;
3715
- }
3716
- }
3717
- else if (curChar === '{') {
3718
- if (!inString) {
3719
- braceCount++;
3720
- }
3721
- }
3722
- else if (curChar === '}') {
3723
- if (!inString && braceCount > 0) {
3724
- braceCount--;
3725
- }
3726
- }
3727
- else if (curChar === '[') {
3728
- if (!inString) {
3729
- bracketCount++;
3730
- }
3731
- }
3732
- else if (curChar === ']') {
3733
- if (!inString && bracketCount > 0) {
3734
- bracketCount--;
3735
- }
3736
- }
3737
- if (curChar !== ' ') {
3738
- indexOfDebugEqual = undefined;
3739
- }
3707
+ continue;
3740
3708
  }
3741
- segmentExprLength++;
3742
- }
3743
- // Handle Python 3.8 f-string formatting expressions that
3744
- // end in an "=".
3745
- if (this._parseOptions.pythonVersion >= pythonVersion_1.PythonVersion.V3_8 && indexOfDebugEqual !== undefined) {
3746
- segmentExprLength = indexOfDebugEqual;
3709
+ // We've hit an error. Consume tokens until we find the end.
3710
+ if (this._consumeTokensUntilType([26 /* FStringEnd */])) {
3711
+ this._getNextToken();
3712
+ }
3713
+ this._addError(nextToken.type === 18 /* CloseCurlyBrace */
3714
+ ? localize_1.Localizer.Diagnostic.formatStringBrace()
3715
+ : localize_1.Localizer.Diagnostic.stringUnterminated(), nextToken);
3716
+ break;
3747
3717
  }
3748
- return segmentExprLength;
3718
+ this._reportStringTokenErrors(startToken);
3719
+ return parseNodes_1.FormatStringNode.create(startToken, endToken, middleTokens, fieldExpressions, formatExpressions);
3749
3720
  }
3750
3721
  _createBinaryOperationNode(leftExpression, rightExpression, operatorToken, operator) {
3751
3722
  // Determine if we're exceeding the max parse depth. If so, replace
@@ -3773,13 +3744,16 @@ class Parser {
3773
3744
  }
3774
3745
  _parseStringList() {
3775
3746
  const stringList = [];
3776
- while (this._peekTokenType() === 5 /* String */) {
3777
- const stringToken = this._getNextToken();
3778
- if (stringToken.flags & 64 /* Format */) {
3779
- stringList.push(this._parseFormatString(stringToken));
3747
+ while (true) {
3748
+ const nextToken = this._peekToken();
3749
+ if (nextToken.type === 5 /* String */) {
3750
+ stringList.push(this._makeStringNode(this._getNextToken()));
3751
+ }
3752
+ else if (nextToken.type === 24 /* FStringStart */) {
3753
+ stringList.push(this._parseFormatString(this._getNextToken()));
3780
3754
  }
3781
3755
  else {
3782
- stringList.push(this._makeStringNode(stringToken));
3756
+ break;
3783
3757
  }
3784
3758
  }
3785
3759
  const stringNode = parseNodes_1.StringListNode.create(stringList);
@@ -3790,7 +3764,7 @@ class Parser {
3790
3764
  if (stringNode.strings.length > 1) {
3791
3765
  this._addError(localize_1.Localizer.Diagnostic.annotationSpansStrings(), stringNode);
3792
3766
  }
3793
- else if (stringNode.strings[0].token.flags & 64 /* Format */) {
3767
+ else if (stringNode.strings[0].nodeType === 27 /* FormatString */) {
3794
3768
  this._addError(localize_1.Localizer.Diagnostic.annotationFormatString(), stringNode);
3795
3769
  }
3796
3770
  else {
@@ -3886,6 +3860,9 @@ class Parser {
3886
3860
  case 18 /* CloseCurlyBrace */:
3887
3861
  case 12 /* Comma */:
3888
3862
  case 10 /* Colon */:
3863
+ case 23 /* ExclamationMark */:
3864
+ case 25 /* FStringMiddle */:
3865
+ case 26 /* FStringEnd */:
3889
3866
  return true;
3890
3867
  }
3891
3868
  return false;