@zzzen/pyright-internal 1.2.0-dev.20220710 → 1.2.0-dev.20220731
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/analysis.js +1 -1
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/binder.js +14 -0
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +100 -46
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +0 -1
- package/dist/analyzer/codeFlowEngine.js +190 -196
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +1 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +5 -3
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +13 -4
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/enums.d.ts +13 -0
- package/dist/analyzer/enums.js +207 -0
- package/dist/analyzer/enums.js.map +1 -0
- package/dist/analyzer/importResolver.js +5 -4
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +3 -1
- package/dist/analyzer/importStatementUtils.js +96 -19
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +5 -0
- package/dist/analyzer/parseTreeUtils.js +111 -3
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +3 -3
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/properties.js +1 -1
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/service.d.ts +1 -1
- package/dist/analyzer/service.js +37 -37
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.js +40 -9
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.d.ts +1 -1
- package/dist/analyzer/typeEvaluator.js +733 -709
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +18 -16
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeEvaluatorWithTracker.js +9 -7
- package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +2 -0
- package/dist/analyzer/typeGuards.js +43 -15
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +7 -1
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +4 -3
- package/dist/analyzer/typeUtils.js +99 -38
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +1 -0
- package/dist/analyzer/typedDicts.js +24 -3
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +9 -0
- package/dist/analyzer/types.js +99 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +2 -1
- package/dist/backgroundAnalysisBase.js +7 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js +1 -0
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/commandResult.js +1 -1
- package/dist/commands/commandResult.js.map +1 -1
- package/dist/common/chokidarFileWatcherProvider.d.ts +1 -2
- package/dist/common/chokidarFileWatcherProvider.js +0 -3
- package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +4 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +2 -1
- package/dist/common/diagnostic.js +2 -1
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +1 -0
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +3 -0
- package/dist/common/diagnosticSink.js +15 -2
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -0
- package/dist/common/editAction.js +15 -0
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/fileSystem.d.ts +4 -1
- package/dist/common/fileSystem.js +6 -4
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +2 -2
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/textEditUtils.d.ts +22 -2
- package/dist/common/textEditUtils.js +138 -1
- package/dist/common/textEditUtils.js.map +1 -1
- package/dist/common/uriParser.d.ts +2 -0
- package/dist/common/uriParser.js +11 -0
- package/dist/common/uriParser.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +1 -0
- package/dist/common/workspaceEditUtils.js +10 -6
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +17 -16
- package/dist/languageServerBase.js +73 -59
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -2
- package/dist/languageService/codeActionProvider.js +1 -1
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +15 -11
- package/dist/languageService/completionProvider.js +75 -5
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/renameModuleProvider.d.ts +1 -4
- package/dist/languageService/renameModuleProvider.js +10 -46
- package/dist/languageService/renameModuleProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +1 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +13 -0
- package/dist/localization/localize.js +4 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +4 -0
- package/dist/parser/parser.js +9 -1
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +3 -1
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +20 -2
- package/dist/pyrightFileSystem.js +29 -2
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/server.js +4 -4
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +2 -0
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +9 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.commitChars.fourslash.js +59 -0
- package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.js +29 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -0
- package/dist/tests/fourslash/fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.init.fourslash.js +2 -2
- package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +5 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +18 -9
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +28 -0
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/renameModuleTestUtils.js +5 -87
- package/dist/tests/renameModuleTestUtils.js.map +1 -1
- package/dist/tests/testState.test.js +1 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +8 -0
- package/dist/tests/testStateUtils.js +110 -0
- package/dist/tests/testStateUtils.js.map +1 -0
- package/dist/tests/testUtils.d.ts +2 -1
- package/dist/tests/testUtils.js +9 -6
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +7 -7
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +16 -4
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +9 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +16 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/workspaceMap.d.ts +1 -0
- package/dist/workspaceMap.js +11 -1
- package/dist/workspaceMap.js.map +1 -1
- package/package.json +3 -3
@@ -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.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.getResolvedFilePath = exports.getDirectoryLeadingDotsPointsTo = exports.getRelativeModuleName = exports.getTextRangeForImportNameDeletion = exports.getImportGroupFromModuleNameAndType = exports.getAllImportNames = exports.getContainingImportStatement = exports.getTextEditsForAutoImportInsertion = exports.getTextEditsForAutoImportInsertions = exports.getTextEditsForAutoImportSymbolAddition = exports.getTopLevelImports = exports.getAllImports = 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");
|
@@ -36,6 +36,7 @@ const positionUtils_1 = require("../common/positionUtils");
|
|
36
36
|
const stringUtils_1 = require("../common/stringUtils");
|
37
37
|
const textRange_1 = require("../common/textRange");
|
38
38
|
const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
|
39
|
+
const parseTreeWalker_1 = require("./parseTreeWalker");
|
39
40
|
const SymbolNameUtils = __importStar(require("./symbolNameUtils"));
|
40
41
|
var ImportGroup;
|
41
42
|
(function (ImportGroup) {
|
@@ -79,6 +80,10 @@ function compareImportStatements(a, b) {
|
|
79
80
|
return a.moduleName < b.moduleName ? -1 : 1;
|
80
81
|
}
|
81
82
|
exports.compareImportStatements = compareImportStatements;
|
83
|
+
function getAllImports(root, token) {
|
84
|
+
return ImportCollector.collect(root, token);
|
85
|
+
}
|
86
|
+
exports.getAllImports = getAllImports;
|
82
87
|
// Looks for top-level 'import' and 'import from' statements and provides
|
83
88
|
// an ordered list and a map (by file path).
|
84
89
|
function getTopLevelImports(parseTree, includeImplicitImports = false) {
|
@@ -544,27 +549,56 @@ function getImportGroupFromModuleNameAndType(moduleNameAndType) {
|
|
544
549
|
return importGroup;
|
545
550
|
}
|
546
551
|
exports.getImportGroupFromModuleNameAndType = getImportGroupFromModuleNameAndType;
|
547
|
-
function getTextRangeForImportNameDeletion(nameNodes,
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
552
|
+
function getTextRangeForImportNameDeletion(nameNodes, ...nameNodeIndexToDelete) {
|
553
|
+
const editSpans = [];
|
554
|
+
for (const pair of getConsecutiveNumberPairs(nameNodeIndexToDelete)) {
|
555
|
+
const startNode = nameNodes[pair.start];
|
556
|
+
const endNode = nameNodes[pair.end];
|
557
|
+
if (pair.start === 0 && nameNodes.length === pair.end - pair.start + 1) {
|
558
|
+
// get span of whole statement. ex) "import [|A|]" or "import [|A, B|]"
|
559
|
+
editSpans.push(textRange_1.TextRange.fromBounds(startNode.start, textRange_1.TextRange.getEnd(endNode)));
|
560
|
+
}
|
561
|
+
else if (pair.end === nameNodes.length - 1) {
|
562
|
+
// get span of "import A[|, B|]" or "import A[|, B, C|]"
|
563
|
+
const start = textRange_1.TextRange.getEnd(nameNodes[pair.start - 1]);
|
564
|
+
const length = textRange_1.TextRange.getEnd(endNode) - start;
|
565
|
+
editSpans.push({ start, length });
|
566
|
+
}
|
567
|
+
else {
|
568
|
+
// get span of "import [|A, |]B" or "import [|A, B,|] C"
|
569
|
+
const start = startNode.start;
|
570
|
+
const length = nameNodes[pair.end + 1].start - start;
|
571
|
+
editSpans.push({ start, length });
|
572
|
+
}
|
564
573
|
}
|
565
|
-
return
|
574
|
+
return editSpans;
|
566
575
|
}
|
567
576
|
exports.getTextRangeForImportNameDeletion = getTextRangeForImportNameDeletion;
|
577
|
+
function getConsecutiveNumberPairs(indices) {
|
578
|
+
if (indices.length === 0) {
|
579
|
+
return [];
|
580
|
+
}
|
581
|
+
if (indices.length === 1) {
|
582
|
+
return [{ start: indices[0], end: indices[0] }];
|
583
|
+
}
|
584
|
+
const pairs = [];
|
585
|
+
let start = indices[0];
|
586
|
+
let current = start;
|
587
|
+
for (const index of indices) {
|
588
|
+
if (current === index) {
|
589
|
+
continue;
|
590
|
+
}
|
591
|
+
if (current + 1 === index) {
|
592
|
+
current = index;
|
593
|
+
continue;
|
594
|
+
}
|
595
|
+
pairs.push({ start, end: current });
|
596
|
+
start = index;
|
597
|
+
current = index;
|
598
|
+
}
|
599
|
+
pairs.push({ start, end: current });
|
600
|
+
return pairs;
|
601
|
+
}
|
568
602
|
function getRelativeModuleName(fs, sourcePath, targetPath, ignoreFolderStructure = false, sourceIsFile) {
|
569
603
|
let srcPath = sourcePath;
|
570
604
|
sourceIsFile = sourceIsFile !== undefined ? sourceIsFile : (0, pathUtils_1.isFile)(fs, sourcePath);
|
@@ -624,4 +658,47 @@ function getDirectoryLeadingDotsPointsTo(fromDirectory, leadingDots) {
|
|
624
658
|
return currentDirectory;
|
625
659
|
}
|
626
660
|
exports.getDirectoryLeadingDotsPointsTo = getDirectoryLeadingDotsPointsTo;
|
661
|
+
function getResolvedFilePath(importResult) {
|
662
|
+
if (!importResult || !importResult.isImportFound || importResult.resolvedPaths.length === 0) {
|
663
|
+
return undefined;
|
664
|
+
}
|
665
|
+
if (importResult.resolvedPaths.length === 1 && importResult.resolvedPaths[0] === '') {
|
666
|
+
// Import is resolved to namespace package folder.
|
667
|
+
if (importResult.packageDirectory) {
|
668
|
+
return importResult.packageDirectory;
|
669
|
+
}
|
670
|
+
// Absolute import is partially resolved from the path.
|
671
|
+
if (importResult.searchPath) {
|
672
|
+
return importResult.searchPath;
|
673
|
+
}
|
674
|
+
return undefined;
|
675
|
+
}
|
676
|
+
// Regular case.
|
677
|
+
return importResult.resolvedPaths[importResult.resolvedPaths.length - 1];
|
678
|
+
}
|
679
|
+
exports.getResolvedFilePath = getResolvedFilePath;
|
680
|
+
class ImportCollector extends parseTreeWalker_1.ParseTreeWalker {
|
681
|
+
constructor(_token) {
|
682
|
+
super();
|
683
|
+
this._token = _token;
|
684
|
+
this._imports = [];
|
685
|
+
}
|
686
|
+
static collect(root, token) {
|
687
|
+
const collector = new ImportCollector(token);
|
688
|
+
collector.walk(root);
|
689
|
+
return collector._imports;
|
690
|
+
}
|
691
|
+
walk(node) {
|
692
|
+
(0, cancellationUtils_1.throwIfCancellationRequested)(this._token);
|
693
|
+
super.walk(node);
|
694
|
+
}
|
695
|
+
visitImport(node) {
|
696
|
+
this._imports.push(node);
|
697
|
+
return true;
|
698
|
+
}
|
699
|
+
visitImportFrom(node) {
|
700
|
+
this._imports.push(node);
|
701
|
+
return true;
|
702
|
+
}
|
703
|
+
}
|
627
704
|
//# 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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"}
|
@@ -35,6 +35,7 @@ export declare function isFinalAllowedForAssignmentTarget(targetNode: Expression
|
|
35
35
|
export declare function isClassVarAllowedForAssignmentTarget(targetNode: ExpressionNode): boolean;
|
36
36
|
export declare function isNodeContainedWithin(node: ParseNode, potentialContainer: ParseNode): boolean;
|
37
37
|
export declare function getParentNodeOfType(node: ParseNode, containerType: ParseNodeType): ParseNode | undefined;
|
38
|
+
export declare function getParentAnnotationNode(node: ExpressionNode): ExpressionNode | undefined;
|
38
39
|
export declare function isNodeContainedWithinNodeType(node: ParseNode, containerType: ParseNodeType): boolean;
|
39
40
|
export declare function isSuiteEmpty(node: SuiteNode): boolean;
|
40
41
|
export declare function isMatchingExpression(reference: ExpressionNode, expression: ExpressionNode): boolean;
|
@@ -67,6 +68,9 @@ export declare function getCallNodeAndActiveParameterIndex(node: ParseNode, inse
|
|
67
68
|
activeIndex: number;
|
68
69
|
activeOrFake: boolean;
|
69
70
|
} | undefined;
|
71
|
+
export declare function getTokenIndexAtLeft(tokens: TextRangeCollection<Token>, position: number, includeWhitespace?: boolean, includeZeroLengthToken?: boolean): number;
|
72
|
+
export declare function getTokenAtLeft(tokens: TextRangeCollection<Token>, position: number, includeWhitespace?: boolean, includeZeroLengthToken?: boolean): Token | undefined;
|
73
|
+
export declare function getTokenAtIndex(tokens: TextRangeCollection<Token>, index: number): Token | undefined;
|
70
74
|
export declare function getTokenAt(tokens: TextRangeCollection<Token>, position: number): Token | undefined;
|
71
75
|
export declare function getTokenOverlapping(tokens: TextRangeCollection<Token>, position: number): Token | undefined;
|
72
76
|
export declare function printParseNodeType(type: ParseNodeType): "Error" | "Argument" | "Assert" | "Assignment" | "AssignmentExpression" | "AugmentedAssignment" | "Await" | "BinaryOperation" | "Break" | "Call" | "Class" | "Constant" | "Continue" | "Decorator" | "Del" | "Dictionary" | "DictionaryExpandEntry" | "DictionaryKeyEntry" | "Ellipsis" | "If" | "Import" | "ImportAs" | "ImportFrom" | "ImportFromAs" | "Index" | "Except" | "For" | "FormatString" | "Function" | "Global" | "Lambda" | "List" | "ListComprehension" | "ListComprehensionFor" | "ListComprehensionIf" | "MemberAccess" | "Module" | "ModuleName" | "Name" | "Nonlocal" | "Number" | "Parameter" | "Pass" | "Raise" | "Return" | "Set" | "Slice" | "StatementList" | "StringList" | "String" | "Suite" | "Ternary" | "Tuple" | "Try" | "TypeAnnotation" | "UnaryOperation" | "Unpack" | "While" | "With" | "WithItem" | "Yield" | "YieldFrom" | "FunctionAnnotation" | "Match" | "Case" | "PatternSequence" | "PatternAs" | "PatternLiteral" | "PatternClass" | "PatternCapture" | "PatternMapping" | "PatternMappingKeyEntry" | "PatternMappingExpandEntry" | "PatternValue" | "PatternClassArgument" | "TypeParameter" | "TypeParameterList" | "TypeAlias";
|
@@ -95,4 +99,5 @@ export declare function getStringNodeValueRange(node: StringNode): TextRange;
|
|
95
99
|
export declare function getStringValueRange(token: StringToken): TextRange;
|
96
100
|
export declare function getFullStatementRange(statementNode: ParseNode, tokenizerOutput: TokenizerOutput): Range;
|
97
101
|
export declare function isUnannotatedFunction(node: FunctionNode): boolean;
|
102
|
+
export declare function operatorSupportsChaining(op: OperatorType): boolean;
|
98
103
|
export {};
|
@@ -27,8 +27,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
27
27
|
return result;
|
28
28
|
};
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
30
|
-
exports.
|
31
|
-
exports.isUnannotatedFunction = exports.getFullStatementRange = exports.getStringValueRange = exports.getStringNodeValueRange = exports.isLastNameOfDottedName = exports.isFirstNameOfDottedName = exports.getFirstNameOfDottedName = exports.getDottedName = exports.getDottedNameWithGivenNodeAsLastName = exports.getFirstAncestorOrSelf = exports.getFirstAncestorOrSelfOfKind = exports.isLastNameOfModuleName = exports.isFromImportAlias = exports.isFromImportName = exports.isFromImportModuleName = exports.isImportAlias = exports.isImportModuleName = exports.getTypeAnnotationForParameter = void 0;
|
30
|
+
exports.printParseNodeType = exports.getTokenOverlapping = exports.getTokenAt = exports.getTokenAtIndex = 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.printOperator = exports.printExpression = exports.printArgument = exports.getTypeSourceId = exports.getClassFullName = exports.findNodeByOffset = exports.findNodeByPosition = exports.getNodeDepth = exports.PrintExpressionFlags = void 0;
|
31
|
+
exports.operatorSupportsChaining = exports.isUnannotatedFunction = exports.getFullStatementRange = exports.getStringValueRange = exports.getStringNodeValueRange = exports.isLastNameOfDottedName = exports.isFirstNameOfDottedName = exports.getFirstNameOfDottedName = exports.getDottedName = 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 = void 0;
|
32
32
|
const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
|
33
33
|
const debug_1 = require("../common/debug");
|
34
34
|
const positionUtils_1 = require("../common/positionUtils");
|
@@ -800,6 +800,55 @@ function getParentNodeOfType(node, containerType) {
|
|
800
800
|
return undefined;
|
801
801
|
}
|
802
802
|
exports.getParentNodeOfType = getParentNodeOfType;
|
803
|
+
// If the specified node is contained within an expression that is intended to be
|
804
|
+
// interpreted as a type annotation, this function returns the annotation node.
|
805
|
+
function getParentAnnotationNode(node) {
|
806
|
+
let curNode = node;
|
807
|
+
let prevNode;
|
808
|
+
while (curNode) {
|
809
|
+
if (curNode.nodeType === 28 /* Function */) {
|
810
|
+
if (prevNode === curNode.returnTypeAnnotation) {
|
811
|
+
return prevNode;
|
812
|
+
}
|
813
|
+
return undefined;
|
814
|
+
}
|
815
|
+
if (curNode.nodeType === 41 /* Parameter */) {
|
816
|
+
if (prevNode === curNode.typeAnnotation || prevNode === curNode.typeAnnotationComment) {
|
817
|
+
return prevNode;
|
818
|
+
}
|
819
|
+
return undefined;
|
820
|
+
}
|
821
|
+
if (curNode.nodeType === 3 /* Assignment */) {
|
822
|
+
if (prevNode === curNode.typeAnnotationComment) {
|
823
|
+
return prevNode;
|
824
|
+
}
|
825
|
+
return undefined;
|
826
|
+
}
|
827
|
+
if (curNode.nodeType === 54 /* TypeAnnotation */) {
|
828
|
+
if (prevNode === curNode.typeAnnotation) {
|
829
|
+
return prevNode;
|
830
|
+
}
|
831
|
+
return undefined;
|
832
|
+
}
|
833
|
+
if (curNode.nodeType === 62 /* FunctionAnnotation */) {
|
834
|
+
if (prevNode === curNode.returnTypeAnnotation || curNode.paramTypeAnnotations.some((p) => p === prevNode)) {
|
835
|
+
(0, debug_1.assert)(!prevNode || (0, parseNodes_1.isExpressionNode)(prevNode));
|
836
|
+
return prevNode;
|
837
|
+
}
|
838
|
+
return undefined;
|
839
|
+
}
|
840
|
+
if (curNode.nodeType === 48 /* StringList */) {
|
841
|
+
if (prevNode === curNode.typeAnnotation) {
|
842
|
+
return prevNode;
|
843
|
+
}
|
844
|
+
return undefined;
|
845
|
+
}
|
846
|
+
prevNode = curNode;
|
847
|
+
curNode = curNode.parent;
|
848
|
+
}
|
849
|
+
return undefined;
|
850
|
+
}
|
851
|
+
exports.getParentAnnotationNode = getParentAnnotationNode;
|
803
852
|
function isNodeContainedWithinNodeType(node, containerType) {
|
804
853
|
return getParentNodeOfType(node, containerType) !== undefined;
|
805
854
|
}
|
@@ -1276,13 +1325,47 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
|
|
1276
1325
|
}
|
1277
1326
|
}
|
1278
1327
|
exports.getCallNodeAndActiveParameterIndex = getCallNodeAndActiveParameterIndex;
|
1279
|
-
function
|
1328
|
+
function getTokenIndexAtLeft(tokens, position, includeWhitespace = false, includeZeroLengthToken = false) {
|
1280
1329
|
const index = tokens.getItemAtPosition(position);
|
1330
|
+
if (index < 0) {
|
1331
|
+
return -1;
|
1332
|
+
}
|
1333
|
+
for (let i = index; i >= 0; i--) {
|
1334
|
+
const token = tokens.getItemAt(i);
|
1335
|
+
if (!includeZeroLengthToken && token.length === 0) {
|
1336
|
+
continue;
|
1337
|
+
}
|
1338
|
+
if (!includeWhitespace && isWhitespace(token)) {
|
1339
|
+
continue;
|
1340
|
+
}
|
1341
|
+
if (textRange_1.TextRange.getEnd(token) <= position) {
|
1342
|
+
return i;
|
1343
|
+
}
|
1344
|
+
}
|
1345
|
+
return -1;
|
1346
|
+
}
|
1347
|
+
exports.getTokenIndexAtLeft = getTokenIndexAtLeft;
|
1348
|
+
function getTokenAtLeft(tokens, position, includeWhitespace = false, includeZeroLengthToken = false) {
|
1349
|
+
const index = getTokenIndexAtLeft(tokens, position, includeWhitespace, includeZeroLengthToken);
|
1350
|
+
if (index < 0) {
|
1351
|
+
return undefined;
|
1352
|
+
}
|
1353
|
+
return tokens.getItemAt(index);
|
1354
|
+
}
|
1355
|
+
exports.getTokenAtLeft = getTokenAtLeft;
|
1356
|
+
function isWhitespace(token) {
|
1357
|
+
return token.type === 2 /* NewLine */ || token.type === 3 /* Indent */ || token.type === 4 /* Dedent */;
|
1358
|
+
}
|
1359
|
+
function getTokenAtIndex(tokens, index) {
|
1281
1360
|
if (index < 0) {
|
1282
1361
|
return undefined;
|
1283
1362
|
}
|
1284
1363
|
return tokens.getItemAt(index);
|
1285
1364
|
}
|
1365
|
+
exports.getTokenAtIndex = getTokenAtIndex;
|
1366
|
+
function getTokenAt(tokens, position) {
|
1367
|
+
return getTokenAtIndex(tokens, tokens.getItemAtPosition(position));
|
1368
|
+
}
|
1286
1369
|
exports.getTokenAt = getTokenAt;
|
1287
1370
|
function getTokenOverlapping(tokens, position) {
|
1288
1371
|
const index = tokens.getItemAtPosition(position);
|
@@ -1746,6 +1829,26 @@ function isUnannotatedFunction(node) {
|
|
1746
1829
|
node.parameters.every((param) => param.typeAnnotation === undefined && param.typeAnnotationComment === undefined));
|
1747
1830
|
}
|
1748
1831
|
exports.isUnannotatedFunction = isUnannotatedFunction;
|
1832
|
+
// "Chaining" is when binary operators can be chained together
|
1833
|
+
// as a shorthand. For example, "a < b < c" is shorthand for
|
1834
|
+
// "a < b and b < c".
|
1835
|
+
function operatorSupportsChaining(op) {
|
1836
|
+
switch (op) {
|
1837
|
+
case 12 /* Equals */:
|
1838
|
+
case 28 /* NotEquals */:
|
1839
|
+
case 20 /* LessThan */:
|
1840
|
+
case 21 /* LessThanOrEqual */:
|
1841
|
+
case 15 /* GreaterThan */:
|
1842
|
+
case 16 /* GreaterThanOrEqual */:
|
1843
|
+
case 39 /* Is */:
|
1844
|
+
case 40 /* IsNot */:
|
1845
|
+
case 41 /* In */:
|
1846
|
+
case 42 /* NotIn */:
|
1847
|
+
return true;
|
1848
|
+
}
|
1849
|
+
return false;
|
1850
|
+
}
|
1851
|
+
exports.operatorSupportsChaining = operatorSupportsChaining;
|
1749
1852
|
function _getEndPositionIfMultipleStatementsAreOnSameLine(range, tokenPosition, tokenizerOutput) {
|
1750
1853
|
const tokenIndex = tokenizerOutput.tokens.getItemAtPosition(tokenPosition);
|
1751
1854
|
if (tokenIndex < 0) {
|
@@ -1759,9 +1862,14 @@ function _getEndPositionIfMultipleStatementsAreOnSameLine(range, tokenPosition,
|
|
1759
1862
|
break;
|
1760
1863
|
}
|
1761
1864
|
}
|
1865
|
+
let foundStatementEnd = false;
|
1762
1866
|
for (let index = tokenIndex; index < currentIndex; index++) {
|
1763
1867
|
const token = tokenizerOutput.tokens.getItemAt(index);
|
1764
1868
|
if (token.type === 11 /* Semicolon */ || token.type === 2 /* NewLine */) {
|
1869
|
+
foundStatementEnd = true;
|
1870
|
+
continue;
|
1871
|
+
}
|
1872
|
+
if (!foundStatementEnd) {
|
1765
1873
|
continue;
|
1766
1874
|
}
|
1767
1875
|
const tokenRange = (0, positionUtils_1.convertTextRangeToRange)(token, tokenizerOutput.lines);
|