@zzzen/pyright-internal 1.2.0-dev.20240630 → 1.2.0-dev.20240714
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.js +74 -46
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.js +507 -513
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +652 -633
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +5 -3
- package/dist/analyzer/codeFlowEngine.js +143 -122
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js +30 -28
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.d.ts +1 -1
- package/dist/analyzer/constraintSolver.js +71 -67
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +22 -22
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js +85 -77
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +113 -176
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -1
- package/dist/analyzer/declarationUtils.js +14 -15
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +85 -85
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +71 -57
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +8 -18
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +2 -1
- package/dist/analyzer/importResolver.js +40 -29
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +27 -27
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +33 -59
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +4 -4
- package/dist/analyzer/operations.js +70 -70
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +66 -62
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +4 -4
- package/dist/analyzer/parameterUtils.js +28 -46
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +268 -269
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.js +76 -76
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.js +195 -147
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +1 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +78 -147
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +22 -22
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +3 -2
- package/dist/analyzer/sourceFile.js +8 -8
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.js +20 -19
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +83 -84
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/testWalker.js +2 -2
- package/dist/analyzer/testWalker.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +20 -20
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js +25 -25
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +2330 -2367
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +33 -31
- package/dist/analyzer/typeEvaluatorTypes.js +48 -41
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +221 -217
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +118 -115
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +104 -103
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +26 -9
- package/dist/analyzer/typeUtils.js +460 -404
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.js +8 -8
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typeWalker.js +13 -10
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.js +96 -198
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +147 -103
- package/dist/analyzer/types.js +668 -493
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +33 -33
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/diagnostic.d.ts +14 -0
- package/dist/common/diagnostic.js +41 -1
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +4 -0
- package/dist/common/diagnosticSink.js +21 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/fileSystem.d.ts +1 -0
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/fullAccessHost.js +6 -4
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +1 -0
- package/dist/common/realFileSystem.js +4 -0
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/textEditTracker.js +14 -14
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/languageService/autoImporter.js +10 -10
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +23 -23
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +1 -1
- package/dist/languageService/completionProvider.js +156 -154
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +1 -1
- package/dist/languageService/definitionProvider.js +3 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +19 -19
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.js +25 -24
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.js +8 -8
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/referencesProvider.js +8 -8
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +1 -1
- package/dist/languageService/signatureHelpProvider.js +6 -6
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +3 -3
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +13 -13
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +3 -0
- package/dist/localization/localize.js +1 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +2 -1
- package/dist/parser/parseNodes.d.ts +468 -401
- package/dist/parser/parseNodes.js +626 -355
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.d.ts +1 -0
- package/dist/parser/parser.js +322 -297
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +265 -5
- package/dist/pyright.js.map +1 -1
- package/dist/tests/classDeclaration.test.js +14 -14
- package/dist/tests/classDeclaration.test.js.map +1 -1
- package/dist/tests/fourslash/hover.init.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +3 -2
- package/dist/tests/harness/vfs/filesystem.js +6 -2
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +4 -3
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +5 -5
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js +8 -8
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +7 -7
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +2 -2
- package/dist/tests/typeEvaluator3.test.js +10 -5
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +1 -1
- package/dist/tests/typeEvaluator7.test.js +2 -2
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +14 -39
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/package.json +1 -1
@@ -16,110 +16,128 @@ const codeFlowTypes_1 = require("./codeFlowTypes");
|
|
16
16
|
// Cleans out all fields that are added by the analyzer phases
|
17
17
|
// (after the post-parse walker).
|
18
18
|
function cleanNodeAnalysisInfo(node) {
|
19
|
-
const
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
19
|
+
const info = getAnalyzerInfo(node);
|
20
|
+
if (info === null || info === void 0 ? void 0 : info.scope) {
|
21
|
+
info.scope = undefined;
|
22
|
+
}
|
23
|
+
if (info === null || info === void 0 ? void 0 : info.declaration) {
|
24
|
+
info.declaration = undefined;
|
25
|
+
}
|
26
|
+
if (info === null || info === void 0 ? void 0 : info.flowNode) {
|
27
|
+
info.flowNode = undefined;
|
28
|
+
}
|
29
|
+
if (info === null || info === void 0 ? void 0 : info.afterFlowNode) {
|
30
|
+
info.afterFlowNode = undefined;
|
31
|
+
}
|
32
|
+
if (info === null || info === void 0 ? void 0 : info.fileInfo) {
|
33
|
+
info.fileInfo = undefined;
|
34
|
+
}
|
35
|
+
if (info === null || info === void 0 ? void 0 : info.codeFlowExpressions) {
|
36
|
+
info.codeFlowExpressions = undefined;
|
37
|
+
}
|
38
|
+
if (info === null || info === void 0 ? void 0 : info.codeFlowComplexity) {
|
39
|
+
info.codeFlowComplexity = undefined;
|
40
|
+
}
|
41
|
+
if (info === null || info === void 0 ? void 0 : info.dunderAllInfo) {
|
42
|
+
info.dunderAllInfo = undefined;
|
43
|
+
}
|
44
|
+
if (info === null || info === void 0 ? void 0 : info.typeParameterSymbol) {
|
45
|
+
info.typeParameterSymbol = undefined;
|
46
|
+
}
|
29
47
|
}
|
30
48
|
exports.cleanNodeAnalysisInfo = cleanNodeAnalysisInfo;
|
31
49
|
function getImportInfo(node) {
|
32
|
-
const
|
33
|
-
return
|
50
|
+
const info = getAnalyzerInfo(node);
|
51
|
+
return info === null || info === void 0 ? void 0 : info.importInfo;
|
34
52
|
}
|
35
53
|
exports.getImportInfo = getImportInfo;
|
36
54
|
function setImportInfo(node, importInfo) {
|
37
|
-
const
|
38
|
-
|
55
|
+
const info = getAnalyzerInfoForWrite(node);
|
56
|
+
info.importInfo = importInfo;
|
39
57
|
}
|
40
58
|
exports.setImportInfo = setImportInfo;
|
41
59
|
function getScope(node) {
|
42
|
-
const
|
43
|
-
return
|
60
|
+
const info = getAnalyzerInfo(node);
|
61
|
+
return info === null || info === void 0 ? void 0 : info.scope;
|
44
62
|
}
|
45
63
|
exports.getScope = getScope;
|
46
64
|
function setScope(node, scope) {
|
47
|
-
const
|
48
|
-
|
65
|
+
const info = getAnalyzerInfoForWrite(node);
|
66
|
+
info.scope = scope;
|
49
67
|
}
|
50
68
|
exports.setScope = setScope;
|
51
69
|
function getDeclaration(node) {
|
52
|
-
const
|
53
|
-
return
|
70
|
+
const info = getAnalyzerInfo(node);
|
71
|
+
return info === null || info === void 0 ? void 0 : info.declaration;
|
54
72
|
}
|
55
73
|
exports.getDeclaration = getDeclaration;
|
56
74
|
function setDeclaration(node, decl) {
|
57
|
-
const
|
58
|
-
|
75
|
+
const info = getAnalyzerInfoForWrite(node);
|
76
|
+
info.declaration = decl;
|
59
77
|
}
|
60
78
|
exports.setDeclaration = setDeclaration;
|
61
79
|
function getFlowNode(node) {
|
62
|
-
const
|
63
|
-
return
|
80
|
+
const info = getAnalyzerInfo(node);
|
81
|
+
return info === null || info === void 0 ? void 0 : info.flowNode;
|
64
82
|
}
|
65
83
|
exports.getFlowNode = getFlowNode;
|
66
84
|
function setFlowNode(node, flowNode) {
|
67
|
-
const
|
68
|
-
|
85
|
+
const info = getAnalyzerInfoForWrite(node);
|
86
|
+
info.flowNode = flowNode;
|
69
87
|
}
|
70
88
|
exports.setFlowNode = setFlowNode;
|
71
89
|
function getAfterFlowNode(node) {
|
72
|
-
const
|
73
|
-
return
|
90
|
+
const info = getAnalyzerInfo(node);
|
91
|
+
return info === null || info === void 0 ? void 0 : info.afterFlowNode;
|
74
92
|
}
|
75
93
|
exports.getAfterFlowNode = getAfterFlowNode;
|
76
94
|
function setAfterFlowNode(node, flowNode) {
|
77
|
-
const
|
78
|
-
|
95
|
+
const info = getAnalyzerInfoForWrite(node);
|
96
|
+
info.afterFlowNode = flowNode;
|
79
97
|
}
|
80
98
|
exports.setAfterFlowNode = setAfterFlowNode;
|
81
99
|
function getFileInfo(node) {
|
82
100
|
while (node.nodeType !== 36 /* ParseNodeType.Module */) {
|
83
101
|
node = node.parent;
|
84
102
|
}
|
85
|
-
const
|
86
|
-
return
|
103
|
+
const info = getAnalyzerInfo(node);
|
104
|
+
return info.fileInfo;
|
87
105
|
}
|
88
106
|
exports.getFileInfo = getFileInfo;
|
89
107
|
function setFileInfo(node, fileInfo) {
|
90
|
-
const
|
91
|
-
|
108
|
+
const info = getAnalyzerInfoForWrite(node);
|
109
|
+
info.fileInfo = fileInfo;
|
92
110
|
}
|
93
111
|
exports.setFileInfo = setFileInfo;
|
94
112
|
function getCodeFlowExpressions(node) {
|
95
|
-
const
|
96
|
-
return
|
113
|
+
const info = getAnalyzerInfo(node);
|
114
|
+
return info === null || info === void 0 ? void 0 : info.codeFlowExpressions;
|
97
115
|
}
|
98
116
|
exports.getCodeFlowExpressions = getCodeFlowExpressions;
|
99
117
|
function setCodeFlowExpressions(node, expressions) {
|
100
|
-
const
|
101
|
-
|
118
|
+
const info = getAnalyzerInfoForWrite(node);
|
119
|
+
info.codeFlowExpressions = expressions;
|
102
120
|
}
|
103
121
|
exports.setCodeFlowExpressions = setCodeFlowExpressions;
|
104
122
|
function getCodeFlowComplexity(node) {
|
105
123
|
var _a;
|
106
|
-
const
|
107
|
-
return (_a =
|
124
|
+
const info = getAnalyzerInfo(node);
|
125
|
+
return (_a = info === null || info === void 0 ? void 0 : info.codeFlowComplexity) !== null && _a !== void 0 ? _a : 0;
|
108
126
|
}
|
109
127
|
exports.getCodeFlowComplexity = getCodeFlowComplexity;
|
110
128
|
function setCodeFlowComplexity(node, complexity) {
|
111
|
-
const
|
112
|
-
|
129
|
+
const info = getAnalyzerInfoForWrite(node);
|
130
|
+
info.codeFlowComplexity = complexity;
|
113
131
|
}
|
114
132
|
exports.setCodeFlowComplexity = setCodeFlowComplexity;
|
115
133
|
function getDunderAllInfo(node) {
|
116
|
-
const
|
117
|
-
return
|
134
|
+
const info = getAnalyzerInfo(node);
|
135
|
+
return info === null || info === void 0 ? void 0 : info.dunderAllInfo;
|
118
136
|
}
|
119
137
|
exports.getDunderAllInfo = getDunderAllInfo;
|
120
138
|
function setDunderAllInfo(node, names) {
|
121
|
-
const
|
122
|
-
|
139
|
+
const info = getAnalyzerInfoForWrite(node);
|
140
|
+
info.dunderAllInfo = names;
|
123
141
|
}
|
124
142
|
exports.setDunderAllInfo = setDunderAllInfo;
|
125
143
|
function isCodeUnreachable(node) {
|
@@ -136,4 +154,14 @@ function isCodeUnreachable(node) {
|
|
136
154
|
return false;
|
137
155
|
}
|
138
156
|
exports.isCodeUnreachable = isCodeUnreachable;
|
157
|
+
function getAnalyzerInfo(node) {
|
158
|
+
return node.a;
|
159
|
+
}
|
160
|
+
function getAnalyzerInfoForWrite(node) {
|
161
|
+
let info = node.a;
|
162
|
+
if (!info) {
|
163
|
+
node.a = info = {};
|
164
|
+
}
|
165
|
+
return info;
|
166
|
+
}
|
139
167
|
//# sourceMappingURL=analyzerNodeInfo.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"analyzerNodeInfo.js","sourceRoot":"","sources":["../../../../../src/analyzer/analyzerNodeInfo.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAcH,mDAAsD;AAwDtD,8DAA8D;AAC9D,iCAAiC;AACjC,SAAgB,qBAAqB,CAAC,IAAe;IACjD,MAAM,
|
1
|
+
{"version":3,"file":"analyzerNodeInfo.js","sourceRoot":"","sources":["../../../../../src/analyzer/analyzerNodeInfo.ts"],"names":[],"mappings":"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"}
|