@zzzen/pyright-internal 1.2.0-dev.20220724 → 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/checker.js +11 -3
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +4 -1
- package/dist/analyzer/constraintSolver.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/importStatementUtils.d.ts +2 -0
- package/dist/analyzer/importStatementUtils.js +49 -1
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +5 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +2 -2
- 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/typeEvaluator.js +158 -219
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeEvaluatorWithTracker.js +1 -0
- package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
- package/dist/analyzer/typeGuards.js +1 -1
- 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 +0 -1
- package/dist/analyzer/typeUtils.js +2 -17
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.js +10 -1
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/commandResult.js +1 -1
- package/dist/commands/commandResult.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 +2 -1
- package/dist/languageServerBase.js +2 -1
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.js +0 -1
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.js +12 -0
- package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -1
- 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/testState.js +6 -6
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/testState.test.js +1 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +5 -1
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +8 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/workspaceMap.js +1 -1
- package/dist/workspaceMap.js.map +1 -1
- package/package.json +2 -2
@@ -236,7 +236,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
236
236
|
typeVarContext.getRetainLiterals(destType) ||
|
237
237
|
(destType.details.boundType && (0, typeUtils_1.containsLiteralType)(destType.details.boundType)) ||
|
238
238
|
destType.details.constraints.some((t) => (0, typeUtils_1.containsLiteralType)(t));
|
239
|
-
let adjSrcType = retainLiterals ? srcType :
|
239
|
+
let adjSrcType = retainLiterals ? srcType : evaluator.stripLiteralValue(srcType);
|
240
240
|
if (types_1.TypeBase.isInstantiable(destType)) {
|
241
241
|
if ((0, typeUtils_1.isEffectivelyInstantiable)(adjSrcType)) {
|
242
242
|
adjSrcType = (0, typeUtils_1.convertToInstance)(adjSrcType, /* includeSubclasses */ false);
|
@@ -521,6 +521,9 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
|
|
521
521
|
});
|
522
522
|
return true;
|
523
523
|
}
|
524
|
+
if ((0, types_1.isTypeVar)(expectedType) && expectedType.details.isSynthesizedSelf && expectedType.details.boundType) {
|
525
|
+
expectedType = expectedType.details.boundType;
|
526
|
+
}
|
524
527
|
if (!(0, types_1.isClass)(expectedType)) {
|
525
528
|
return false;
|
526
529
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { ExpressionNode, NameNode, ParseNode } from '../parser/parseNodes';
|
2
|
+
import { VariableDeclaration } from './declaration';
|
3
|
+
import { FunctionArgument, TypeEvaluator } from './typeEvaluatorTypes';
|
4
|
+
import { ClassType, Type } from './types';
|
5
|
+
export declare function isKnownEnumType(className: string): boolean;
|
6
|
+
export declare function createEnumType(errorNode: ExpressionNode, enumClass: ClassType, argList: FunctionArgument[]): ClassType | undefined;
|
7
|
+
export declare function transformTypeForPossibleEnumClass(evaluator: TypeEvaluator, node: NameNode, getValueType: () => Type): Type | undefined;
|
8
|
+
export declare function isDeclInEnumClass(evaluator: TypeEvaluator, decl: VariableDeclaration): boolean;
|
9
|
+
export declare function getTypeOfEnumMember(evaluator: TypeEvaluator, errorNode: ParseNode, classType: ClassType, memberName: string, isIncomplete: boolean): {
|
10
|
+
type: Type;
|
11
|
+
isIncomplete: boolean;
|
12
|
+
} | undefined;
|
13
|
+
export declare function getEnumAutoValueType(evaluator: TypeEvaluator, node: ExpressionNode): Type;
|
@@ -0,0 +1,207 @@
|
|
1
|
+
"use strict";
|
2
|
+
/*
|
3
|
+
* enums.ts
|
4
|
+
* Copyright (c) Microsoft Corporation.
|
5
|
+
* Licensed under the MIT license.
|
6
|
+
* Author: Eric Traut
|
7
|
+
*
|
8
|
+
* Provides special-case logic for the Enum class.
|
9
|
+
*/
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
11
|
+
exports.getEnumAutoValueType = exports.getTypeOfEnumMember = exports.isDeclInEnumClass = exports.transformTypeForPossibleEnumClass = exports.createEnumType = exports.isKnownEnumType = void 0;
|
12
|
+
const debug_1 = require("../common/debug");
|
13
|
+
const positionUtils_1 = require("../common/positionUtils");
|
14
|
+
const textRange_1 = require("../common/textRange");
|
15
|
+
const analyzerNodeInfo_1 = require("./analyzerNodeInfo");
|
16
|
+
const parseTreeUtils_1 = require("./parseTreeUtils");
|
17
|
+
const symbol_1 = require("./symbol");
|
18
|
+
const symbolNameUtils_1 = require("./symbolNameUtils");
|
19
|
+
const types_1 = require("./types");
|
20
|
+
const typeUtils_1 = require("./typeUtils");
|
21
|
+
function isKnownEnumType(className) {
|
22
|
+
const knownEnumTypes = ['Enum', 'IntEnum', 'StrEnum', 'Flag', 'IntFlag'];
|
23
|
+
return knownEnumTypes.some((c) => c === className);
|
24
|
+
}
|
25
|
+
exports.isKnownEnumType = isKnownEnumType;
|
26
|
+
// Creates a new custom enum class with named values.
|
27
|
+
function createEnumType(errorNode, enumClass, argList) {
|
28
|
+
const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(errorNode);
|
29
|
+
let className = 'enum';
|
30
|
+
if (argList.length === 0) {
|
31
|
+
return undefined;
|
32
|
+
}
|
33
|
+
else {
|
34
|
+
const nameArg = argList[0];
|
35
|
+
if (nameArg.argumentCategory === 0 /* Simple */ &&
|
36
|
+
nameArg.valueExpression &&
|
37
|
+
nameArg.valueExpression.nodeType === 48 /* StringList */) {
|
38
|
+
className = nameArg.valueExpression.strings.map((s) => s.value).join('');
|
39
|
+
}
|
40
|
+
else {
|
41
|
+
return undefined;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
const classType = types_1.ClassType.createInstantiable(className, (0, parseTreeUtils_1.getClassFullName)(errorNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 1048576 /* EnumClass */, (0, parseTreeUtils_1.getTypeSourceId)(errorNode),
|
45
|
+
/* declaredMetaclass */ undefined, enumClass.details.effectiveMetaclass);
|
46
|
+
classType.details.baseClasses.push(enumClass);
|
47
|
+
(0, typeUtils_1.computeMroLinearization)(classType);
|
48
|
+
const classFields = classType.details.fields;
|
49
|
+
classFields.set('__class__', symbol_1.Symbol.createWithType(4 /* ClassMember */ | 64 /* IgnoredForProtocolMatch */, classType));
|
50
|
+
if (argList.length < 2) {
|
51
|
+
return undefined;
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
const entriesArg = argList[1];
|
55
|
+
if (entriesArg.argumentCategory !== 0 /* Simple */ ||
|
56
|
+
!entriesArg.valueExpression ||
|
57
|
+
entriesArg.valueExpression.nodeType !== 48 /* StringList */) {
|
58
|
+
// Technically, the Enum constructor supports a bunch of different
|
59
|
+
// ways to specify the items: space-delimited string, a string
|
60
|
+
// iterator, an iterator of name/value tuples, and a dictionary
|
61
|
+
// of name/value pairs. We support only the simple space-delimited
|
62
|
+
// string here. For users who are interested in type checking, we
|
63
|
+
// recommend using the more standard class declaration syntax.
|
64
|
+
return undefined;
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
const entries = entriesArg.valueExpression.strings
|
68
|
+
.map((s) => s.value)
|
69
|
+
.join('')
|
70
|
+
.split(' ');
|
71
|
+
entries.forEach((entryName) => {
|
72
|
+
entryName = entryName.trim();
|
73
|
+
if (entryName) {
|
74
|
+
const entryType = types_1.UnknownType.create();
|
75
|
+
const newSymbol = symbol_1.Symbol.createWithType(4 /* ClassMember */, entryType);
|
76
|
+
// We need to associate the declaration with a parse node.
|
77
|
+
// In this case it's just part of a string literal value.
|
78
|
+
// The definition provider won't necessarily take the
|
79
|
+
// user to the exact spot in the string, but it's close enough.
|
80
|
+
const stringNode = entriesArg.valueExpression;
|
81
|
+
(0, debug_1.assert)(stringNode.nodeType === 48 /* StringList */);
|
82
|
+
const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(errorNode);
|
83
|
+
const declaration = {
|
84
|
+
type: 1 /* Variable */,
|
85
|
+
node: stringNode,
|
86
|
+
isRuntimeTypeExpression: true,
|
87
|
+
path: fileInfo.filePath,
|
88
|
+
range: (0, positionUtils_1.convertOffsetsToRange)(stringNode.start, textRange_1.TextRange.getEnd(stringNode), fileInfo.lines),
|
89
|
+
moduleName: fileInfo.moduleName,
|
90
|
+
isInExceptSuite: false,
|
91
|
+
};
|
92
|
+
newSymbol.addDeclaration(declaration);
|
93
|
+
classFields.set(entryName, newSymbol);
|
94
|
+
}
|
95
|
+
});
|
96
|
+
}
|
97
|
+
}
|
98
|
+
return classType;
|
99
|
+
}
|
100
|
+
exports.createEnumType = createEnumType;
|
101
|
+
function transformTypeForPossibleEnumClass(evaluator, node, getValueType) {
|
102
|
+
var _a, _b, _c, _d;
|
103
|
+
// If the node is within a class that derives from the metaclass
|
104
|
+
// "EnumMeta", we need to treat assignments differently.
|
105
|
+
const enclosingClassNode = (0, parseTreeUtils_1.getEnclosingClass)(node, /* stopAtFunction */ true);
|
106
|
+
if (!enclosingClassNode) {
|
107
|
+
return undefined;
|
108
|
+
}
|
109
|
+
const enumClassInfo = evaluator.getTypeOfClass(enclosingClassNode);
|
110
|
+
if (!enumClassInfo || !types_1.ClassType.isEnumClass(enumClassInfo.classType)) {
|
111
|
+
return undefined;
|
112
|
+
}
|
113
|
+
// In ".py" files, the transform applies only to members that are
|
114
|
+
// assigned within the class. In stub files, it applies to most variables
|
115
|
+
// even if they are not assigned. This unfortunate convention means
|
116
|
+
// there is no way in a stub to specify both enum members and instance
|
117
|
+
// variables used within each enum instance. Unless/until there is
|
118
|
+
// a change to this convention and all type checkers and stubs adopt
|
119
|
+
// it, we're stuck with this limitation.
|
120
|
+
let isMemberOfEnumeration = (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* Assignment */ && node.parent.leftExpression === node) ||
|
121
|
+
(((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 54 /* TypeAnnotation */ &&
|
122
|
+
node.parent.valueExpression === node &&
|
123
|
+
((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 3 /* Assignment */) ||
|
124
|
+
((0, analyzerNodeInfo_1.getFileInfo)(node).isStubFile &&
|
125
|
+
((_d = node.parent) === null || _d === void 0 ? void 0 : _d.nodeType) === 54 /* TypeAnnotation */ &&
|
126
|
+
node.parent.valueExpression === node);
|
127
|
+
// The spec specifically excludes names that start and end with a single underscore.
|
128
|
+
// This also includes dunder names.
|
129
|
+
if ((0, symbolNameUtils_1.isSingleDunderName)(node.value)) {
|
130
|
+
isMemberOfEnumeration = false;
|
131
|
+
}
|
132
|
+
// Specifically exclude "value" and "name". These are reserved by the enum metaclass.
|
133
|
+
if (node.value === 'name' || node.value === 'value') {
|
134
|
+
isMemberOfEnumeration = false;
|
135
|
+
}
|
136
|
+
const valueType = getValueType();
|
137
|
+
// The spec excludes descriptors.
|
138
|
+
if ((0, types_1.isClassInstance)(valueType) && valueType.details.fields.get('__get__')) {
|
139
|
+
isMemberOfEnumeration = false;
|
140
|
+
}
|
141
|
+
if (isMemberOfEnumeration) {
|
142
|
+
const enumLiteral = new types_1.EnumLiteral(enumClassInfo.classType.details.name, node.value, valueType);
|
143
|
+
return types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneWithLiteral(enumClassInfo.classType, enumLiteral));
|
144
|
+
}
|
145
|
+
return undefined;
|
146
|
+
}
|
147
|
+
exports.transformTypeForPossibleEnumClass = transformTypeForPossibleEnumClass;
|
148
|
+
function isDeclInEnumClass(evaluator, decl) {
|
149
|
+
const classNode = (0, parseTreeUtils_1.getEnclosingClass)(decl.node, /* stopAtFunction */ true);
|
150
|
+
if (!classNode) {
|
151
|
+
return false;
|
152
|
+
}
|
153
|
+
const classInfo = evaluator.getTypeOfClass(classNode);
|
154
|
+
if (!classInfo) {
|
155
|
+
return false;
|
156
|
+
}
|
157
|
+
return types_1.ClassType.isEnumClass(classInfo.classType);
|
158
|
+
}
|
159
|
+
exports.isDeclInEnumClass = isDeclInEnumClass;
|
160
|
+
function getTypeOfEnumMember(evaluator, errorNode, classType, memberName, isIncomplete) {
|
161
|
+
// Handle the special case of 'name' and 'value' members within an enum.
|
162
|
+
if (!types_1.ClassType.isEnumClass(classType)) {
|
163
|
+
return undefined;
|
164
|
+
}
|
165
|
+
const literalValue = classType.literalValue;
|
166
|
+
if (!(literalValue instanceof types_1.EnumLiteral)) {
|
167
|
+
return undefined;
|
168
|
+
}
|
169
|
+
if (memberName === 'name' || memberName === '_name_') {
|
170
|
+
const strClass = evaluator.getBuiltInType(errorNode, 'str');
|
171
|
+
if ((0, types_1.isInstantiableClass)(strClass)) {
|
172
|
+
return {
|
173
|
+
type: types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneWithLiteral(strClass, literalValue.itemName)),
|
174
|
+
isIncomplete,
|
175
|
+
};
|
176
|
+
}
|
177
|
+
}
|
178
|
+
if (memberName === 'value' || memberName === '_value_') {
|
179
|
+
return { type: literalValue.itemType, isIncomplete };
|
180
|
+
}
|
181
|
+
return undefined;
|
182
|
+
}
|
183
|
+
exports.getTypeOfEnumMember = getTypeOfEnumMember;
|
184
|
+
function getEnumAutoValueType(evaluator, node) {
|
185
|
+
const containingClassNode = (0, parseTreeUtils_1.getEnclosingClass)(node);
|
186
|
+
if (containingClassNode) {
|
187
|
+
const classTypeInfo = evaluator.getTypeOfClass(containingClassNode);
|
188
|
+
if (classTypeInfo) {
|
189
|
+
const memberInfo = evaluator.getTypeOfObjectMember(node, types_1.ClassType.cloneAsInstance(classTypeInfo.classType), '_generate_next_value_');
|
190
|
+
// Did we find a custom _generate_next_value_ sunder override?
|
191
|
+
// Ignore if this comes from Enum because it is declared as
|
192
|
+
// returning an "Any" type in the typeshed stubs.
|
193
|
+
if (memberInfo &&
|
194
|
+
(0, types_1.isFunction)(memberInfo.type) &&
|
195
|
+
memberInfo.classType &&
|
196
|
+
(0, types_1.isClass)(memberInfo.classType) &&
|
197
|
+
!types_1.ClassType.isBuiltIn(memberInfo.classType, 'Enum')) {
|
198
|
+
if (memberInfo.type.details.declaredReturnType) {
|
199
|
+
return memberInfo.type.details.declaredReturnType;
|
200
|
+
}
|
201
|
+
}
|
202
|
+
}
|
203
|
+
}
|
204
|
+
return evaluator.getBuiltInObject(node, 'int');
|
205
|
+
}
|
206
|
+
exports.getEnumAutoValueType = getEnumAutoValueType;
|
207
|
+
//# sourceMappingURL=enums.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/analyzer/enums.ts"],"names":[],"mappings":"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"}
|
@@ -34,6 +34,7 @@ export interface ImportNameWithModuleInfo extends ImportNameInfo {
|
|
34
34
|
}
|
35
35
|
export declare function getImportGroup(statement: ImportStatement): ImportGroup;
|
36
36
|
export declare function compareImportStatements(a: ImportStatement, b: ImportStatement): 1 | -1;
|
37
|
+
export declare function getAllImports(root: ModuleNode, token: CancellationToken): (ImportNode | ImportFromNode)[];
|
37
38
|
export declare function getTopLevelImports(parseTree: ModuleNode, includeImplicitImports?: boolean): ImportStatements;
|
38
39
|
export declare function getTextEditsForAutoImportSymbolAddition(importNameInfo: ImportNameInfo | ImportNameInfo[], importStatement: ImportStatement, parseResults: ParseResults): TextEditAction[];
|
39
40
|
export declare function getTextEditsForAutoImportInsertions(importNameInfo: ImportNameWithModuleInfo[] | ImportNameWithModuleInfo, importStatements: ImportStatements, parseResults: ParseResults, invocationPosition: Position): TextEditAction[];
|
@@ -44,3 +45,4 @@ export declare function getImportGroupFromModuleNameAndType(moduleNameAndType: M
|
|
44
45
|
export declare function getTextRangeForImportNameDeletion(nameNodes: ImportAsNode[] | ImportFromAsNode[], ...nameNodeIndexToDelete: number[]): TextRange[];
|
45
46
|
export declare function getRelativeModuleName(fs: FileSystem, sourcePath: string, targetPath: string, ignoreFolderStructure?: boolean, sourceIsFile?: boolean): string;
|
46
47
|
export declare function getDirectoryLeadingDotsPointsTo(fromDirectory: string, leadingDots: number): string | undefined;
|
48
|
+
export declare function getResolvedFilePath(importResult: ImportResult | undefined): string | undefined;
|
@@ -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) {
|
@@ -653,4 +658,47 @@ function getDirectoryLeadingDotsPointsTo(fromDirectory, leadingDots) {
|
|
653
658
|
return currentDirectory;
|
654
659
|
}
|
655
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
|
+
}
|
656
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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"}
|
@@ -1862,9 +1862,14 @@ function _getEndPositionIfMultipleStatementsAreOnSameLine(range, tokenPosition,
|
|
1862
1862
|
break;
|
1863
1863
|
}
|
1864
1864
|
}
|
1865
|
+
let foundStatementEnd = false;
|
1865
1866
|
for (let index = tokenIndex; index < currentIndex; index++) {
|
1866
1867
|
const token = tokenizerOutput.tokens.getItemAt(index);
|
1867
1868
|
if (token.type === 11 /* Semicolon */ || token.type === 2 /* NewLine */) {
|
1869
|
+
foundStatementEnd = true;
|
1870
|
+
continue;
|
1871
|
+
}
|
1872
|
+
if (!foundStatementEnd) {
|
1868
1873
|
continue;
|
1869
1874
|
}
|
1870
1875
|
const tokenRange = (0, positionUtils_1.convertTextRangeToRange)(token, tokenizerOutput.lines);
|