@zzzen/pyright-internal 1.2.0-dev.20240421 → 1.2.0-dev.20240505
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/analyzerNodeInfo.d.ts +1 -4
- package/dist/analyzer/analyzerNodeInfo.js +1 -11
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.d.ts +0 -2
- package/dist/analyzer/binder.js +42 -66
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +98 -45
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constructors.js +31 -13
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +1 -1
- package/dist/analyzer/dataClasses.js +23 -11
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/deprecatedSymbols.js +2 -4
- package/dist/analyzer/deprecatedSymbols.js.map +1 -1
- package/dist/analyzer/namedTuples.js +0 -8
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +3 -2
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +10 -10
- package/dist/analyzer/parseTreeUtils.d.ts +6 -3
- package/dist/analyzer/parseTreeUtils.js +75 -46
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +19 -13
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/protocols.js +32 -13
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/scope.d.ts +14 -7
- package/dist/analyzer/scope.js +28 -17
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/scopeUtils.js +3 -3
- package/dist/analyzer/scopeUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +252 -207
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +5 -1
- package/dist/analyzer/typeGuards.js +35 -110
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.js +6 -8
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -6
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.js +13 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/console.d.ts +12 -1
- package/dist/common/console.js +22 -3
- package/dist/common/console.js.map +1 -1
- package/dist/common/diagnostic.d.ts +4 -0
- package/dist/common/diagnostic.js +10 -4
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -2
- package/dist/common/envVarUtils.js +1 -2
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +6 -3
- package/dist/common/languageServerInterface.js +11 -0
- package/dist/common/languageServerInterface.js.map +1 -1
- package/dist/common/uri/uri.d.ts +2 -0
- package/dist/common/uri/uri.js +3 -1
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/languageServerBase.d.ts +3 -2
- package/dist/languageServerBase.js +13 -35
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +5 -2
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +12 -8
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +1 -1
- package/dist/languageService/dynamicFeature.d.ts +18 -0
- package/dist/languageService/dynamicFeature.js +54 -0
- package/dist/languageService/dynamicFeature.js.map +1 -0
- package/dist/languageService/fileWatcherDynamicFeature.d.ts +12 -0
- package/dist/languageService/fileWatcherDynamicFeature.js +49 -0
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -0
- package/dist/languageService/referencesProvider.js +3 -2
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/localization/package.nls.cs.json +28 -26
- package/dist/localization/package.nls.de.json +28 -26
- package/dist/localization/package.nls.en-us.json +1 -1
- package/dist/localization/package.nls.es.json +27 -25
- package/dist/localization/package.nls.fr.json +28 -26
- package/dist/localization/package.nls.it.json +28 -26
- package/dist/localization/package.nls.ja.json +28 -26
- package/dist/localization/package.nls.ko.json +28 -26
- package/dist/localization/package.nls.pl.json +27 -25
- package/dist/localization/package.nls.pt-br.json +28 -26
- package/dist/localization/package.nls.qps-ploc.json +25 -23
- package/dist/localization/package.nls.ru.json +28 -26
- package/dist/localization/package.nls.tr.json +28 -26
- package/dist/localization/package.nls.zh-cn.json +28 -26
- package/dist/localization/package.nls.zh-tw.json +28 -26
- package/dist/parser/parseNodes.d.ts +2 -2
- package/dist/parser/tokenizer.js +7 -1
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/tests/checker.test.js +8 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/envVarUtils.test.js +20 -0
- package/dist/tests/envVarUtils.test.js.map +1 -1
- package/dist/tests/fourslash/{completions.importDunderNames.fourslash.js → completions.import.dunderNames.fourslash.js} +1 -1
- package/dist/tests/fourslash/completions.import.dunderNames.fourslash.js.map +1 -0
- package/dist/tests/fourslash/{completions.importsDuplicates.fourslash.js → completions.import.duplicates.fourslash.js} +1 -1
- package/dist/tests/fourslash/{completions.importsDuplicates.fourslash.js.map → completions.import.duplicates.fourslash.js.map} +1 -1
- package/dist/tests/fourslash/completions.import.exactMatch.fourslash.js +29 -0
- package/dist/tests/fourslash/completions.import.exactMatch.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.js +14 -0
- package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.d.ts +1 -0
- package/dist/tests/fourslash/{completions.importInterimFile.fourslash.disabled.js → completions.import.interimFile.fourslash.disabled.js} +1 -1
- package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.js.map +1 -0
- package/dist/tests/fourslash/{completions.importPrivateNoPytyped.fourslash.js → completions.import.privateNoPytyped.fourslash.js} +1 -1
- package/dist/tests/fourslash/completions.import.privateNoPytyped.fourslash.js.map +1 -0
- package/dist/tests/fourslash/{completions.importPytyped.fourslash.js → completions.import.pytyped.fourslash.js} +1 -1
- package/dist/tests/fourslash/completions.import.pytyped.fourslash.js.map +1 -0
- package/dist/tests/fourslash/{completions.importPytypedLocal.fourslash.js → completions.import.pytypedLocal.fourslash.js} +1 -1
- package/dist/tests/fourslash/completions.import.pytypedLocal.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.import.submodule.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/{completions.importSubmodule.fourslash.js → completions.import.submodule.fourslash.js} +1 -1
- package/dist/tests/fourslash/completions.import.submodule.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/testState.js +1 -1
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +2 -1
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/parser.test.js +7 -2
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +60 -480
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +0 -482
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +0 -604
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +5 -423
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +2 -2
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.d.ts +1 -0
- package/dist/tests/typeEvaluator6.test.js +712 -0
- package/dist/tests/typeEvaluator6.test.js.map +1 -0
- package/dist/tests/typeEvaluator7.test.d.ts +1 -0
- package/dist/tests/typeEvaluator7.test.js +677 -0
- package/dist/tests/typeEvaluator7.test.js.map +1 -0
- package/dist/tests/typeEvaluator8.test.d.ts +1 -0
- package/dist/tests/typeEvaluator8.test.js +660 -0
- package/dist/tests/typeEvaluator8.test.js.map +1 -0
- package/dist/workspaceFactory.d.ts +3 -1
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
- package/dist/tests/fourslash/completions.importDunderNames.fourslash.js.map +0 -1
- package/dist/tests/fourslash/completions.importInterimFile.fourslash.disabled.js.map +0 -1
- package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.js.map +0 -1
- package/dist/tests/fourslash/completions.importPytyped.fourslash.js.map +0 -1
- package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.js.map +0 -1
- package/dist/tests/fourslash/completions.importSubmodule.fourslash.js.map +0 -1
- /package/dist/tests/fourslash/{completions.importDunderNames.fourslash.d.ts → completions.import.dunderNames.fourslash.d.ts} +0 -0
- /package/dist/tests/fourslash/{completions.importPrivateNoPytyped.fourslash.d.ts → completions.import.duplicates.fourslash.d.ts} +0 -0
- /package/dist/tests/fourslash/{completions.importInterimFile.fourslash.disabled.d.ts → completions.import.exactMatch.fourslash.d.ts} +0 -0
- /package/dist/tests/fourslash/{completions.importSubmodule.fourslash.d.ts → completions.import.excludeAlreadyImported.fourslash.d.ts} +0 -0
- /package/dist/tests/fourslash/{completions.importPytyped.fourslash.d.ts → completions.import.privateNoPytyped.fourslash.d.ts} +0 -0
- /package/dist/tests/fourslash/{completions.importPytypedLocal.fourslash.d.ts → completions.import.pytyped.fourslash.d.ts} +0 -0
- /package/dist/tests/fourslash/{completions.importsDuplicates.fourslash.d.ts → completions.import.pytypedLocal.fourslash.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../../src/analyzer/operations.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../../src/analyzer/operations.ts"],"names":[],"mappings":"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"}
|
@@ -165,7 +165,7 @@ class PackageTypeVerifier {
|
|
165
165
|
};
|
166
166
|
const parseTree = sourceFile.getParserOutput().parseTree;
|
167
167
|
const moduleScope = (0, scopeUtils_1.getScopeForNode)(parseTree);
|
168
|
-
this._getPublicSymbolsInSymbolTable(publicSymbols, alternateSymbolNames, module, module.name, moduleScope.symbolTable,
|
168
|
+
this._getPublicSymbolsInSymbolTable(publicSymbols, alternateSymbolNames, module, module.name, moduleScope.symbolTable, 4 /* ScopeType.Module */);
|
169
169
|
}
|
170
170
|
}
|
171
171
|
}
|
@@ -185,7 +185,7 @@ class PackageTypeVerifier {
|
|
185
185
|
const classDecl = typedDecls.find((decl) => decl.type === 6 /* DeclarationType.Class */);
|
186
186
|
if (classDecl) {
|
187
187
|
if ((0, types_1.isInstantiableClass)(symbolType)) {
|
188
|
-
this._getPublicSymbolsInSymbolTable(publicSymbols, alternateSymbolNames, module, fullName, types_1.ClassType.getSymbolTable(symbolType),
|
188
|
+
this._getPublicSymbolsInSymbolTable(publicSymbols, alternateSymbolNames, module, fullName, types_1.ClassType.getSymbolTable(symbolType), 3 /* ScopeType.Class */);
|
189
189
|
}
|
190
190
|
}
|
191
191
|
}
|
@@ -235,7 +235,7 @@ class PackageTypeVerifier {
|
|
235
235
|
if (sourceFile) {
|
236
236
|
const parseTree = sourceFile.getParserOutput().parseTree;
|
237
237
|
const moduleScope = (0, scopeUtils_1.getScopeForNode)(parseTree);
|
238
|
-
this._getTypeKnownStatusForSymbolTable(report, module.name, moduleScope.symbolTable,
|
238
|
+
this._getTypeKnownStatusForSymbolTable(report, module.name, moduleScope.symbolTable, 4 /* ScopeType.Module */, publicSymbols);
|
239
239
|
}
|
240
240
|
else {
|
241
241
|
report.generalDiagnostics.push(new diagnostic_1.Diagnostic(0 /* DiagnosticCategory.Error */, `Could not bind file "${modulePath}"`, (0, textRange_1.getEmptyRange)()));
|
@@ -590,7 +590,7 @@ class PackageTypeVerifier {
|
|
590
590
|
// Allow params (like "self" and "cls") to skip declarations because
|
591
591
|
// we're able to synthesize these.
|
592
592
|
const isSynthesized = index === 0 &&
|
593
|
-
(symbolInfo === null || symbolInfo === void 0 ? void 0 : symbolInfo.scopeType) ===
|
593
|
+
(symbolInfo === null || symbolInfo === void 0 ? void 0 : symbolInfo.scopeType) === 3 /* ScopeType.Class */ &&
|
594
594
|
(types_1.FunctionType.isClassMethod(type) ||
|
595
595
|
types_1.FunctionType.isInstanceMethod(type) ||
|
596
596
|
types_1.FunctionType.isConstructorMethod(type));
|
@@ -682,12 +682,12 @@ class PackageTypeVerifier {
|
|
682
682
|
typeKnownStatus: 0 /* TypeKnownStatus.Known */,
|
683
683
|
referenceCount: 1,
|
684
684
|
diagnostics: [],
|
685
|
-
scopeType:
|
685
|
+
scopeType: 3 /* ScopeType.Class */,
|
686
686
|
};
|
687
687
|
this._addSymbol(report, symbolInfo);
|
688
688
|
// Determine whether the class has a proper doc string.
|
689
689
|
this._reportMissingClassDocstring(symbolInfo, type, report);
|
690
|
-
const symbolTableTypeKnownStatus = this._getTypeKnownStatusForSymbolTable(report, type.details.fullName, types_1.ClassType.getSymbolTable(type),
|
690
|
+
const symbolTableTypeKnownStatus = this._getTypeKnownStatusForSymbolTable(report, type.details.fullName, types_1.ClassType.getSymbolTable(type), 3 /* ScopeType.Class */, publicSymbols, (name, symbol) => {
|
691
691
|
// If the symbol within this class is lacking a type declaration,
|
692
692
|
// see if we can find a same-named symbol in a parent class with
|
693
693
|
// a type declaration.
|
@@ -758,13 +758,13 @@ class PackageTypeVerifier {
|
|
758
758
|
typeKnownStatus: 0 /* TypeKnownStatus.Known */,
|
759
759
|
referenceCount: 1,
|
760
760
|
diagnostics: [],
|
761
|
-
scopeType:
|
761
|
+
scopeType: 4 /* ScopeType.Module */,
|
762
762
|
};
|
763
763
|
// Add the symbol for the module if the name isn't relative.
|
764
764
|
if (!type.moduleName.startsWith('.')) {
|
765
765
|
this._addSymbol(report, symbolInfo);
|
766
766
|
}
|
767
|
-
const symbolTableTypeKnownStatus = this._getTypeKnownStatusForSymbolTable(report, type.moduleName, type.fields,
|
767
|
+
const symbolTableTypeKnownStatus = this._getTypeKnownStatusForSymbolTable(report, type.moduleName, type.fields, 4 /* ScopeType.Module */, publicSymbols);
|
768
768
|
symbolInfo.typeKnownStatus = this._updateKnownStatusIfWorse(symbolInfo.typeKnownStatus, symbolTableTypeKnownStatus);
|
769
769
|
return symbolInfo;
|
770
770
|
}
|
@@ -920,7 +920,7 @@ class PackageTypeVerifier {
|
|
920
920
|
return undefined;
|
921
921
|
}
|
922
922
|
_isSymbolTypeImplied(scopeType, name) {
|
923
|
-
if (scopeType ===
|
923
|
+
if (scopeType === 3 /* ScopeType.Class */) {
|
924
924
|
const knownClassSymbols = [
|
925
925
|
'__class__',
|
926
926
|
'__dict__',
|
@@ -933,7 +933,7 @@ class PackageTypeVerifier {
|
|
933
933
|
];
|
934
934
|
return knownClassSymbols.some((sym) => sym === name);
|
935
935
|
}
|
936
|
-
else if (scopeType ===
|
936
|
+
else if (scopeType === 4 /* ScopeType.Module */) {
|
937
937
|
const knownModuleSymbols = [
|
938
938
|
'__all__',
|
939
939
|
'__author__',
|
@@ -11,6 +11,10 @@ export declare const enum PrintExpressionFlags {
|
|
11
11
|
ForwardDeclarations = 1,
|
12
12
|
DoNotLimitStringLength = 2
|
13
13
|
}
|
14
|
+
export interface EvaluationScopeInfo {
|
15
|
+
node: EvaluationScopeNode;
|
16
|
+
useProxyScope?: boolean;
|
17
|
+
}
|
14
18
|
export declare function getNodeDepth(node: ParseNode): number;
|
15
19
|
export declare function findNodeByPosition(node: ParseNode, position: Position, lines: TextRangeCollection<TextRange>): ParseNode | undefined;
|
16
20
|
export declare function findNodeByOffset(node: ParseNode, offset: number): ParseNode | undefined;
|
@@ -32,8 +36,8 @@ export declare function getEnclosingLambda(node: ParseNode): LambdaNode | undefi
|
|
32
36
|
export declare function getEnclosingClassOrFunction(node: ParseNode): FunctionNode | ClassNode | undefined;
|
33
37
|
export declare function getEnclosingSuiteOrModule(node: ParseNode, stopAtFunction?: boolean, stopAtLambda?: boolean): SuiteNode | ModuleNode | undefined;
|
34
38
|
export declare function getEvaluationNodeForAssignmentExpression(node: AssignmentExpressionNode): LambdaNode | FunctionNode | ModuleNode | ClassNode | undefined;
|
35
|
-
export declare function getEvaluationScopeNode(node: ParseNode):
|
36
|
-
export declare function getTypeVarScopeNode(node: ParseNode): TypeParameterScopeNode;
|
39
|
+
export declare function getEvaluationScopeNode(node: ParseNode): EvaluationScopeInfo;
|
40
|
+
export declare function getTypeVarScopeNode(node: ParseNode): TypeParameterScopeNode | undefined;
|
37
41
|
export declare function getExecutionScopeNode(node: ParseNode): ExecutionScopeNode;
|
38
42
|
export declare function getTypeAnnotationNode(node: ParseNode): TypeAnnotationNode | undefined;
|
39
43
|
export declare function getArgumentsByRuntimeOrder(node: CallNode): ArgumentNode[];
|
@@ -52,7 +56,6 @@ export declare function isWithinDefaultParamInitializer(node: ParseNode): boolea
|
|
52
56
|
export declare function isWithinTypeAnnotation(node: ParseNode, requireQuotedAnnotation: boolean): boolean;
|
53
57
|
export declare function isWithinAnnotationComment(node: ParseNode): boolean;
|
54
58
|
export declare function isWithinLoop(node: ParseNode): boolean;
|
55
|
-
export declare function isWithinTryBlock(node: ParseNode, treatWithAsTryBlock?: boolean): boolean;
|
56
59
|
export declare function isWithinAssertExpression(node: ParseNode): boolean;
|
57
60
|
export declare function getDocString(statements: StatementNode[]): string | undefined;
|
58
61
|
export declare function isDocString(statementList: StatementListNode): boolean;
|
@@ -31,8 +31,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
31
31
|
return result;
|
32
32
|
};
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
34
|
-
exports.getEnclosingParameter = exports.CallNodeWalker = exports.NameNodeWalker = exports.isAssignmentToDefaultsFollowingNamedTuple = exports.isDocString = exports.getDocString = exports.isWithinAssertExpression = exports.
|
35
|
-
exports.isSimpleDefault = exports.checkDecorator = exports.getTypeVarScopesForNode = exports.getScopeIdForNode = exports.getVariableDocStringNode = 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.getAncestorsIncludingSelf = 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.getCommentsAtTokenIndex = exports.findTokenAfter = exports.getIndexOfTokenOverlapping = exports.getTokenOverlapping = exports.getTokenAt = exports.getTokenAtIndex = exports.isWhitespace = exports.getTokenAtLeft = exports.getTokenIndexAtLeft =
|
34
|
+
exports.getCallNodeAndActiveParameterIndex = exports.getEnclosingParameter = exports.CallNodeWalker = exports.NameNodeWalker = exports.isAssignmentToDefaultsFollowingNamedTuple = exports.isDocString = exports.getDocString = exports.isWithinAssertExpression = exports.isWithinLoop = exports.isWithinAnnotationComment = exports.isWithinTypeAnnotation = exports.isWithinDefaultParamInitializer = exports.isPartialMatchingExpression = exports.isMatchingExpression = exports.containsAwaitNode = exports.isSuiteEmpty = exports.isNodeContainedWithinNodeType = exports.getParentAnnotationNode = exports.getParentNodeOfType = exports.isNodeContainedWithin = exports.isRequiredAllowedForAssignmentTarget = exports.isClassVarAllowedForAssignmentTarget = exports.isFinalAllowedForAssignmentTarget = exports.getArgumentsByRuntimeOrder = exports.getTypeAnnotationNode = exports.getExecutionScopeNode = exports.getTypeVarScopeNode = exports.getEvaluationScopeNode = exports.getEvaluationNodeForAssignmentExpression = exports.getEnclosingSuiteOrModule = exports.getEnclosingClassOrFunction = exports.getEnclosingLambda = exports.getEnclosingFunctionEvaluationScope = exports.getEnclosingFunction = exports.getEnclosingClassOrModule = exports.getEnclosingModule = exports.getEnclosingClass = exports.getEnclosingSuite = exports.getDecoratorForName = exports.getCallForName = exports.printOperator = exports.printExpression = exports.printArgument = exports.getTypeSourceId = exports.getClassFullName = exports.isCompliantWithNodeRangeRules = exports.findNodeByOffset = exports.findNodeByPosition = exports.getNodeDepth = exports.PrintExpressionFlags = void 0;
|
35
|
+
exports.isSimpleDefault = exports.checkDecorator = exports.getTypeVarScopesForNode = exports.getScopeIdForNode = exports.getVariableDocStringNode = 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.getAncestorsIncludingSelf = 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.getCommentsAtTokenIndex = exports.findTokenAfter = exports.getIndexOfTokenOverlapping = exports.getTokenOverlapping = exports.getTokenAt = exports.getTokenAtIndex = exports.isWhitespace = exports.getTokenAtLeft = exports.getTokenIndexAtLeft = void 0;
|
36
36
|
const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
|
37
37
|
const core_1 = require("../common/core");
|
38
38
|
const debug_1 = require("../common/debug");
|
@@ -624,7 +624,7 @@ exports.getEnclosingFunction = getEnclosingFunction;
|
|
624
624
|
// (for example), it will be considered part of its parent node rather than
|
625
625
|
// the class node.
|
626
626
|
function getEnclosingFunctionEvaluationScope(node) {
|
627
|
-
let curNode = getEvaluationScopeNode(node);
|
627
|
+
let curNode = getEvaluationScopeNode(node).node;
|
628
628
|
while (curNode) {
|
629
629
|
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
630
630
|
return curNode;
|
@@ -632,7 +632,7 @@ function getEnclosingFunctionEvaluationScope(node) {
|
|
632
632
|
if (curNode.nodeType === 10 /* ParseNodeType.Class */ || !curNode.parent) {
|
633
633
|
return undefined;
|
634
634
|
}
|
635
|
-
curNode = getEvaluationScopeNode(curNode.parent);
|
635
|
+
curNode = getEvaluationScopeNode(curNode.parent).node;
|
636
636
|
}
|
637
637
|
return undefined;
|
638
638
|
}
|
@@ -694,7 +694,7 @@ function getEvaluationNodeForAssignmentExpression(node) {
|
|
694
694
|
// target within a list comprehension is contained within a lambda,
|
695
695
|
// function or module, but not a class.
|
696
696
|
let sawListComprehension = false;
|
697
|
-
let curNode = getEvaluationScopeNode(node);
|
697
|
+
let curNode = getEvaluationScopeNode(node).node;
|
698
698
|
while (curNode !== undefined) {
|
699
699
|
switch (curNode.nodeType) {
|
700
700
|
case 28 /* ParseNodeType.Function */:
|
@@ -705,7 +705,7 @@ function getEvaluationNodeForAssignmentExpression(node) {
|
|
705
705
|
return sawListComprehension ? undefined : curNode;
|
706
706
|
case 32 /* ParseNodeType.ListComprehension */:
|
707
707
|
sawListComprehension = true;
|
708
|
-
curNode = getEvaluationScopeNode(curNode.parent);
|
708
|
+
curNode = getEvaluationScopeNode(curNode.parent).node;
|
709
709
|
break;
|
710
710
|
default:
|
711
711
|
return undefined;
|
@@ -721,26 +721,56 @@ function getEvaluationScopeNode(node) {
|
|
721
721
|
let prevPrevNode;
|
722
722
|
let curNode = node;
|
723
723
|
let isParamNameNode = false;
|
724
|
+
let isParamDefaultNode = false;
|
724
725
|
while (curNode) {
|
725
|
-
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */
|
726
|
-
|
727
|
-
|
726
|
+
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */) {
|
727
|
+
if (prevNode === curNode.name) {
|
728
|
+
// Note that we passed through a parameter name node.
|
729
|
+
isParamNameNode = true;
|
730
|
+
}
|
731
|
+
else if (prevNode === curNode.defaultValue) {
|
732
|
+
// Note that we passed through a parameter default value node.
|
733
|
+
isParamDefaultNode = true;
|
734
|
+
}
|
728
735
|
}
|
729
736
|
// We found a scope associated with this node. In most cases,
|
730
737
|
// we'll return this scope, but in a few cases we need to return
|
731
738
|
// the enclosing scope instead.
|
732
739
|
switch (curNode.nodeType) {
|
740
|
+
case 76 /* ParseNodeType.TypeParameterList */: {
|
741
|
+
return { node: curNode, useProxyScope: true };
|
742
|
+
}
|
733
743
|
case 28 /* ParseNodeType.Function */: {
|
744
|
+
if (!prevNode) {
|
745
|
+
break;
|
746
|
+
}
|
747
|
+
// Decorators are always evaluated outside of the function scope.
|
748
|
+
if (curNode.decorators.some((decorator) => decorator === prevNode)) {
|
749
|
+
break;
|
750
|
+
}
|
734
751
|
if (curNode.parameters.some((param) => param === prevNode)) {
|
752
|
+
// Default argument expressions are evaluated outside of the function scope.
|
753
|
+
if (isParamDefaultNode) {
|
754
|
+
break;
|
755
|
+
}
|
735
756
|
if (isParamNameNode) {
|
736
757
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
737
|
-
return curNode;
|
758
|
+
return { node: curNode };
|
738
759
|
}
|
739
760
|
}
|
740
761
|
}
|
741
|
-
|
762
|
+
if (prevNode === curNode.suite) {
|
742
763
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
743
|
-
return curNode;
|
764
|
+
return { node: curNode };
|
765
|
+
}
|
766
|
+
}
|
767
|
+
// All other nodes in the function are evaluated in the context
|
768
|
+
// of the type parameter scope if it's present. Otherwise,
|
769
|
+
// they are evaluated within the function's parent scope.
|
770
|
+
if (curNode.typeParameters) {
|
771
|
+
const scopeNode = curNode.typeParameters;
|
772
|
+
if ((0, analyzerNodeInfo_1.getScope)(scopeNode) !== undefined) {
|
773
|
+
return { node: scopeNode, useProxyScope: true };
|
744
774
|
}
|
745
775
|
}
|
746
776
|
break;
|
@@ -749,21 +779,37 @@ function getEvaluationScopeNode(node) {
|
|
749
779
|
if (curNode.parameters.some((param) => param === prevNode)) {
|
750
780
|
if (isParamNameNode) {
|
751
781
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
752
|
-
return curNode;
|
782
|
+
return { node: curNode };
|
753
783
|
}
|
754
784
|
}
|
755
785
|
}
|
756
786
|
else if (!prevNode || prevNode === curNode.expression) {
|
757
787
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
758
|
-
return curNode;
|
788
|
+
return { node: curNode };
|
759
789
|
}
|
760
790
|
}
|
761
791
|
break;
|
762
792
|
}
|
763
793
|
case 10 /* ParseNodeType.Class */: {
|
794
|
+
if (!prevNode) {
|
795
|
+
break;
|
796
|
+
}
|
797
|
+
// Decorators are always evaluated outside of the class scope.
|
798
|
+
if (curNode.decorators.some((decorator) => decorator === prevNode)) {
|
799
|
+
break;
|
800
|
+
}
|
764
801
|
if (prevNode === curNode.suite) {
|
765
802
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
766
|
-
return curNode;
|
803
|
+
return { node: curNode };
|
804
|
+
}
|
805
|
+
}
|
806
|
+
// All other nodes in the class are evaluated in the context
|
807
|
+
// of the type parameter scope if it's present. Otherwise,
|
808
|
+
// they are evaluated within the class' parent scope.
|
809
|
+
if (curNode.typeParameters) {
|
810
|
+
const scopeNode = curNode.typeParameters;
|
811
|
+
if ((0, analyzerNodeInfo_1.getScope)(scopeNode) !== undefined) {
|
812
|
+
return { node: scopeNode, useProxyScope: true };
|
767
813
|
}
|
768
814
|
}
|
769
815
|
break;
|
@@ -776,14 +822,23 @@ function getEvaluationScopeNode(node) {
|
|
776
822
|
curNode.forIfNodes[0].nodeType === 33 /* ParseNodeType.ListComprehensionFor */ &&
|
777
823
|
curNode.forIfNodes[0].iterableExpression === prevPrevNode;
|
778
824
|
if (!isFirstIterableExpr) {
|
779
|
-
return curNode;
|
825
|
+
return { node: curNode };
|
826
|
+
}
|
827
|
+
}
|
828
|
+
break;
|
829
|
+
}
|
830
|
+
case 77 /* ParseNodeType.TypeAlias */: {
|
831
|
+
if (prevNode === curNode.expression && curNode.typeParameters) {
|
832
|
+
const scopeNode = curNode.typeParameters;
|
833
|
+
if ((0, analyzerNodeInfo_1.getScope)(scopeNode) !== undefined) {
|
834
|
+
return { node: scopeNode };
|
780
835
|
}
|
781
836
|
}
|
782
837
|
break;
|
783
838
|
}
|
784
839
|
case 36 /* ParseNodeType.Module */: {
|
785
840
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
786
|
-
return curNode;
|
841
|
+
return { node: curNode };
|
787
842
|
}
|
788
843
|
break;
|
789
844
|
}
|
@@ -797,7 +852,7 @@ function getEvaluationScopeNode(node) {
|
|
797
852
|
}
|
798
853
|
exports.getEvaluationScopeNode = getEvaluationScopeNode;
|
799
854
|
// Returns the parse node corresponding to the function, class, or type alias
|
800
|
-
// that
|
855
|
+
// that potentially provides the scope for a type parameter.
|
801
856
|
function getTypeVarScopeNode(node) {
|
802
857
|
let prevNode;
|
803
858
|
let curNode = node;
|
@@ -828,13 +883,13 @@ exports.getTypeVarScopeNode = getTypeVarScopeNode;
|
|
828
883
|
// Returns the parse node corresponding to the scope that is used
|
829
884
|
// for executing the code referenced in the specified node.
|
830
885
|
function getExecutionScopeNode(node) {
|
831
|
-
let evaluationScope = getEvaluationScopeNode(node);
|
886
|
+
let evaluationScope = getEvaluationScopeNode(node).node;
|
832
887
|
// Classes are not considered execution scope because they are executed
|
833
888
|
// within the context of their containing module or function. Likewise, list
|
834
889
|
// comprehensions are executed within their container.
|
835
890
|
while (evaluationScope.nodeType === 10 /* ParseNodeType.Class */ ||
|
836
891
|
evaluationScope.nodeType === 32 /* ParseNodeType.ListComprehension */) {
|
837
|
-
evaluationScope = getEvaluationScopeNode(evaluationScope.parent);
|
892
|
+
evaluationScope = getEvaluationScopeNode(evaluationScope.parent).node;
|
838
893
|
}
|
839
894
|
return evaluationScope;
|
840
895
|
}
|
@@ -1196,32 +1251,6 @@ function isWithinLoop(node) {
|
|
1196
1251
|
return false;
|
1197
1252
|
}
|
1198
1253
|
exports.isWithinLoop = isWithinLoop;
|
1199
|
-
function isWithinTryBlock(node, treatWithAsTryBlock = false) {
|
1200
|
-
let curNode = node;
|
1201
|
-
let prevNode;
|
1202
|
-
while (curNode) {
|
1203
|
-
switch (curNode.nodeType) {
|
1204
|
-
case 53 /* ParseNodeType.Try */: {
|
1205
|
-
return curNode.trySuite === prevNode;
|
1206
|
-
}
|
1207
|
-
case 58 /* ParseNodeType.With */: {
|
1208
|
-
if (treatWithAsTryBlock && curNode.suite === prevNode) {
|
1209
|
-
return true;
|
1210
|
-
}
|
1211
|
-
break;
|
1212
|
-
}
|
1213
|
-
case 28 /* ParseNodeType.Function */:
|
1214
|
-
case 36 /* ParseNodeType.Module */:
|
1215
|
-
case 10 /* ParseNodeType.Class */: {
|
1216
|
-
return false;
|
1217
|
-
}
|
1218
|
-
}
|
1219
|
-
prevNode = curNode;
|
1220
|
-
curNode = curNode.parent;
|
1221
|
-
}
|
1222
|
-
return false;
|
1223
|
-
}
|
1224
|
-
exports.isWithinTryBlock = isWithinTryBlock;
|
1225
1254
|
function isWithinAssertExpression(node) {
|
1226
1255
|
let curNode = node;
|
1227
1256
|
let prevNode;
|