@zzzen/pyright-internal 1.2.0-dev.20230219 → 1.2.0-dev.20230305

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 (166) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
  2. package/dist/analyzer/backgroundAnalysisProgram.js +3 -3
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.d.ts +0 -1
  5. package/dist/analyzer/binder.js +18 -93
  6. package/dist/analyzer/binder.js.map +1 -1
  7. package/dist/analyzer/checker.js +50 -30
  8. package/dist/analyzer/checker.js.map +1 -1
  9. package/dist/analyzer/codeFlowEngine.js +5 -5
  10. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  11. package/dist/analyzer/constraintSolver.js +0 -10
  12. package/dist/analyzer/constraintSolver.js.map +1 -1
  13. package/dist/analyzer/declaration.d.ts +3 -4
  14. package/dist/analyzer/declaration.js +6 -1
  15. package/dist/analyzer/declaration.js.map +1 -1
  16. package/dist/analyzer/declarationUtils.d.ts +1 -5
  17. package/dist/analyzer/declarationUtils.js +2 -47
  18. package/dist/analyzer/declarationUtils.js.map +1 -1
  19. package/dist/analyzer/docStringConversion.js +9 -3
  20. package/dist/analyzer/docStringConversion.js.map +1 -1
  21. package/dist/analyzer/importResolver.d.ts +3 -2
  22. package/dist/analyzer/importResolver.js +28 -19
  23. package/dist/analyzer/importResolver.js.map +1 -1
  24. package/dist/analyzer/parseTreeUtils.d.ts +4 -2
  25. package/dist/analyzer/parseTreeUtils.js +77 -2
  26. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  27. package/dist/analyzer/patternMatching.d.ts +1 -0
  28. package/dist/analyzer/patternMatching.js +47 -2
  29. package/dist/analyzer/patternMatching.js.map +1 -1
  30. package/dist/analyzer/program.d.ts +5 -4
  31. package/dist/analyzer/program.js +182 -43
  32. package/dist/analyzer/program.js.map +1 -1
  33. package/dist/analyzer/properties.js +8 -3
  34. package/dist/analyzer/properties.js.map +1 -1
  35. package/dist/analyzer/protocols.js +8 -5
  36. package/dist/analyzer/protocols.js.map +1 -1
  37. package/dist/analyzer/pythonPathUtils.js +27 -13
  38. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  39. package/dist/analyzer/service.d.ts +7 -3
  40. package/dist/analyzer/service.js +24 -7
  41. package/dist/analyzer/service.js.map +1 -1
  42. package/dist/analyzer/sourceFile.js +3 -0
  43. package/dist/analyzer/sourceFile.js.map +1 -1
  44. package/dist/analyzer/symbol.js +1 -4
  45. package/dist/analyzer/symbol.js.map +1 -1
  46. package/dist/analyzer/symbolUtils.d.ts +0 -3
  47. package/dist/analyzer/symbolUtils.js +1 -14
  48. package/dist/analyzer/symbolUtils.js.map +1 -1
  49. package/dist/analyzer/typeDocStringUtils.js +5 -3
  50. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  51. package/dist/analyzer/typeEvaluator.js +586 -294
  52. package/dist/analyzer/typeEvaluator.js.map +1 -1
  53. package/dist/analyzer/typeEvaluatorTypes.d.ts +10 -2
  54. package/dist/analyzer/typeGuards.js +2 -2
  55. package/dist/analyzer/typeGuards.js.map +1 -1
  56. package/dist/analyzer/typeUtils.d.ts +1 -0
  57. package/dist/analyzer/typeUtils.js +14 -1
  58. package/dist/analyzer/typeUtils.js.map +1 -1
  59. package/dist/analyzer/typedDicts.js +26 -17
  60. package/dist/analyzer/typedDicts.js.map +1 -1
  61. package/dist/analyzer/types.d.ts +2 -1
  62. package/dist/analyzer/types.js.map +1 -1
  63. package/dist/backgroundAnalysisBase.d.ts +2 -3
  64. package/dist/backgroundAnalysisBase.js +12 -13
  65. package/dist/backgroundAnalysisBase.js.map +1 -1
  66. package/dist/commands/commandController.js +1 -0
  67. package/dist/commands/commandController.js.map +1 -1
  68. package/dist/commands/quickActionCommand.js +2 -2
  69. package/dist/commands/quickActionCommand.js.map +1 -1
  70. package/dist/common/cancellationUtils.d.ts +18 -2
  71. package/dist/common/cancellationUtils.js +80 -3
  72. package/dist/common/cancellationUtils.js.map +1 -1
  73. package/dist/common/collectionUtils.d.ts +1 -0
  74. package/dist/common/collectionUtils.js +8 -1
  75. package/dist/common/collectionUtils.js.map +1 -1
  76. package/dist/common/extensibility.d.ts +4 -3
  77. package/dist/common/extensibility.js.map +1 -1
  78. package/dist/common/fileBasedCancellationUtils.d.ts +0 -1
  79. package/dist/common/fileBasedCancellationUtils.js +7 -81
  80. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  81. package/dist/common/positionUtils.d.ts +2 -0
  82. package/dist/common/positionUtils.js +15 -1
  83. package/dist/common/positionUtils.js.map +1 -1
  84. package/dist/common/{textEditUtils.d.ts → textEditTracker.d.ts} +2 -6
  85. package/dist/common/{textEditUtils.js → textEditTracker.js} +6 -49
  86. package/dist/common/textEditTracker.js.map +1 -0
  87. package/dist/common/workspaceEditUtils.d.ts +14 -8
  88. package/dist/common/workspaceEditUtils.js +115 -59
  89. package/dist/common/workspaceEditUtils.js.map +1 -1
  90. package/dist/languageServerBase.js +9 -3
  91. package/dist/languageServerBase.js.map +1 -1
  92. package/dist/languageService/callHierarchyProvider.js +4 -2
  93. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  94. package/dist/languageService/codeActionProvider.js +1 -1
  95. package/dist/languageService/codeActionProvider.js.map +1 -1
  96. package/dist/languageService/completionProvider.js +49 -43
  97. package/dist/languageService/completionProvider.js.map +1 -1
  98. package/dist/languageService/completionProviderUtils.d.ts +1 -1
  99. package/dist/languageService/completionProviderUtils.js +3 -3
  100. package/dist/languageService/completionProviderUtils.js.map +1 -1
  101. package/dist/languageService/definitionProvider.js +2 -1
  102. package/dist/languageService/definitionProvider.js.map +1 -1
  103. package/dist/languageService/documentSymbolProvider.js +2 -1
  104. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  105. package/dist/languageService/hoverProvider.js +14 -3
  106. package/dist/languageService/hoverProvider.js.map +1 -1
  107. package/dist/languageService/importAdder.d.ts +2 -2
  108. package/dist/languageService/importAdder.js +5 -3
  109. package/dist/languageService/importAdder.js.map +1 -1
  110. package/dist/languageService/indentationUtils.d.ts +6 -2
  111. package/dist/languageService/indentationUtils.js +33 -13
  112. package/dist/languageService/indentationUtils.js.map +1 -1
  113. package/dist/languageService/renameModuleProvider.d.ts +10 -2
  114. package/dist/languageService/renameModuleProvider.js +87 -14
  115. package/dist/languageService/renameModuleProvider.js.map +1 -1
  116. package/dist/localization/localize.d.ts +12 -2
  117. package/dist/localization/localize.js +5 -1
  118. package/dist/localization/localize.js.map +1 -1
  119. package/dist/localization/package.nls.en-us.json +6 -2
  120. package/dist/parser/parser.js +18 -18
  121. package/dist/parser/parser.js.map +1 -1
  122. package/dist/pyright.js +1 -1
  123. package/dist/pyright.js.map +1 -1
  124. package/dist/tests/docStringConversion.test.js +23 -0
  125. package/dist/tests/docStringConversion.test.js.map +1 -1
  126. package/dist/tests/fourslash/completions.errorNodes.fourslash.d.ts +1 -0
  127. package/dist/tests/fourslash/completions.errorNodes.fourslash.js +24 -0
  128. package/dist/tests/fourslash/completions.errorNodes.fourslash.js.map +1 -0
  129. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.d.ts +1 -0
  130. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.js +57 -0
  131. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.js.map +1 -0
  132. package/dist/tests/fourslash/hover.slots.fourslash.d.ts +1 -0
  133. package/dist/tests/fourslash/hover.slots.fourslash.js +16 -0
  134. package/dist/tests/fourslash/hover.slots.fourslash.js.map +1 -0
  135. package/dist/tests/harness/fourslash/testState.js +9 -2
  136. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  137. package/dist/tests/importAdder.test.js +16 -3
  138. package/dist/tests/importAdder.test.js.map +1 -1
  139. package/dist/tests/indentationUtils.reindent.test.js +22 -1
  140. package/dist/tests/indentationUtils.reindent.test.js.map +1 -1
  141. package/dist/tests/moveSymbol.importAdder.test.js +183 -24
  142. package/dist/tests/moveSymbol.importAdder.test.js.map +1 -1
  143. package/dist/tests/moveSymbol.insertion.test.js +137 -2
  144. package/dist/tests/moveSymbol.insertion.test.js.map +1 -1
  145. package/dist/tests/moveSymbol.misc.test.js +109 -4
  146. package/dist/tests/moveSymbol.misc.test.js.map +1 -1
  147. package/dist/tests/renameModuleTestUtils.d.ts +1 -1
  148. package/dist/tests/renameModuleTestUtils.js +9 -5
  149. package/dist/tests/renameModuleTestUtils.js.map +1 -1
  150. package/dist/tests/testStateUtils.js +2 -2
  151. package/dist/tests/testStateUtils.js.map +1 -1
  152. package/dist/tests/textEditUtil.test.js +2 -2
  153. package/dist/tests/textEditUtil.test.js.map +1 -1
  154. package/dist/tests/typeEvaluator1.test.js +8 -0
  155. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  156. package/dist/tests/typeEvaluator2.test.js +13 -1
  157. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  158. package/dist/tests/typeEvaluator3.test.js +29 -4
  159. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  160. package/dist/tests/typeEvaluator4.test.js +1 -1
  161. package/dist/tests/typeEvaluator5.test.js +6 -0
  162. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  163. package/dist/tests/workspaceEditUtils.test.js +7 -7
  164. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  165. package/package.json +3 -3
  166. package/dist/common/textEditUtils.js.map +0 -1
@@ -35,7 +35,7 @@ export declare class BackgroundAnalysisProgram {
35
35
  updateChainedFilePath(filePath: string, chainedFilePath: string | undefined): void;
36
36
  updateOpenFileContents(path: string, version: number | null, contents: TextDocumentContentChangeEvent[], options: OpenFileOptions): void;
37
37
  setFileClosed(filePath: string, isTracked?: boolean): void;
38
- addTrackedFile(filePath: string, isThirdPartyImport: boolean): void;
38
+ addInterimFile(filePath: string): void;
39
39
  markAllFilesDirty(evenIfContentsAreSame: boolean, indexingNeeded?: boolean): void;
40
40
  markFilesDirty(filePaths: string[], evenIfContentsAreSame: boolean, indexingNeeded?: boolean): void;
41
41
  setCompletionCallback(callback?: AnalysisCompleteCallback): void;
@@ -89,10 +89,10 @@ class BackgroundAnalysisProgram {
89
89
  const diagnostics = this._program.setFileClosed(filePath, isTracked);
90
90
  this._reportDiagnosticsForRemovedFiles(diagnostics);
91
91
  }
92
- addTrackedFile(filePath, isThirdPartyImport) {
92
+ addInterimFile(filePath) {
93
93
  var _a;
94
- (_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.addTrackedFile(filePath, isThirdPartyImport);
95
- this._program.addTrackedFile(filePath, isThirdPartyImport);
94
+ (_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.addInterimFile(filePath);
95
+ this._program.addInterimFile(filePath);
96
96
  }
97
97
  markAllFilesDirty(evenIfContentsAreSame, indexingNeeded = true) {
98
98
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
@@ -128,7 +128,6 @@ export declare class Binder extends ParseTreeWalker {
128
128
  private _isAnnotationClassVar;
129
129
  private _isRequiredAnnotation;
130
130
  private _isNotRequiredAnnotation;
131
- private _isAnnotationTypeAlias;
132
131
  private _getMemberAccessInfo;
133
132
  private _addImplicitImportsToLoaderActions;
134
133
  private _handleTypingStubAssignmentOrAnnotation;
@@ -46,6 +46,8 @@ const textRange_1 = require("../common/textRange");
46
46
  const localize_1 = require("../localization/localize");
47
47
  const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
48
48
  const codeFlowTypes_1 = require("./codeFlowTypes");
49
+ const declaration_1 = require("./declaration");
50
+ const docStringUtils_1 = require("./docStringUtils");
49
51
  const ParseTreeUtils = __importStar(require("./parseTreeUtils"));
50
52
  const parseTreeWalker_1 = require("./parseTreeWalker");
51
53
  const scope_1 = require("./scope");
@@ -192,7 +194,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
192
194
  this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports, diagnosticRules_1.DiagnosticRule.reportMissingImports, localize_1.Localizer.Diagnostic.importResolveFailure().format({ importName: importResult.importName }), node);
193
195
  return true;
194
196
  }
195
- // Source found, but type stub is missing
197
+ // A source file was found, but the type stub was missing.
196
198
  if (!importResult.isStubFile &&
197
199
  importResult.importType === 1 /* ThirdParty */ &&
198
200
  !importResult.pyTypedInfo) {
@@ -306,8 +308,14 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
306
308
  this._currentFlowNode = this._createStartFlowNode();
307
309
  this._codeFlowComplexity = 0;
308
310
  node.parameters.forEach((paramNode) => {
311
+ var _a, _b;
309
312
  if (paramNode.name) {
310
313
  const symbol = this._bindNameToScope(this._currentScope, paramNode.name);
314
+ // Extract the parameter docString from the function docString
315
+ let docString = ParseTreeUtils.getDocString((_b = (_a = node === null || node === void 0 ? void 0 : node.suite) === null || _a === void 0 ? void 0 : _a.statements) !== null && _b !== void 0 ? _b : []);
316
+ if (docString !== undefined) {
317
+ docString = (0, docStringUtils_1.extractParameterDocumentation)(docString, paramNode.name.value);
318
+ }
311
319
  if (symbol) {
312
320
  const paramDeclaration = {
313
321
  type: 2 /* Parameter */,
@@ -316,6 +324,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
316
324
  range: (0, positionUtils_1.convertTextRangeToRange)(paramNode, this._fileInfo.lines),
317
325
  moduleName: this._fileInfo.moduleName,
318
326
  isInExceptSuite: this._isInExceptSuite,
327
+ docString: docString,
319
328
  };
320
329
  symbol.addDeclaration(paramDeclaration);
321
330
  AnalyzerNodeInfo.setDeclaration(paramNode.name, paramDeclaration);
@@ -1260,7 +1269,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1260
1269
  }
1261
1270
  visitImportFrom(node) {
1262
1271
  var _a;
1263
- const typingSymbolsOfInterest = ['Final', 'TypeAlias', 'ClassVar', 'Required', 'NotRequired', 'Annotated'];
1272
+ const typingSymbolsOfInterest = ['Final', 'ClassVar', 'Annotated'];
1264
1273
  const dataclassesSymbolsOfInterest = ['InitVar'];
1265
1274
  const importInfo = AnalyzerNodeInfo.getImportInfo(node.module);
1266
1275
  let resolvedPath = '';
@@ -1898,7 +1907,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1898
1907
  pathOfLastSubmodule = importInfo.resolvedPaths[importInfo.resolvedPaths.length - 1];
1899
1908
  }
1900
1909
  else {
1901
- pathOfLastSubmodule = '*** unresolved ***';
1910
+ pathOfLastSubmodule = declaration_1.UnresolvedModuleMarker;
1902
1911
  }
1903
1912
  const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedPaths.length > 0;
1904
1913
  if (existingDecl) {
@@ -1956,7 +1965,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1956
1965
  if (!loaderActions) {
1957
1966
  const loaderActionPath = importInfo && i < importInfo.resolvedPaths.length
1958
1967
  ? importInfo.resolvedPaths[i]
1959
- : '*** unresolved ***';
1968
+ : declaration_1.UnresolvedModuleMarker;
1960
1969
  // Allocate a new loader action.
1961
1970
  loaderActions = {
1962
1971
  path: loaderActionPath,
@@ -2756,21 +2765,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2756
2765
  const symbolWithScope = this._currentScope.lookUpSymbolRecursive(name.value);
2757
2766
  if (symbolWithScope && symbolWithScope.symbol) {
2758
2767
  const finalInfo = this._isAnnotationFinal(typeAnnotation);
2759
- const isExplicitTypeAlias = this._isAnnotationTypeAlias(typeAnnotation);
2760
2768
  let typeAnnotationNode = typeAnnotation;
2761
- let innerTypeAnnotationNode = typeAnnotation;
2762
- if (isExplicitTypeAlias) {
2763
- typeAnnotationNode = undefined;
2764
- innerTypeAnnotationNode = undefined;
2765
- // Type aliases are allowed only in the global or class scope.
2766
- if (this._currentScope.type !== 2 /* Class */ &&
2767
- this._currentScope.type !== 3 /* Module */ &&
2768
- this._currentScope.type !== 4 /* Builtin */) {
2769
- this._addError(localize_1.Localizer.Diagnostic.typeAliasNotInModuleOrClass(), typeAnnotation);
2770
- }
2771
- }
2772
- else if (finalInfo.isFinal) {
2773
- innerTypeAnnotationNode = finalInfo.finalTypeNode;
2769
+ if (finalInfo.isFinal) {
2774
2770
  if (!finalInfo.finalTypeNode) {
2775
2771
  typeAnnotationNode = undefined;
2776
2772
  }
@@ -2778,7 +2774,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2778
2774
  // Is this annotation indicating that the variable is a "ClassVar"?
2779
2775
  let classVarInfo = this._isAnnotationClassVar(typeAnnotation);
2780
2776
  if (classVarInfo.isClassVar) {
2781
- innerTypeAnnotationNode = classVarInfo.classVarTypeNode;
2782
2777
  if (!classVarInfo.classVarTypeNode) {
2783
2778
  typeAnnotationNode = undefined;
2784
2779
  }
@@ -2803,11 +2798,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2803
2798
  node: target,
2804
2799
  isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
2805
2800
  isFinal: finalInfo.isFinal,
2806
- isClassVar: classVarInfo.isClassVar,
2807
- isRequired: this._isRequiredAnnotation(innerTypeAnnotationNode),
2808
- isNotRequired: this._isNotRequiredAnnotation(innerTypeAnnotationNode),
2809
- typeAliasAnnotation: isExplicitTypeAlias ? typeAnnotation : undefined,
2810
- typeAliasName: isExplicitTypeAlias ? target : undefined,
2801
+ typeAliasName: target,
2811
2802
  path: this._fileInfo.filePath,
2812
2803
  typeAnnotationNode,
2813
2804
  range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
@@ -2921,72 +2912,12 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2921
2912
  return false;
2922
2913
  }
2923
2914
  _getVariableDocString(node) {
2924
- var _a, _b, _c, _d;
2925
- // Walk up the parse tree to find an assignment expression.
2926
- let curNode = node;
2927
- let annotationNode;
2928
- while (curNode) {
2929
- if (curNode.nodeType === 3 /* Assignment */) {
2930
- break;
2931
- }
2932
- if (curNode.nodeType === 54 /* TypeAnnotation */ && !annotationNode) {
2933
- annotationNode = curNode;
2934
- }
2935
- curNode = curNode.parent;
2936
- }
2937
- if ((curNode === null || curNode === void 0 ? void 0 : curNode.nodeType) !== 3 /* Assignment */) {
2938
- // Allow a simple annotation statement to have a docstring even
2939
- // though PEP 258 doesn't mention this case. This PEP pre-dated
2940
- // PEP 526, so it didn't contemplate this situation.
2941
- if (annotationNode) {
2942
- curNode = annotationNode;
2943
- }
2944
- else {
2945
- return undefined;
2946
- }
2947
- }
2948
- const parentNode = curNode.parent;
2949
- if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeType) !== 47 /* StatementList */) {
2950
- return undefined;
2951
- }
2952
- const suiteOrModule = parentNode.parent;
2953
- if (!suiteOrModule ||
2954
- (suiteOrModule.nodeType !== 36 /* Module */ && suiteOrModule.nodeType !== 50 /* Suite */)) {
2955
- return undefined;
2956
- }
2957
- const assignmentIndex = suiteOrModule.statements.findIndex((node) => node === parentNode);
2958
- if (assignmentIndex < 0 || assignmentIndex === suiteOrModule.statements.length - 1) {
2959
- return undefined;
2960
- }
2961
- const nextStatement = suiteOrModule.statements[assignmentIndex + 1];
2962
- if (nextStatement.nodeType !== 47 /* StatementList */ || !ParseTreeUtils.isDocString(nextStatement)) {
2963
- return undefined;
2964
- }
2965
- // See if the assignment is within one of the contexts specified in PEP 258.
2966
- let isValidContext = false;
2967
- if (((_a = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 36 /* Module */) {
2968
- // If we're at the top level of a module, the attribute docstring is valid.
2969
- isValidContext = true;
2970
- }
2971
- else if (((_b = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 50 /* Suite */ &&
2972
- ((_d = (_c = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.nodeType) === 10 /* Class */) {
2973
- // If we're at the top level of a class, the attribute docstring is valid.
2974
- isValidContext = true;
2975
- }
2976
- else {
2977
- const func = ParseTreeUtils.getEnclosingFunction(parentNode);
2978
- // If we're within an __init__ method, the attribute docstring is valid.
2979
- if (func &&
2980
- func.name.value === '__init__' &&
2981
- ParseTreeUtils.getEnclosingClass(func, /* stopAtFunction */ true)) {
2982
- isValidContext = true;
2983
- }
2984
- }
2985
- if (!isValidContext) {
2915
+ const docNode = ParseTreeUtils.getVariableDocStringNode(node);
2916
+ if (!docNode) {
2986
2917
  return undefined;
2987
2918
  }
2988
2919
  // A docstring can consist of multiple joined strings in a single expression.
2989
- const strings = nextStatement.statements[0].strings;
2920
+ const strings = docNode.strings;
2990
2921
  if (strings.length === 1) {
2991
2922
  // Common case.
2992
2923
  return strings[0].value;
@@ -3073,12 +3004,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3073
3004
  }
3074
3005
  return false;
3075
3006
  }
3076
- _isAnnotationTypeAlias(typeAnnotation) {
3077
- if (!typeAnnotation) {
3078
- return false;
3079
- }
3080
- return this._isTypingAnnotation(typeAnnotation, 'TypeAlias');
3081
- }
3082
3007
  // Determines whether a member access expression is referring to a
3083
3008
  // member of a class (either a class or instance member). This will
3084
3009
  // typically take the form "self.x" or "cls.x".