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

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 (118) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -0
  2. package/dist/analyzer/backgroundAnalysisProgram.js +5 -0
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/checker.js +7 -4
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/commentUtils.d.ts +6 -1
  7. package/dist/analyzer/commentUtils.js +100 -25
  8. package/dist/analyzer/commentUtils.js.map +1 -1
  9. package/dist/analyzer/declaration.d.ts +1 -0
  10. package/dist/analyzer/declaration.js.map +1 -1
  11. package/dist/analyzer/importStatementUtils.d.ts +1 -0
  12. package/dist/analyzer/importStatementUtils.js +14 -1
  13. package/dist/analyzer/importStatementUtils.js.map +1 -1
  14. package/dist/analyzer/parseTreeUtils.d.ts +5 -2
  15. package/dist/analyzer/parseTreeUtils.js +21 -3
  16. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  17. package/dist/analyzer/patternMatching.js +25 -5
  18. package/dist/analyzer/patternMatching.js.map +1 -1
  19. package/dist/analyzer/program.d.ts +9 -2
  20. package/dist/analyzer/program.js +106 -8
  21. package/dist/analyzer/program.js.map +1 -1
  22. package/dist/analyzer/service.d.ts +1 -4
  23. package/dist/analyzer/service.js +16 -36
  24. package/dist/analyzer/service.js.map +1 -1
  25. package/dist/analyzer/sourceFile.d.ts +4 -0
  26. package/dist/analyzer/sourceFile.js +82 -16
  27. package/dist/analyzer/sourceFile.js.map +1 -1
  28. package/dist/analyzer/typeEvaluator.js +43 -15
  29. package/dist/analyzer/typeEvaluator.js.map +1 -1
  30. package/dist/backgroundAnalysisBase.d.ts +2 -1
  31. package/dist/backgroundAnalysisBase.js +15 -1
  32. package/dist/backgroundAnalysisBase.js.map +1 -1
  33. package/dist/backgroundThreadBase.js +1 -0
  34. package/dist/backgroundThreadBase.js.map +1 -1
  35. package/dist/common/commandLineOptions.d.ts +2 -0
  36. package/dist/common/commandLineOptions.js.map +1 -1
  37. package/dist/common/configOptions.d.ts +3 -0
  38. package/dist/common/configOptions.js +10 -1
  39. package/dist/common/configOptions.js.map +1 -1
  40. package/dist/common/core.d.ts +2 -0
  41. package/dist/common/core.js +9 -1
  42. package/dist/common/core.js.map +1 -1
  43. package/dist/common/diagnostic.d.ts +15 -3
  44. package/dist/common/diagnostic.js +13 -4
  45. package/dist/common/diagnostic.js.map +1 -1
  46. package/dist/common/editAction.d.ts +1 -0
  47. package/dist/common/editAction.js +8 -0
  48. package/dist/common/editAction.js.map +1 -1
  49. package/dist/common/extensibility.d.ts +34 -11
  50. package/dist/common/extensibility.js +63 -18
  51. package/dist/common/extensibility.js.map +1 -1
  52. package/dist/common/pathUtils.d.ts +3 -0
  53. package/dist/common/pathUtils.js +18 -0
  54. package/dist/common/pathUtils.js.map +1 -1
  55. package/dist/common/textEditUtils.d.ts +26 -9
  56. package/dist/common/textEditUtils.js +218 -41
  57. package/dist/common/textEditUtils.js.map +1 -1
  58. package/dist/languageServerBase.d.ts +3 -0
  59. package/dist/languageServerBase.js +90 -1
  60. package/dist/languageServerBase.js.map +1 -1
  61. package/dist/languageService/analyzerServiceExecutor.js +1 -0
  62. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  63. package/dist/languageService/definitionProvider.js +1 -1
  64. package/dist/languageService/definitionProvider.js.map +1 -1
  65. package/dist/languageService/documentSymbolCollector.js +1 -1
  66. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  67. package/dist/languageService/hoverProvider.js +10 -6
  68. package/dist/languageService/hoverProvider.js.map +1 -1
  69. package/dist/languageService/importAdder.d.ts +4 -0
  70. package/dist/languageService/importAdder.js +50 -13
  71. package/dist/languageService/importAdder.js.map +1 -1
  72. package/dist/languageService/insertionPointUtils.js +28 -7
  73. package/dist/languageService/insertionPointUtils.js.map +1 -1
  74. package/dist/languageService/renameModuleProvider.d.ts +12 -10
  75. package/dist/languageService/renameModuleProvider.js +240 -229
  76. package/dist/languageService/renameModuleProvider.js.map +1 -1
  77. package/dist/localization/localize.d.ts +9 -0
  78. package/dist/localization/localize.js +5 -0
  79. package/dist/localization/localize.js.map +1 -1
  80. package/dist/localization/package.nls.en-us.json +7 -1
  81. package/dist/tests/checker.test.js +5 -0
  82. package/dist/tests/checker.test.js.map +1 -1
  83. package/dist/tests/fourslash/hover.inferred.fourslash.d.ts +1 -0
  84. package/dist/tests/fourslash/hover.inferred.fourslash.js +24 -0
  85. package/dist/tests/fourslash/hover.inferred.fourslash.js.map +1 -0
  86. package/dist/tests/importAdder.test.js +39 -2
  87. package/dist/tests/importAdder.test.js.map +1 -1
  88. package/dist/tests/insertionPointUtils.test.js +70 -3
  89. package/dist/tests/insertionPointUtils.test.js.map +1 -1
  90. package/dist/tests/{updateSymbolReference.test.d.ts → moveSymbol.importAdder.test.d.ts} +0 -0
  91. package/dist/tests/moveSymbol.importAdder.test.js +139 -0
  92. package/dist/tests/moveSymbol.importAdder.test.js.map +1 -0
  93. package/dist/tests/moveSymbol.insertion.test.d.ts +1 -0
  94. package/dist/tests/moveSymbol.insertion.test.js +360 -0
  95. package/dist/tests/moveSymbol.insertion.test.js.map +1 -0
  96. package/dist/tests/moveSymbol.misc.test.d.ts +1 -0
  97. package/dist/tests/moveSymbol.misc.test.js +37 -0
  98. package/dist/tests/moveSymbol.misc.test.js.map +1 -0
  99. package/dist/tests/moveSymbol.updateReference.test.d.ts +1 -0
  100. package/dist/tests/{updateSymbolReference.test.js → moveSymbol.updateReference.test.js} +235 -158
  101. package/dist/tests/moveSymbol.updateReference.test.js.map +1 -0
  102. package/dist/tests/parseTreeUtils.test.js +36 -13
  103. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  104. package/dist/tests/renameModuleTestUtils.js +9 -3
  105. package/dist/tests/renameModuleTestUtils.js.map +1 -1
  106. package/dist/tests/testStateUtils.d.ts +2 -0
  107. package/dist/tests/testStateUtils.js +25 -22
  108. package/dist/tests/testStateUtils.js.map +1 -1
  109. package/dist/tests/textEditUtil.test.d.ts +1 -0
  110. package/dist/tests/textEditUtil.test.js +107 -0
  111. package/dist/tests/textEditUtil.test.js.map +1 -0
  112. package/dist/tests/typeEvaluator4.test.js +4 -0
  113. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  114. package/dist/workspaceMap.d.ts +0 -1
  115. package/dist/workspaceMap.js +0 -11
  116. package/dist/workspaceMap.js.map +1 -1
  117. package/package.json +1 -1
  118. package/dist/tests/updateSymbolReference.test.js.map +0 -1
@@ -1,4 +1,9 @@
1
1
  import { DiagnosticRuleSet } from '../common/configOptions';
2
+ import { TextRange } from '../common/textRange';
2
3
  import { TextRangeCollection } from '../common/textRangeCollection';
3
4
  import { Token } from '../parser/tokenizerTypes';
4
- export declare function getFileLevelDirectives(tokens: TextRangeCollection<Token>, defaultRuleSet: DiagnosticRuleSet, useStrict: boolean): DiagnosticRuleSet;
5
+ export interface CommentDiagnostic {
6
+ message: string;
7
+ range: TextRange;
8
+ }
9
+ export declare function getFileLevelDirectives(tokens: TextRangeCollection<Token>, defaultRuleSet: DiagnosticRuleSet, useStrict: boolean, diagnostics: CommentDiagnostic[]): DiagnosticRuleSet;
@@ -11,7 +11,11 @@
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getFileLevelDirectives = void 0;
13
13
  const configOptions_1 = require("../common/configOptions");
14
- function getFileLevelDirectives(tokens, defaultRuleSet, useStrict) {
14
+ const debug_1 = require("../common/debug");
15
+ const localize_1 = require("../localization/localize");
16
+ const strictSetting = 'strict';
17
+ const basicSetting = 'basic';
18
+ function getFileLevelDirectives(tokens, defaultRuleSet, useStrict, diagnostics) {
15
19
  let ruleSet = (0, configOptions_1.cloneDiagnosticRuleSet)(defaultRuleSet);
16
20
  if (useStrict) {
17
21
  _applyStrictRules(ruleSet);
@@ -20,8 +24,9 @@ function getFileLevelDirectives(tokens, defaultRuleSet, useStrict) {
20
24
  const token = tokens.getItemAt(i);
21
25
  if (token.comments) {
22
26
  for (const comment of token.comments) {
23
- const value = comment.value.trim();
24
- ruleSet = _parsePyrightComment(value, ruleSet);
27
+ const textRange = { start: comment.start, length: comment.length };
28
+ const value = _trimTextWithRange(comment.value, textRange);
29
+ ruleSet = _parsePyrightComment(value, textRange, ruleSet, diagnostics);
25
30
  }
26
31
  }
27
32
  }
@@ -60,47 +65,100 @@ function _overrideRules(ruleSet, overrideRuleSet, skipRuleNames) {
60
65
  }
61
66
  }
62
67
  }
63
- function _parsePyrightComment(commentValue, ruleSet) {
64
- // Is this a pyright or mspython-specific comment?
65
- const validPrefixes = ['pyright:', 'mspython:'];
66
- const prefix = validPrefixes.find((p) => commentValue.startsWith(p));
67
- if (prefix) {
68
- const operands = commentValue.substr(prefix.length).trim();
69
- const operandList = operands.split(',').map((s) => s.trim());
68
+ function _parsePyrightComment(commentValue, commentRange, ruleSet, diagnostics) {
69
+ // Is this a pyright comment?
70
+ const commentPrefix = 'pyright:';
71
+ if (commentValue.startsWith(commentPrefix)) {
72
+ const operands = commentValue.substring(commentPrefix.length);
73
+ // Handle (actual ignore) "ignore" directives.
74
+ if (operands.trim().startsWith('ignore')) {
75
+ return ruleSet;
76
+ }
77
+ const operandList = operands.split(',');
70
78
  // If it contains a "strict" operand, replace the existing
71
79
  // diagnostic rules with their strict counterparts.
72
- if (operandList.some((s) => s === 'strict')) {
80
+ if (operandList.some((s) => s.trim() === strictSetting)) {
73
81
  _applyStrictRules(ruleSet);
74
82
  }
75
- else if (operandList.some((s) => s === 'basic')) {
83
+ else if (operandList.some((s) => s.trim() === basicSetting)) {
76
84
  _applyBasicRules(ruleSet);
77
85
  }
86
+ let rangeOffset = 0;
78
87
  for (const operand of operandList) {
79
- ruleSet = _parsePyrightOperand(operand, ruleSet);
88
+ const operandRange = {
89
+ start: commentRange.start + commentPrefix.length + rangeOffset,
90
+ length: operand.length,
91
+ };
92
+ const trimmedOperand = _trimTextWithRange(operand, operandRange);
93
+ ruleSet = _parsePyrightOperand(trimmedOperand, operandRange, ruleSet, diagnostics);
94
+ rangeOffset += operand.length + 1;
80
95
  }
81
96
  }
82
97
  return ruleSet;
83
98
  }
84
- function _parsePyrightOperand(operand, ruleSet) {
85
- const operandSplit = operand.split('=').map((s) => s.trim());
86
- if (operandSplit.length !== 2) {
87
- return ruleSet;
99
+ function _parsePyrightOperand(operand, operandRange, ruleSet, diagnostics) {
100
+ const operandSplit = operand.split('=');
101
+ const ruleRange = {
102
+ start: operandRange.start,
103
+ length: operandSplit[0].length,
104
+ };
105
+ const trimmedRule = _trimTextWithRange(operandSplit[0], ruleRange);
106
+ // Handle basic directives "basic" and "strict".
107
+ if (operandSplit.length === 1) {
108
+ if (trimmedRule && [strictSetting, basicSetting].some((setting) => trimmedRule === setting)) {
109
+ return ruleSet;
110
+ }
88
111
  }
89
- const ruleName = operandSplit[0];
90
- const boolRules = (0, configOptions_1.getBooleanDiagnosticRules)();
91
112
  const diagLevelRules = (0, configOptions_1.getDiagLevelDiagnosticRules)();
92
- if (diagLevelRules.find((r) => r === ruleName)) {
93
- const diagLevelValue = _parseDiagLevel(operandSplit[1]);
113
+ const boolRules = (0, configOptions_1.getBooleanDiagnosticRules)();
114
+ const ruleValue = operandSplit.length > 0 ? operandSplit.slice(1).join('=') : '';
115
+ const ruleValueRange = {
116
+ start: operandRange.start + operandSplit[0].length + 1,
117
+ length: ruleValue.length,
118
+ };
119
+ const trimmedRuleValue = _trimTextWithRange(ruleValue, ruleValueRange);
120
+ if (diagLevelRules.find((r) => r === trimmedRule)) {
121
+ const diagLevelValue = _parseDiagLevel(trimmedRuleValue);
94
122
  if (diagLevelValue !== undefined) {
95
- ruleSet[ruleName] = diagLevelValue;
123
+ ruleSet[trimmedRule] = diagLevelValue;
124
+ }
125
+ else {
126
+ const diag = {
127
+ message: localize_1.Localizer.Diagnostic.pyrightCommentInvalidDiagnosticSeverityValue(),
128
+ range: trimmedRuleValue ? ruleValueRange : ruleRange,
129
+ };
130
+ diagnostics.push(diag);
96
131
  }
97
132
  }
98
- else if (boolRules.find((r) => r === ruleName)) {
99
- const boolValue = _parseBoolSetting(operandSplit[1]);
133
+ else if (boolRules.find((r) => r === trimmedRule)) {
134
+ const boolValue = _parseBoolSetting(trimmedRuleValue);
100
135
  if (boolValue !== undefined) {
101
- ruleSet[ruleName] = boolValue;
136
+ ruleSet[trimmedRule] = boolValue;
137
+ }
138
+ else {
139
+ const diag = {
140
+ message: localize_1.Localizer.Diagnostic.pyrightCommentInvalidDiagnosticBoolValue(),
141
+ range: trimmedRuleValue ? ruleValueRange : ruleRange,
142
+ };
143
+ diagnostics.push(diag);
102
144
  }
103
145
  }
146
+ else if (trimmedRule) {
147
+ const diag = {
148
+ message: trimmedRuleValue
149
+ ? localize_1.Localizer.Diagnostic.pyrightCommentUnknownDiagnosticRule().format({ rule: trimmedRule })
150
+ : localize_1.Localizer.Diagnostic.pyrightCommentUnknownDirective().format({ directive: trimmedRule }),
151
+ range: ruleRange,
152
+ };
153
+ diagnostics.push(diag);
154
+ }
155
+ else {
156
+ const diag = {
157
+ message: localize_1.Localizer.Diagnostic.pyrightCommentMissingDirective(),
158
+ range: ruleRange,
159
+ };
160
+ diagnostics.push(diag);
161
+ }
104
162
  return ruleSet;
105
163
  }
106
164
  function _parseDiagLevel(value) {
@@ -128,4 +186,21 @@ function _parseBoolSetting(value) {
128
186
  }
129
187
  return undefined;
130
188
  }
189
+ // Calls "trim" on the text and adjusts the corresponding range
190
+ // if characters are trimmed from the beginning or end.
191
+ function _trimTextWithRange(text, range) {
192
+ (0, debug_1.assert)(text.length === range.length);
193
+ const value1 = text.trimStart();
194
+ if (value1 !== text) {
195
+ const delta = text.length - value1.length;
196
+ range.start += delta;
197
+ range.length -= delta;
198
+ }
199
+ const value2 = value1.trimEnd();
200
+ if (value2 !== value1) {
201
+ range.length -= value1.length - value2.length;
202
+ }
203
+ (0, debug_1.assert)(value2.length === range.length);
204
+ return value2;
205
+ }
131
206
  //# sourceMappingURL=commentUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commentUtils.js","sourceRoot":"","sources":["../../../src/analyzer/commentUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commentUtils.js","sourceRoot":"","sources":["../../../src/analyzer/commentUtils.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,7 @@ export interface VariableDeclaration extends DeclarationBase {
73
73
  typeAliasName?: NameNode | undefined;
74
74
  isDefinedByMemberAccess?: boolean;
75
75
  docString?: string | undefined;
76
+ alternativeTypeNode?: ExpressionNode;
76
77
  }
77
78
  export interface AliasDeclaration extends DeclarationBase {
78
79
  type: DeclarationType.Alias;
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../../src/analyzer/declaration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAwBH,IAAkB,eAUjB;AAVD,WAAkB,eAAe;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,+DAAS,CAAA;IACT,uEAAa,CAAA;IACb,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,mFAAmB,CAAA;IACnB,uDAAK,CAAA;AACT,CAAC,EAViB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAUhC;AA+MD,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qBAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kBAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,0BAA0B,CAAC,IAAiB;IACxD,OAAO,IAAI,CAAC,IAAI,0BAAkC,CAAC;AACvD,CAAC;AAFD,gEAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qBAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kBAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,gCAAgC,CAAC,IAAiB;IAC9D,OAAO,IAAI,CAAC,IAAI,gCAAwC,CAAC;AAC7D,CAAC;AAFD,4EAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../../src/analyzer/declaration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAwBH,IAAkB,eAUjB;AAVD,WAAkB,eAAe;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,+DAAS,CAAA;IACT,uEAAa,CAAA;IACb,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,mFAAmB,CAAA;IACnB,uDAAK,CAAA;AACT,CAAC,EAViB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAUhC;AAkND,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qBAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kBAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,0BAA0B,CAAC,IAAiB;IACxD,OAAO,IAAI,CAAC,IAAI,0BAAkC,CAAC;AACvD,CAAC;AAFD,gEAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qBAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kBAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,gCAAgC,CAAC,IAAiB;IAC9D,OAAO,IAAI,CAAC,IAAI,gCAAwC,CAAC;AAC7D,CAAC;AAFD,4EAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC"}
@@ -50,3 +50,4 @@ export declare function getTextRangeForImportNameDeletion(nameNodes: ImportAsNod
50
50
  export declare function getRelativeModuleName(fs: FileSystem, sourcePath: string, targetPath: string, ignoreFolderStructure?: boolean, sourceIsFile?: boolean): string;
51
51
  export declare function getDirectoryLeadingDotsPointsTo(fromDirectory: string, leadingDots: number): string | undefined;
52
52
  export declare function getResolvedFilePath(importResult: ImportResult | undefined): string | undefined;
53
+ export declare function haveSameParentModule(module1: string[], module2: string[]): boolean;
@@ -28,7 +28,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
28
28
  return result;
29
29
  };
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.getResolvedFilePath = exports.getDirectoryLeadingDotsPointsTo = exports.getRelativeModuleName = exports.getTextRangeForImportNameDeletion = exports.getImportGroupFromModuleNameAndType = exports.getAllImportNames = exports.getContainingImportStatement = exports.getTextEditsForAutoImportInsertion = exports.getTextEditsForAutoImportInsertions = exports.getTextEditsForAutoImportSymbolAddition = exports.getTopLevelImports = exports.compareImportStatements = exports.getImportGroup = exports.ImportGroup = void 0;
31
+ exports.haveSameParentModule = exports.getResolvedFilePath = exports.getDirectoryLeadingDotsPointsTo = exports.getRelativeModuleName = exports.getTextRangeForImportNameDeletion = exports.getImportGroupFromModuleNameAndType = exports.getAllImportNames = exports.getContainingImportStatement = exports.getTextEditsForAutoImportInsertion = exports.getTextEditsForAutoImportInsertions = exports.getTextEditsForAutoImportSymbolAddition = exports.getTopLevelImports = exports.compareImportStatements = exports.getImportGroup = exports.ImportGroup = void 0;
32
32
  const cancellationUtils_1 = require("../common/cancellationUtils");
33
33
  const collectionUtils_1 = require("../common/collectionUtils");
34
34
  const pathUtils_1 = require("../common/pathUtils");
@@ -672,4 +672,17 @@ function getResolvedFilePath(importResult) {
672
672
  return importResult.resolvedPaths[importResult.resolvedPaths.length - 1];
673
673
  }
674
674
  exports.getResolvedFilePath = getResolvedFilePath;
675
+ function haveSameParentModule(module1, module2) {
676
+ if (module1.length !== module2.length) {
677
+ return false;
678
+ }
679
+ let i = 0;
680
+ for (i = 0; i < module1.length - 1; i++) {
681
+ if (module1[i] !== module2[i]) {
682
+ break;
683
+ }
684
+ }
685
+ return i === module1.length - 1;
686
+ }
687
+ exports.haveSameParentModule = haveSameParentModule;
675
688
  //# sourceMappingURL=importStatementUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"importStatementUtils.js","sourceRoot":"","sources":["../../../src/analyzer/importStatementUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importStatementUtils.js","sourceRoot":"","sources":["../../../src/analyzer/importStatementUtils.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Position, Range } from '../common/textRange';
2
2
  import { TextRange } from '../common/textRange';
3
3
  import { TextRangeCollection } from '../common/textRangeCollection';
4
4
  import { ArgumentNode, AssignmentExpressionNode, CallNode, ClassNode, DecoratorNode, EvaluationScopeNode, ExecutionScopeNode, ExpressionNode, FunctionNode, ImportFromNode, IndexNode, LambdaNode, MemberAccessNode, ModuleNode, NameNode, ParameterNode, ParseNode, ParseNodeType, StatementListNode, StatementNode, StringNode, SuiteNode, TypeAnnotationNode, TypeParameterScopeNode } from '../parser/parseNodes';
5
- import { TokenizerOutput } from '../parser/tokenizer';
5
+ import { ParseResults } from '../parser/parser';
6
6
  import { OperatorType, StringToken, Token } from '../parser/tokenizerTypes';
7
7
  import { ParseTreeWalker } from './parseTreeWalker';
8
8
  export declare const enum PrintExpressionFlags {
@@ -101,7 +101,10 @@ export declare function isFirstNameOfDottedName(node: NameNode): boolean;
101
101
  export declare function isLastNameOfDottedName(node: NameNode): boolean;
102
102
  export declare function getStringNodeValueRange(node: StringNode): TextRange;
103
103
  export declare function getStringValueRange(token: StringToken): TextRange;
104
- export declare function getFullStatementRange(statementNode: ParseNode, tokenizerOutput: TokenizerOutput): Range;
104
+ export declare function getFullStatementRange(statementNode: ParseNode, parseResults: ParseResults, options?: {
105
+ includeTrailingBlankLines: boolean;
106
+ }): Range;
107
+ export declare function isBlankLine(parseResults: ParseResults, line: number): boolean;
105
108
  export declare function isUnannotatedFunction(node: FunctionNode): boolean;
106
109
  export declare function isValidLocationForFutureImport(node: ImportFromNode): boolean;
107
110
  export declare function operatorSupportsChaining(op: OperatorType): boolean;
@@ -28,8 +28,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.getTokenAtIndex = exports.isWhitespace = exports.getTokenAtLeft = exports.getTokenIndexAtLeft = exports.getCallNodeAndActiveParameterIndex = exports.getEnclosingParameter = exports.CallNodeWalker = exports.NameNodeWalker = exports.isAssignmentToDefaultsFollowingNamedTuple = exports.isDocString = exports.getDocString = exports.isWithinAssertExpression = exports.isWithinTryBlock = exports.isWithinLoop = exports.isWithinAnnotationComment = exports.isWithinTypeAnnotation = exports.isWithinDefaultParamInitializer = exports.isPartialMatchingExpression = exports.isMatchingExpression = exports.isSuiteEmpty = exports.isNodeContainedWithinNodeType = exports.getParentAnnotationNode = exports.getParentNodeOfType = exports.isNodeContainedWithin = exports.isClassVarAllowedForAssignmentTarget = exports.isFinalAllowedForAssignmentTarget = exports.getTypeAnnotationNode = exports.getExecutionScopeNode = exports.getTypeVarScopeNode = exports.getEvaluationScopeNode = exports.getEvaluationNodeForAssignmentExpression = exports.getEnclosingSuiteOrModule = exports.getEnclosingClassOrFunction = exports.getEnclosingLambda = exports.getEnclosingFunction = exports.getEnclosingClassOrModule = exports.getEnclosingModule = exports.getEnclosingClass = exports.getEnclosingSuite = exports.getCallForName = exports.printOperator = exports.printExpression = exports.printArgument = exports.getTypeSourceId = exports.getClassFullName = exports.isCompliantWithNodeRangeRules = exports.findNodeByOffset = exports.findNodeByPosition = exports.getNodeDepth = exports.PrintExpressionFlags = void 0;
31
- exports.operatorSupportsChaining = exports.isValidLocationForFutureImport = exports.isUnannotatedFunction = exports.getFullStatementRange = exports.getStringValueRange = exports.getStringNodeValueRange = exports.isLastNameOfDottedName = exports.isFirstNameOfDottedName = exports.getFirstNameOfDottedName = exports.getDottedName = exports.getDecoratorName = exports.getDottedNameWithGivenNodeAsLastName = exports.getFirstAncestorOrSelf = exports.getFirstAncestorOrSelfOfKind = exports.isLastNameOfModuleName = exports.isFromImportAlias = exports.isFromImportName = exports.isFromImportModuleName = exports.isImportAlias = exports.isImportModuleName = exports.getTypeAnnotationForParameter = exports.isFunctionSuiteEmpty = exports.getFileInfoFromNode = exports.getModuleNode = exports.isWriteAccess = exports.printParseNodeType = exports.getTokenOverlapping = exports.getTokenAt = void 0;
31
+ exports.operatorSupportsChaining = exports.isValidLocationForFutureImport = exports.isUnannotatedFunction = exports.isBlankLine = exports.getFullStatementRange = exports.getStringValueRange = exports.getStringNodeValueRange = exports.isLastNameOfDottedName = exports.isFirstNameOfDottedName = exports.getFirstNameOfDottedName = exports.getDottedName = exports.getDecoratorName = exports.getDottedNameWithGivenNodeAsLastName = exports.getFirstAncestorOrSelf = exports.getFirstAncestorOrSelfOfKind = exports.isLastNameOfModuleName = exports.isFromImportAlias = exports.isFromImportName = exports.isFromImportModuleName = exports.isImportAlias = exports.isImportModuleName = exports.getTypeAnnotationForParameter = exports.isFunctionSuiteEmpty = exports.getFileInfoFromNode = exports.getModuleNode = exports.isWriteAccess = exports.printParseNodeType = exports.getTokenOverlapping = exports.getTokenAt = void 0;
32
32
  const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
33
+ const core_1 = require("../common/core");
33
34
  const debug_1 = require("../common/debug");
34
35
  const positionUtils_1 = require("../common/positionUtils");
35
36
  const textRange_1 = require("../common/textRange");
@@ -1905,8 +1906,9 @@ function getStringValueRange(token) {
1905
1906
  return textRange_1.TextRange.create(token.start + length, token.length - length - (hasEnding ? length : 0));
1906
1907
  }
1907
1908
  exports.getStringValueRange = getStringValueRange;
1908
- function getFullStatementRange(statementNode, tokenizerOutput) {
1909
+ function getFullStatementRange(statementNode, parseResults, options) {
1909
1910
  var _a;
1911
+ const tokenizerOutput = parseResults.tokenizerOutput;
1910
1912
  const range = (0, positionUtils_1.convertTextRangeToRange)(statementNode, tokenizerOutput.lines);
1911
1913
  const start = (_a = _getStartPositionIfMultipleStatementsAreOnSameLine(range, statementNode.start, tokenizerOutput)) !== null && _a !== void 0 ? _a : {
1912
1914
  line: range.start.line,
@@ -1921,9 +1923,25 @@ function getFullStatementRange(statementNode, tokenizerOutput) {
1921
1923
  if (range.end.line === tokenizerOutput.lines.count - 1) {
1922
1924
  return { start, end: range.end };
1923
1925
  }
1924
- return { start, end: { line: range.end.line + 1, character: 0 } };
1926
+ let lineDeltaToAdd = 1;
1927
+ if (options) {
1928
+ if (options.includeTrailingBlankLines) {
1929
+ for (let i = lineDeltaToAdd; range.end.line + i < tokenizerOutput.lines.count; i++) {
1930
+ if (!isBlankLine(parseResults, range.end.line + i)) {
1931
+ lineDeltaToAdd = i;
1932
+ break;
1933
+ }
1934
+ }
1935
+ }
1936
+ }
1937
+ return { start, end: { line: range.end.line + lineDeltaToAdd, character: 0 } };
1925
1938
  }
1926
1939
  exports.getFullStatementRange = getFullStatementRange;
1940
+ function isBlankLine(parseResults, line) {
1941
+ const span = parseResults.tokenizerOutput.lines.getItemAt(line);
1942
+ return (0, core_1.containsOnlyWhitespace)(parseResults.text, span);
1943
+ }
1944
+ exports.isBlankLine = isBlankLine;
1927
1945
  function isUnannotatedFunction(node) {
1928
1946
  return (node.returnTypeAnnotation === undefined &&
1929
1947
  node.parameters.every((param) => param.typeAnnotation === undefined && param.typeAnnotationComment === undefined));