@zzzen/pyright-internal 1.2.0-dev.20221009 → 1.2.0-dev.20221016
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.
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +4 -2
- package/dist/analyzer/backgroundAnalysisProgram.js +7 -2
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/cacheManager.d.ts +7 -7
- package/dist/analyzer/cacheManager.js +17 -15
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +35 -0
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +1 -0
- package/dist/analyzer/importResolver.js +3 -2
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/program.d.ts +5 -2
- package/dist/analyzer/program.js +29 -24
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/service.d.ts +2 -0
- package/dist/analyzer/service.js +12 -4
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +6 -3
- package/dist/analyzer/sourceMapper.js +38 -14
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +9 -0
- package/dist/analyzer/sourceMapperUtils.js +45 -0
- package/dist/analyzer/sourceMapperUtils.js.map +1 -0
- package/dist/analyzer/typeEvaluator.js +11 -4
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeUtils.js +0 -5
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +3 -1
- package/dist/analyzer/types.js +6 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.js +1 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/languageServerBase.d.ts +3 -1
- package/dist/languageServerBase.js +6 -2
- package/dist/languageServerBase.js.map +1 -1
- package/dist/localization/localize.d.ts +4 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +2 -0
- package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js +8 -6
- package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/runner.js +1 -0
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +1 -0
- package/dist/tests/harness/fourslash/testState.js +3 -0
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.d.ts +1 -0
- package/dist/tests/sourceMapperUtils.test.js +103 -0
- package/dist/tests/sourceMapperUtils.test.js.map +1 -0
- package/dist/tests/typeEvaluator2.test.js +4 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +4 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +4 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/workspaceMap.js +0 -3
- package/dist/workspaceMap.js.map +1 -1
- package/package.json +1 -1
@@ -8,6 +8,7 @@ import { LanguageServiceExtension } from '../common/extensibility';
|
|
8
8
|
import { Range } from '../common/textRange';
|
9
9
|
import { IndexResults } from '../languageService/documentSymbolProvider';
|
10
10
|
import { AnalysisCompleteCallback } from './analysis';
|
11
|
+
import { CacheManager } from './cacheManager';
|
11
12
|
import { ImportResolver } from './importResolver';
|
12
13
|
import { MaxAnalysisTime, OpenFileOptions, Program } from './program';
|
13
14
|
export declare class BackgroundAnalysisProgram {
|
@@ -20,7 +21,7 @@ export declare class BackgroundAnalysisProgram {
|
|
20
21
|
private _program;
|
21
22
|
private _onAnalysisCompletion;
|
22
23
|
private _indices;
|
23
|
-
constructor(_console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, extension?: LanguageServiceExtension, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined);
|
24
|
+
constructor(_console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, extension?: LanguageServiceExtension, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, cacheManager?: CacheManager);
|
24
25
|
get configOptions(): ConfigOptions;
|
25
26
|
get importResolver(): ImportResolver;
|
26
27
|
get program(): Program;
|
@@ -48,8 +49,9 @@ export declare class BackgroundAnalysisProgram {
|
|
48
49
|
writeTypeStub(targetImportPath: string, targetIsSingleFile: boolean, stubPath: string, token: CancellationToken): Promise<any>;
|
49
50
|
invalidateAndForceReanalysis(rebuildUserFileIndexing: boolean, rebuildLibraryIndexing: boolean): void;
|
50
51
|
restart(): void;
|
52
|
+
dispose(): void;
|
51
53
|
private _ensurePartialStubPackages;
|
52
54
|
private _getIndices;
|
53
55
|
private _reportDiagnosticsForRemovedFiles;
|
54
56
|
}
|
55
|
-
export declare type BackgroundAnalysisProgramFactory = (console: ConsoleInterface, configOptions: ConfigOptions, importResolver: ImportResolver, extension?: LanguageServiceExtension, backgroundAnalysis?: BackgroundAnalysisBase, maxAnalysisTime?: MaxAnalysisTime) => BackgroundAnalysisProgram;
|
57
|
+
export declare type BackgroundAnalysisProgramFactory = (console: ConsoleInterface, configOptions: ConfigOptions, importResolver: ImportResolver, extension?: LanguageServiceExtension, backgroundAnalysis?: BackgroundAnalysisBase, maxAnalysisTime?: MaxAnalysisTime, cacheManager?: CacheManager) => BackgroundAnalysisProgram;
|
@@ -12,14 +12,14 @@ exports.BackgroundAnalysisProgram = void 0;
|
|
12
12
|
const analysis_1 = require("./analysis");
|
13
13
|
const program_1 = require("./program");
|
14
14
|
class BackgroundAnalysisProgram {
|
15
|
-
constructor(_console, _configOptions, _importResolver, extension, _backgroundAnalysis, _maxAnalysisTime, _disableChecker) {
|
15
|
+
constructor(_console, _configOptions, _importResolver, extension, _backgroundAnalysis, _maxAnalysisTime, _disableChecker, cacheManager) {
|
16
16
|
this._console = _console;
|
17
17
|
this._configOptions = _configOptions;
|
18
18
|
this._importResolver = _importResolver;
|
19
19
|
this._backgroundAnalysis = _backgroundAnalysis;
|
20
20
|
this._maxAnalysisTime = _maxAnalysisTime;
|
21
21
|
this._disableChecker = _disableChecker;
|
22
|
-
this._program = new program_1.Program(this._importResolver, this._configOptions, this._console, extension, undefined, this._disableChecker);
|
22
|
+
this._program = new program_1.Program(this._importResolver, this._configOptions, this._console, extension, undefined, this._disableChecker, cacheManager);
|
23
23
|
}
|
24
24
|
get configOptions() {
|
25
25
|
return this._configOptions;
|
@@ -164,6 +164,11 @@ class BackgroundAnalysisProgram {
|
|
164
164
|
var _a;
|
165
165
|
(_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.restart();
|
166
166
|
}
|
167
|
+
dispose() {
|
168
|
+
var _a;
|
169
|
+
this._program.dispose();
|
170
|
+
(_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.shutdown();
|
171
|
+
}
|
167
172
|
_ensurePartialStubPackages(execEnv) {
|
168
173
|
var _a;
|
169
174
|
(_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.ensurePartialStubPackages(execEnv.root);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAaH,yCAAsE;
|
1
|
+
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
|
@@ -4,11 +4,11 @@ export interface CacheOwner {
|
|
4
4
|
emptyCache(): void;
|
5
5
|
}
|
6
6
|
export declare class CacheManager {
|
7
|
-
private
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
private
|
7
|
+
private readonly _cacheOwners;
|
8
|
+
registerCacheOwner(provider: CacheOwner): void;
|
9
|
+
unregisterCacheOwner(provider: CacheOwner): void;
|
10
|
+
getCacheUsage(): number;
|
11
|
+
emptyCache(console?: ConsoleInterface): void;
|
12
|
+
getUsedHeapRatio(console?: ConsoleInterface): number;
|
13
|
+
private _convertToMB;
|
14
14
|
}
|
@@ -10,40 +10,43 @@
|
|
10
10
|
*/
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
exports.CacheManager = void 0;
|
13
|
-
const v8_1 = require("v8");
|
14
13
|
const debug_1 = require("../common/debug");
|
14
|
+
const memUtils_1 = require("../common/memUtils");
|
15
15
|
class CacheManager {
|
16
|
-
|
17
|
-
|
16
|
+
constructor() {
|
17
|
+
this._cacheOwners = [];
|
18
18
|
}
|
19
|
-
|
20
|
-
|
19
|
+
registerCacheOwner(provider) {
|
20
|
+
this._cacheOwners.push(provider);
|
21
|
+
}
|
22
|
+
unregisterCacheOwner(provider) {
|
23
|
+
const index = this._cacheOwners.findIndex((p) => p === provider);
|
21
24
|
if (index < 0) {
|
22
25
|
(0, debug_1.fail)('Specified cache provider not found');
|
23
26
|
}
|
24
27
|
else {
|
25
|
-
|
28
|
+
this._cacheOwners.splice(index, 1);
|
26
29
|
}
|
27
30
|
}
|
28
|
-
|
31
|
+
getCacheUsage() {
|
29
32
|
let totalUsage = 0;
|
30
|
-
|
33
|
+
this._cacheOwners.forEach((p) => {
|
31
34
|
totalUsage += p.getCacheUsage();
|
32
35
|
});
|
33
36
|
return totalUsage;
|
34
37
|
}
|
35
|
-
|
38
|
+
emptyCache(console) {
|
36
39
|
if (console) {
|
37
|
-
const heapStats = (0,
|
40
|
+
const heapStats = (0, memUtils_1.getHeapStatistics)();
|
38
41
|
console.info(`Emptying type cache to avoid heap overflow. Used ${this._convertToMB(heapStats.used_heap_size)} out of ${this._convertToMB(heapStats.heap_size_limit)}.`);
|
39
42
|
}
|
40
|
-
|
43
|
+
this._cacheOwners.forEach((p) => {
|
41
44
|
p.emptyCache();
|
42
45
|
});
|
43
46
|
}
|
44
47
|
// Returns a ratio of used bytes to total bytes.
|
45
|
-
|
46
|
-
const heapStats = (0,
|
48
|
+
getUsedHeapRatio(console) {
|
49
|
+
const heapStats = (0, memUtils_1.getHeapStatistics)();
|
47
50
|
if (console) {
|
48
51
|
console.info(`Heap stats: ` +
|
49
52
|
`total_heap_size=${this._convertToMB(heapStats.total_heap_size)}, ` +
|
@@ -54,10 +57,9 @@ class CacheManager {
|
|
54
57
|
}
|
55
58
|
return heapStats.used_heap_size / heapStats.heap_size_limit;
|
56
59
|
}
|
57
|
-
|
60
|
+
_convertToMB(bytes) {
|
58
61
|
return `${Math.round(bytes / (1024 * 1024))}MB`;
|
59
62
|
}
|
60
63
|
}
|
61
64
|
exports.CacheManager = CacheManager;
|
62
|
-
CacheManager._cacheOwners = [];
|
63
65
|
//# sourceMappingURL=cacheManager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cacheManager.js","sourceRoot":"","sources":["../../../src/analyzer/cacheManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
1
|
+
{"version":3,"file":"cacheManager.js","sourceRoot":"","sources":["../../../src/analyzer/cacheManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAGH,2CAAuC;AACvC,iDAAuD;AAWvD,MAAa,YAAY;IAAzB;QACqB,iBAAY,GAAiB,EAAE,CAAC;IA8DrD,CAAC;IA5DG,kBAAkB,CAAC,QAAoB;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,oBAAoB,CAAC,QAAoB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,IAAA,YAAI,EAAC,oCAAoC,CAAC,CAAC;SAC9C;aAAM;YACH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACtC;IACL,CAAC;IAED,aAAa;QACT,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,UAAU,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,OAA0B;QACjC,IAAI,OAAO,EAAE;YACT,MAAM,SAAS,GAAG,IAAA,4BAAiB,GAAE,CAAC;YAEtC,OAAO,CAAC,IAAI,CACR,oDAAoD,IAAI,CAAC,YAAY,CACjE,SAAS,CAAC,cAAc,CAC3B,WAAW,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAC9D,CAAC;SACL;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,CAAC,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gDAAgD;IAChD,gBAAgB,CAAC,OAA0B;QACvC,MAAM,SAAS,GAAG,IAAA,4BAAiB,GAAE,CAAC;QAEtC,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,IAAI,CACR,cAAc;gBACV,mBAAmB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI;gBACnE,kBAAkB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI;gBACjE,uBAAuB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI;gBAC3E,wBAAwB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI;gBAC7E,mBAAmB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CACxE,CAAC;SACL;QAED,OAAO,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;IAChE,CAAC;IAEO,YAAY,CAAC,KAAa;QAC9B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;CACJ;AA/DD,oCA+DC"}
|
@@ -112,6 +112,7 @@ export declare class Checker extends ParseTreeWalker {
|
|
112
112
|
private _validateMultipleInheritanceCompatibility;
|
113
113
|
private _validateMultipleInheritanceOverride;
|
114
114
|
private _validateBaseClassOverrides;
|
115
|
+
private _validateOverrideDecorator;
|
115
116
|
private _validateBaseClassOverride;
|
116
117
|
private _validateMethod;
|
117
118
|
private _validateSuperCallForMethod;
|
package/dist/analyzer/checker.js
CHANGED
@@ -533,6 +533,15 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
533
533
|
// There is no return expression, so "None" is assumed.
|
534
534
|
returnType = types_1.NoneType.createInstance();
|
535
535
|
}
|
536
|
+
// If the enclosing function is async and a generator, the return
|
537
|
+
// statement is not allowed to have an argument. A syntax error occurs
|
538
|
+
// at runtime in this case.
|
539
|
+
if ((enclosingFunctionNode === null || enclosingFunctionNode === void 0 ? void 0 : enclosingFunctionNode.isAsync) && node.returnExpression) {
|
540
|
+
const functionDecl = AnalyzerNodeInfo.getDeclaration(enclosingFunctionNode);
|
541
|
+
if ((functionDecl === null || functionDecl === void 0 ? void 0 : functionDecl.type) === 5 /* Function */ && functionDecl.isGenerator) {
|
542
|
+
this._evaluator.addError(localize_1.Localizer.Diagnostic.returnInAsyncGenerator(), node.returnExpression);
|
543
|
+
}
|
544
|
+
}
|
536
545
|
if (this._evaluator.isNodeReachable(node, /* sourceNode */ undefined) && enclosingFunctionNode) {
|
537
546
|
if (declaredReturnType) {
|
538
547
|
if ((0, types_1.isNever)(declaredReturnType)) {
|
@@ -3341,6 +3350,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3341
3350
|
if ((0, types_1.isAnyOrUnknown)(typeOfSymbol)) {
|
3342
3351
|
return;
|
3343
3352
|
}
|
3353
|
+
let foundOverride = false;
|
3344
3354
|
for (const baseClass of classType.details.baseClasses) {
|
3345
3355
|
if (!(0, types_1.isClass)(baseClass)) {
|
3346
3356
|
continue;
|
@@ -3355,10 +3365,35 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3355
3365
|
if (!baseClassAndSymbol) {
|
3356
3366
|
continue;
|
3357
3367
|
}
|
3368
|
+
foundOverride = true;
|
3358
3369
|
this._validateBaseClassOverride(baseClassAndSymbol, symbol, typeOfSymbol, classType, name);
|
3359
3370
|
}
|
3371
|
+
if (!foundOverride) {
|
3372
|
+
// If this is a method decorated with @override, validate that there
|
3373
|
+
// is a base class method of the same name.
|
3374
|
+
this._validateOverrideDecorator(typeOfSymbol);
|
3375
|
+
}
|
3360
3376
|
});
|
3361
3377
|
}
|
3378
|
+
// Determines whether the type is a function or overloaded function with an @override
|
3379
|
+
// decorator. In this case, an error is reported because no base class has declared
|
3380
|
+
// a method of the same name.
|
3381
|
+
_validateOverrideDecorator(overrideType) {
|
3382
|
+
let overrideFunction;
|
3383
|
+
if ((0, types_1.isFunction)(overrideType)) {
|
3384
|
+
overrideFunction = overrideType;
|
3385
|
+
}
|
3386
|
+
else if ((0, types_1.isOverloadedFunction)(overrideType)) {
|
3387
|
+
overrideFunction = types_1.OverloadedFunctionType.getImplementation(overrideType);
|
3388
|
+
}
|
3389
|
+
if (!overrideFunction ||
|
3390
|
+
!types_1.FunctionType.isOverridden(overrideFunction) ||
|
3391
|
+
!overrideFunction.details.declaration) {
|
3392
|
+
return;
|
3393
|
+
}
|
3394
|
+
const funcNode = overrideFunction.details.declaration.node;
|
3395
|
+
this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.overrideNotFound().format({ name: funcNode.name.value }), funcNode.name);
|
3396
|
+
}
|
3362
3397
|
_validateBaseClassOverride(baseClassAndSymbol, overrideSymbol, overrideType, childClassType, memberName) {
|
3363
3398
|
if (!(0, types_1.isInstantiableClass)(baseClassAndSymbol.classType)) {
|
3364
3399
|
return;
|