@zzzen/pyright-internal 1.2.0-dev.20231203 → 1.2.0-dev.20231210
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/analyzerFileInfo.d.ts +4 -3
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
- package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +56 -52
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +43 -33
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/circularDependency.d.ts +3 -2
- package/dist/analyzer/circularDependency.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +29 -36
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +3 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +1 -1
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +5 -3
- package/dist/analyzer/declaration.js +3 -2
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +3 -2
- package/dist/analyzer/declarationUtils.js +14 -12
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/enums.js +1 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +29 -25
- package/dist/analyzer/importResolver.js +300 -301
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.d.ts +5 -4
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +5 -4
- package/dist/analyzer/importStatementUtils.js +23 -22
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -3
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +7 -6
- package/dist/analyzer/packageTypeReport.js +4 -4
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +68 -64
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
- package/dist/analyzer/parentDirectoryCache.js +9 -10
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +6 -3
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +79 -14
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +27 -26
- package/dist/analyzer/program.js +162 -156
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +3 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.d.ts +3 -2
- package/dist/analyzer/pyTypedUtils.js +4 -5
- package/dist/analyzer/pyTypedUtils.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +7 -6
- package/dist/analyzer/pythonPathUtils.js +21 -23
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +24 -23
- package/dist/analyzer/service.js +187 -183
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +4 -5
- package/dist/analyzer/sourceFile.js +68 -56
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +3 -3
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +11 -10
- package/dist/analyzer/sourceMapper.js +59 -62
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
- package/dist/analyzer/sourceMapperUtils.js +2 -2
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +3 -2
- package/dist/analyzer/tracePrinter.js +21 -23
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
- package/dist/analyzer/typeDocStringUtils.js +14 -17
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +172 -102
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +3 -3
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +2 -0
- package/dist/analyzer/typePrinter.js +48 -8
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +2 -1
- package/dist/analyzer/typeStubWriter.js +2 -2
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +4 -2
- package/dist/analyzer/typeUtils.js +16 -5
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -4
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +5 -4
- package/dist/analyzer/types.js +4 -4
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -2
- package/dist/backgroundAnalysis.js +6 -4
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +22 -20
- package/dist/backgroundAnalysisBase.js +76 -55
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -1
- package/dist/backgroundThreadBase.js +20 -11
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.js +3 -2
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +5 -5
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +14 -13
- package/dist/common/configOptions.js +29 -27
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +6 -5
- package/dist/common/diagnostic.js +2 -2
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +2 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -5
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -1
- package/dist/common/envVarUtils.js +20 -28
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +19 -19
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileSystem.d.ts +29 -28
- package/dist/common/fileWatcher.d.ts +3 -2
- package/dist/common/fileWatcher.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +8 -7
- package/dist/common/fullAccessHost.js +21 -16
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +7 -6
- package/dist/common/host.js +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -1
- package/dist/common/logTracker.js +4 -4
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/pathUtils.d.ts +1 -28
- package/dist/common/pathUtils.js +17 -366
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +7 -3
- package/dist/common/realFileSystem.js +78 -60
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -1
- package/dist/common/serviceProviderExtensions.js +5 -2
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +2 -1
- package/dist/common/textEditTracker.js +28 -28
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.d.ts +2 -1
- package/dist/common/textRange.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +51 -0
- package/dist/common/uri/baseUri.js +194 -0
- package/dist/common/uri/baseUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +32 -0
- package/dist/common/uri/emptyUri.js +122 -0
- package/dist/common/uri/emptyUri.js.map +1 -0
- package/dist/common/uri/fileUri.d.ts +36 -0
- package/dist/common/uri/fileUri.js +180 -0
- package/dist/common/uri/fileUri.js.map +1 -0
- package/dist/common/uri/memoization.d.ts +3 -0
- package/dist/common/uri/memoization.js +72 -0
- package/dist/common/uri/memoization.js.map +1 -0
- package/dist/common/uri/uri.d.ts +50 -0
- package/dist/common/uri/uri.js +104 -0
- package/dist/common/uri/uri.js.map +1 -0
- package/dist/common/uri/uriUtils.d.ts +39 -0
- package/dist/common/uri/uriUtils.js +362 -0
- package/dist/common/uri/uriUtils.js.map +1 -0
- package/dist/common/uri/webUri.d.ts +36 -0
- package/dist/common/uri/webUri.js +207 -0
- package/dist/common/uri/webUri.js.map +1 -0
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +34 -37
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +19 -22
- package/dist/languageServerBase.js +91 -95
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
- package/dist/languageService/analyzerServiceExecutor.js +14 -16
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +11 -9
- package/dist/languageService/autoImporter.js +45 -44
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +3 -2
- package/dist/languageService/callHierarchyProvider.js +23 -35
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -1
- package/dist/languageService/codeActionProvider.js +8 -10
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +7 -6
- package/dist/languageService/completionProvider.js +32 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -1
- package/dist/languageService/completionProviderUtils.js +1 -1
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +4 -3
- package/dist/languageService/definitionProvider.js +26 -24
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.d.ts +3 -2
- package/dist/languageService/documentHighlightProvider.js +3 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +8 -7
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +5 -4
- package/dist/languageService/documentSymbolProvider.js +9 -11
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +4 -3
- package/dist/languageService/hoverProvider.js +6 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.d.ts +2 -1
- package/dist/languageService/navigationUtils.js +2 -3
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +2 -1
- package/dist/languageService/quickActions.js +3 -3
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +10 -9
- package/dist/languageService/referencesProvider.js +28 -28
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +4 -3
- package/dist/languageService/renameProvider.js +17 -18
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -2
- package/dist/languageService/signatureHelpProvider.js +4 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -1
- package/dist/languageService/symbolIndexer.js +1 -1
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +10 -4
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
- package/dist/languageService/workspaceSymbolProvider.js +10 -11
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +1 -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/pyright.js +18 -17
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +13 -13
- package/dist/pyrightFileSystem.js +38 -43
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
- package/dist/readonlyAugmentedFileSystem.js +62 -65
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +21 -20
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +39 -30
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +31 -30
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +7 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +24 -22
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -2
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +37 -35
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +4 -4
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
- package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +91 -51
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +3 -2
- package/dist/tests/harness/testAccessHost.js +2 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +13 -11
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -2
- package/dist/tests/harness/vfs/factory.js +5 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
- package/dist/tests/harness/vfs/filesystem.js +47 -49
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +1 -10
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +81 -58
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +10 -9
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +12 -11
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +2 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +2 -1
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +3 -138
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +38 -34
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/service.test.js +37 -42
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +3 -2
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -7
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +13 -6
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +13 -9
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -5
- package/dist/tests/testStateUtils.js +27 -64
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +3 -5
- package/dist/tests/testUtils.js +15 -64
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +4 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -15
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +18 -9
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +73 -62
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +20 -19
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +28 -27
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +4 -3
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.d.ts +1 -0
- package/dist/tests/uri.test.js +695 -0
- package/dist/tests/uri.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +28 -28
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +11 -11
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +13 -14
- package/dist/workspaceFactory.js +54 -55
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
- package/dist/common/uriParser.d.ts +0 -24
- package/dist/common/uriParser.js +0 -45
- package/dist/common/uriParser.js.map +0 -1
@@ -89,7 +89,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
89
89
|
}
|
90
90
|
}
|
91
91
|
const namedTupleType = evaluator.getTypingType(errorNode, 'NamedTuple') || types_1.UnknownType.create();
|
92
|
-
const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(errorNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.
|
92
|
+
const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(errorNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.fileUri, 16777216 /* ClassTypeFlags.ReadOnlyInstanceVariables */, ParseTreeUtils.getTypeSourceId(errorNode),
|
93
93
|
/* declaredMetaclass */ undefined, (0, types_1.isInstantiableClass)(namedTupleType) ? namedTupleType.details.effectiveMetaclass : types_1.UnknownType.create());
|
94
94
|
classType.details.baseClasses.push(namedTupleType);
|
95
95
|
classType.details.typeVarScopeId = ParseTreeUtils.getScopeIdForNode(errorNode);
|
@@ -159,7 +159,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
159
159
|
type: 1 /* DeclarationType.Variable */,
|
160
160
|
node: stringNode,
|
161
161
|
isRuntimeTypeExpression: true,
|
162
|
-
|
162
|
+
uri: fileInfo.fileUri,
|
163
163
|
range: (0, positionUtils_1.convertOffsetsToRange)(stringNode.start, textRange_1.TextRange.getEnd(stringNode), fileInfo.lines),
|
164
164
|
moduleName: fileInfo.moduleName,
|
165
165
|
isInExceptSuite: false,
|
@@ -236,7 +236,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
236
236
|
const declaration = {
|
237
237
|
type: 1 /* DeclarationType.Variable */,
|
238
238
|
node: entryNameNode,
|
239
|
-
|
239
|
+
uri: fileInfo.fileUri,
|
240
240
|
typeAnnotationNode: entryTypeNode,
|
241
241
|
range: (0, positionUtils_1.convertOffsetsToRange)(entryNameNode.start, textRange_1.TextRange.getEnd(entryNameNode), fileInfo.lines),
|
242
242
|
moduleName: fileInfo.moduleName,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"namedTuples.js","sourceRoot":"","sources":["../../../src/analyzer/namedTuples.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"namedTuples.js","sourceRoot":"","sources":["../../../src/analyzer/namedTuples.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { Diagnostic, DiagnosticWithinFile } from '../common/diagnostic';
|
2
|
+
import { Uri } from '../common/uri/uri';
|
2
3
|
import { ScopeType } from './scope';
|
3
4
|
export declare enum SymbolCategory {
|
4
5
|
Indeterminate = 0,
|
@@ -21,7 +22,7 @@ export interface SymbolInfo {
|
|
21
22
|
category: SymbolCategory;
|
22
23
|
name: string;
|
23
24
|
fullName: string;
|
24
|
-
|
25
|
+
fileUri: Uri;
|
25
26
|
isExported: boolean;
|
26
27
|
typeKnownStatus: TypeKnownStatus;
|
27
28
|
referenceCount: number;
|
@@ -30,7 +31,7 @@ export interface SymbolInfo {
|
|
30
31
|
}
|
31
32
|
export interface ModuleInfo {
|
32
33
|
name: string;
|
33
|
-
|
34
|
+
uri: Uri;
|
34
35
|
isExported: boolean;
|
35
36
|
}
|
36
37
|
export type AlternateSymbolNameMap = Map<string, string[]>;
|
@@ -38,10 +39,10 @@ export interface PackageTypeReport {
|
|
38
39
|
packageName: string;
|
39
40
|
moduleName: string;
|
40
41
|
ignoreExternal: boolean;
|
41
|
-
|
42
|
-
|
42
|
+
packageRootDirectoryUri: Uri | undefined;
|
43
|
+
moduleRootDirectoryUri: Uri | undefined;
|
43
44
|
isModuleSingleFile: boolean;
|
44
|
-
|
45
|
+
pyTypedPathUri: Uri | undefined;
|
45
46
|
missingFunctionDocStringCount: number;
|
46
47
|
missingClassDocStringCount: number;
|
47
48
|
missingDefaultParamCount: number;
|
@@ -50,4 +51,4 @@ export interface PackageTypeReport {
|
|
50
51
|
generalDiagnostics: Diagnostic[];
|
51
52
|
symbols: Map<string, SymbolInfo>;
|
52
53
|
}
|
53
|
-
export declare function getEmptyReport(packageName: string,
|
54
|
+
export declare function getEmptyReport(packageName: string, packageRootUri: Uri, moduleName: string, moduleRootUri: Uri, isModuleSingleFile: boolean, ignoreExternal: boolean): PackageTypeReport;
|
@@ -32,15 +32,15 @@ var TypeKnownStatus;
|
|
32
32
|
TypeKnownStatus[TypeKnownStatus["PartiallyUnknown"] = 2] = "PartiallyUnknown";
|
33
33
|
TypeKnownStatus[TypeKnownStatus["Unknown"] = 3] = "Unknown";
|
34
34
|
})(TypeKnownStatus || (exports.TypeKnownStatus = TypeKnownStatus = {}));
|
35
|
-
function getEmptyReport(packageName,
|
35
|
+
function getEmptyReport(packageName, packageRootUri, moduleName, moduleRootUri, isModuleSingleFile, ignoreExternal) {
|
36
36
|
const report = {
|
37
37
|
packageName,
|
38
38
|
ignoreExternal,
|
39
|
-
|
39
|
+
packageRootDirectoryUri: packageRootUri,
|
40
40
|
moduleName,
|
41
|
-
|
41
|
+
moduleRootDirectoryUri: moduleRootUri,
|
42
42
|
isModuleSingleFile,
|
43
|
-
|
43
|
+
pyTypedPathUri: undefined,
|
44
44
|
missingFunctionDocStringCount: 0,
|
45
45
|
missingClassDocStringCount: 0,
|
46
46
|
missingDefaultParamCount: 0,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"packageTypeReport.js","sourceRoot":"","sources":["../../../src/analyzer/packageTypeReport.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;
|
1
|
+
{"version":3,"file":"packageTypeReport.js","sourceRoot":"","sources":["../../../src/analyzer/packageTypeReport.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAMH,IAAY,cAUX;AAVD,WAAY,cAAc;IACtB,qEAAa,CAAA;IACb,uDAAM,CAAA;IACN,qDAAK,CAAA;IACL,2DAAQ,CAAA;IACR,2DAAQ,CAAA;IACR,2DAAQ,CAAA;IACR,uDAAM,CAAA;IACN,yDAAO,CAAA;IACP,6DAAS,CAAA;AACb,CAAC,EAVW,cAAc,8BAAd,cAAc,QAUzB;AAED,yEAAyE;AACzE,4DAA4D;AAC5D,IAAkB,eAKjB;AALD,WAAkB,eAAe;IAC7B,uDAAS,CAAA;IACT,+DAAa,CAAA;IACb,6EAAoB,CAAA;IACpB,2DAAW,CAAA;AACf,CAAC,EALiB,eAAe,+BAAf,eAAe,QAKhC;AAoDD,SAAgB,cAAc,CAC1B,WAAmB,EACnB,cAAmB,EACnB,UAAkB,EAClB,aAAkB,EAClB,kBAA2B,EAC3B,cAAuB;IAEvB,MAAM,MAAM,GAAsB;QAC9B,WAAW;QACX,cAAc;QACd,uBAAuB,EAAE,cAAc;QACvC,UAAU;QACV,sBAAsB,EAAE,aAAa;QACrC,kBAAkB;QAClB,cAAc,EAAE,SAAS;QACzB,6BAA6B,EAAE,CAAC;QAChC,0BAA0B,EAAE,CAAC;QAC7B,wBAAwB,EAAE,CAAC;QAC3B,oBAAoB,EAAE,IAAI,GAAG,EAAoB;QACjD,OAAO,EAAE,IAAI,GAAG,EAAsB;QACtC,kBAAkB,EAAE,EAAE;QACtB,OAAO,EAAE,IAAI,GAAG,EAAsB;KACzC,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC;AAzBD,wCAyBC"}
|
@@ -17,6 +17,8 @@ const diagnostic_1 = require("../common/diagnostic");
|
|
17
17
|
const fullAccessHost_1 = require("../common/fullAccessHost");
|
18
18
|
const pathUtils_1 = require("../common/pathUtils");
|
19
19
|
const textRange_1 = require("../common/textRange");
|
20
|
+
const uri_1 = require("../common/uri/uri");
|
21
|
+
const uriUtils_1 = require("../common/uri/uriUtils");
|
20
22
|
const importResolver_1 = require("./importResolver");
|
21
23
|
const packageTypeReport_1 = require("./packageTypeReport");
|
22
24
|
const program_1 = require("./program");
|
@@ -30,8 +32,8 @@ class PackageTypeVerifier {
|
|
30
32
|
this._serviceProvider = _serviceProvider;
|
31
33
|
this._packageName = _packageName;
|
32
34
|
this._ignoreExternal = _ignoreExternal;
|
33
|
-
const host = new fullAccessHost_1.FullAccessHost(_serviceProvider
|
34
|
-
this._configOptions = new configOptions_1.ConfigOptions(
|
35
|
+
const host = new fullAccessHost_1.FullAccessHost(_serviceProvider);
|
36
|
+
this._configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
|
35
37
|
this._configOptions.defaultPythonPlatform = commandLineOptions.pythonPlatform;
|
36
38
|
this._configOptions.defaultPythonVersion = commandLineOptions.pythonVersion;
|
37
39
|
// Make sure we have default python version and platform set if the user didn't
|
@@ -42,8 +44,8 @@ class PackageTypeVerifier {
|
|
42
44
|
if (_ignoreExternal) {
|
43
45
|
this._configOptions.evaluateUnknownImportsAsAny = true;
|
44
46
|
}
|
45
|
-
this._execEnv = this._configOptions.findExecEnvironment('.');
|
46
|
-
this._importResolver = new importResolver_1.ImportResolver(this._serviceProvider, this._configOptions, new fullAccessHost_1.FullAccessHost(this._serviceProvider
|
47
|
+
this._execEnv = this._configOptions.findExecEnvironment(uri_1.Uri.file('.', _serviceProvider.fs().isCaseSensitive));
|
48
|
+
this._importResolver = new importResolver_1.ImportResolver(this._serviceProvider, this._configOptions, new fullAccessHost_1.FullAccessHost(this._serviceProvider));
|
47
49
|
this._program = new program_1.Program(this._importResolver, this._configOptions, this._serviceProvider);
|
48
50
|
}
|
49
51
|
verify() {
|
@@ -52,31 +54,31 @@ class PackageTypeVerifier {
|
|
52
54
|
const moduleNameParts = trimmedModuleName.split('.');
|
53
55
|
const packageDirectoryInfo = this._getDirectoryInfoForModule(moduleNameParts[0]);
|
54
56
|
const moduleDirectoryInfo = this._getDirectoryInfoForModule(trimmedModuleName);
|
55
|
-
const report = (0, packageTypeReport_1.getEmptyReport)(moduleNameParts[0], (_a = packageDirectoryInfo === null || packageDirectoryInfo === void 0 ? void 0 : packageDirectoryInfo.moduleDirectory) !== null && _a !== void 0 ? _a :
|
57
|
+
const report = (0, packageTypeReport_1.getEmptyReport)(moduleNameParts[0], (_a = packageDirectoryInfo === null || packageDirectoryInfo === void 0 ? void 0 : packageDirectoryInfo.moduleDirectory) !== null && _a !== void 0 ? _a : uri_1.Uri.empty(), trimmedModuleName, (_b = moduleDirectoryInfo === null || moduleDirectoryInfo === void 0 ? void 0 : moduleDirectoryInfo.moduleDirectory) !== null && _b !== void 0 ? _b : uri_1.Uri.empty(), (_c = moduleDirectoryInfo === null || moduleDirectoryInfo === void 0 ? void 0 : moduleDirectoryInfo.isModuleSingleFile) !== null && _c !== void 0 ? _c : false, this._ignoreExternal);
|
56
58
|
const commonDiagnostics = report.generalDiagnostics;
|
57
59
|
try {
|
58
60
|
if (!trimmedModuleName) {
|
59
61
|
commonDiagnostics.push(new diagnostic_1.Diagnostic(0 /* DiagnosticCategory.Error */, `Module name "${trimmedModuleName}" is invalid`, (0, textRange_1.getEmptyRange)()));
|
60
62
|
}
|
61
|
-
else if (!report.
|
63
|
+
else if (!report.moduleRootDirectoryUri) {
|
62
64
|
commonDiagnostics.push(new diagnostic_1.Diagnostic(0 /* DiagnosticCategory.Error */, `Module "${trimmedModuleName}" cannot be resolved`, (0, textRange_1.getEmptyRange)()));
|
63
65
|
}
|
64
66
|
else {
|
65
67
|
let pyTypedInfo;
|
66
|
-
if (report.
|
67
|
-
pyTypedInfo = this._getDeepestPyTypedInfo(report.
|
68
|
+
if (report.moduleRootDirectoryUri) {
|
69
|
+
pyTypedInfo = this._getDeepestPyTypedInfo(report.moduleRootDirectoryUri, moduleNameParts);
|
68
70
|
}
|
69
71
|
// If we couldn't find any "py.typed" info in the module path, search again
|
70
72
|
// starting at the package root.
|
71
|
-
if (!pyTypedInfo && report.
|
72
|
-
pyTypedInfo = this._getDeepestPyTypedInfo(report.
|
73
|
+
if (!pyTypedInfo && report.packageRootDirectoryUri) {
|
74
|
+
pyTypedInfo = this._getDeepestPyTypedInfo(report.packageRootDirectoryUri, moduleNameParts);
|
73
75
|
}
|
74
76
|
if (!pyTypedInfo) {
|
75
77
|
commonDiagnostics.push(new diagnostic_1.Diagnostic(0 /* DiagnosticCategory.Error */, 'No py.typed file found', (0, textRange_1.getEmptyRange)()));
|
76
78
|
}
|
77
79
|
else {
|
78
|
-
report.
|
79
|
-
const publicModules = this._getListOfPublicModules(report.
|
80
|
+
report.pyTypedPathUri = pyTypedInfo.pyTypedPath;
|
81
|
+
const publicModules = this._getListOfPublicModules(report.moduleRootDirectoryUri, report.isModuleSingleFile, trimmedModuleName);
|
80
82
|
// If the filter eliminated all modules, report an error.
|
81
83
|
if (publicModules.length === 0) {
|
82
84
|
commonDiagnostics.push(new diagnostic_1.Diagnostic(0 /* DiagnosticCategory.Error */, `Module "${trimmedModuleName}" cannot be resolved`, (0, textRange_1.getEmptyRange)()));
|
@@ -128,7 +130,7 @@ class PackageTypeVerifier {
|
|
128
130
|
let subNameParts = Array.from(packageNameParts);
|
129
131
|
// Find the deepest py.typed file that corresponds to the requested submodule.
|
130
132
|
while (subNameParts.length >= 1) {
|
131
|
-
const packageSubdir =
|
133
|
+
const packageSubdir = rootDirectory.combinePaths(...subNameParts.slice(1));
|
132
134
|
const pyTypedInfo = (0, pyTypedUtils_1.getPyTypedInfo)(this._serviceProvider.fs(), packageSubdir);
|
133
135
|
if (pyTypedInfo) {
|
134
136
|
return pyTypedInfo;
|
@@ -138,18 +140,18 @@ class PackageTypeVerifier {
|
|
138
140
|
return undefined;
|
139
141
|
}
|
140
142
|
_resolveImport(moduleName) {
|
141
|
-
return this._importResolver.resolveImport(
|
143
|
+
return this._importResolver.resolveImport(uri_1.Uri.empty(), this._execEnv, (0, importResolver_1.createImportedModuleDescriptor)(moduleName));
|
142
144
|
}
|
143
145
|
_getPublicSymbolsForModule(moduleName, publicSymbols, alternateSymbolNames) {
|
144
146
|
const importResult = this._resolveImport(moduleName);
|
145
147
|
if (importResult.isImportFound) {
|
146
|
-
const modulePath = importResult.
|
148
|
+
const modulePath = importResult.resolvedUris[importResult.resolvedUris.length - 1];
|
147
149
|
this._program.addTrackedFiles([modulePath], /* isThirdPartyImport */ true, /* isInPyTypedPackage */ true);
|
148
150
|
const sourceFile = this._program.getBoundSourceFile(modulePath);
|
149
151
|
if (sourceFile) {
|
150
152
|
const module = {
|
151
153
|
name: moduleName,
|
152
|
-
|
154
|
+
uri: modulePath,
|
153
155
|
isExported: true,
|
154
156
|
};
|
155
157
|
const parseTree = sourceFile.getParseResults().parseTree;
|
@@ -212,13 +214,13 @@ class PackageTypeVerifier {
|
|
212
214
|
report.generalDiagnostics.push(new diagnostic_1.Diagnostic(0 /* DiagnosticCategory.Error */, `No inlined types found for module "${moduleName}" because stub package was present`, (0, textRange_1.getEmptyRange)()));
|
213
215
|
}
|
214
216
|
else {
|
215
|
-
const modulePath = importResult.
|
217
|
+
const modulePath = importResult.resolvedUris[importResult.resolvedUris.length - 1];
|
216
218
|
const module = {
|
217
219
|
name: moduleName,
|
218
|
-
|
220
|
+
uri: modulePath,
|
219
221
|
isExported: true,
|
220
222
|
};
|
221
|
-
report.modules.set(modulePath, module);
|
223
|
+
report.modules.set(modulePath.key, module);
|
222
224
|
this._program.addTrackedFiles([modulePath], /* isThirdPartyImport */ true, /* isInPyTypedPackage */ true);
|
223
225
|
const sourceFile = this._program.getBoundSourceFile(modulePath);
|
224
226
|
if (sourceFile) {
|
@@ -233,9 +235,9 @@ class PackageTypeVerifier {
|
|
233
235
|
}
|
234
236
|
// Scans the directory structure for a list of public modules
|
235
237
|
// within the package.
|
236
|
-
_getListOfPublicModules(
|
238
|
+
_getListOfPublicModules(moduleRoot, isModuleSingleFile, moduleName) {
|
237
239
|
const publicModules = [];
|
238
|
-
this._addPublicModulesRecursive(
|
240
|
+
this._addPublicModulesRecursive(moduleRoot, isModuleSingleFile, moduleName, publicModules);
|
239
241
|
// Make sure modules are unique. There may be duplicates if a ".py" and ".pyi"
|
240
242
|
// exist for some modules.
|
241
243
|
const uniqueModules = [];
|
@@ -254,7 +256,7 @@ class PackageTypeVerifier {
|
|
254
256
|
let isFile = entry.isFile();
|
255
257
|
let isDirectory = entry.isDirectory();
|
256
258
|
if (entry.isSymbolicLink()) {
|
257
|
-
const stat = (0,
|
259
|
+
const stat = (0, uriUtils_1.tryStat)(this._serviceProvider.fs(), dirPath.combinePaths(entry.name));
|
258
260
|
if (stat) {
|
259
261
|
isFile = stat.isFile();
|
260
262
|
isDirectory = stat.isDirectory();
|
@@ -284,7 +286,7 @@ class PackageTypeVerifier {
|
|
284
286
|
}
|
285
287
|
else if (isDirectory) {
|
286
288
|
if (!(0, symbolNameUtils_1.isPrivateOrProtectedName)(entry.name) && this._isLegalModulePartName(entry.name)) {
|
287
|
-
this._addPublicModulesRecursive(
|
289
|
+
this._addPublicModulesRecursive(dirPath.combinePaths(entry.name), isModuleSingleFile, `${modulePath}.${entry.name}`, publicModules);
|
288
290
|
}
|
289
291
|
}
|
290
292
|
});
|
@@ -354,7 +356,7 @@ class PackageTypeVerifier {
|
|
354
356
|
const decls = symbol.getDeclarations();
|
355
357
|
const primaryDecl = decls.length > 0 ? decls[decls.length - 1] : undefined;
|
356
358
|
const declRange = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.range) || (0, textRange_1.getEmptyRange)();
|
357
|
-
const declPath = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.
|
359
|
+
const declPath = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.uri) || uri_1.Uri.empty();
|
358
360
|
const symbolCategory = this._getSymbolCategory(symbol, symbolType);
|
359
361
|
const isExported = publicSymbols.has(fullName);
|
360
362
|
// If the only reference to this symbol is a "__slots__" entry, we will
|
@@ -368,7 +370,7 @@ class PackageTypeVerifier {
|
|
368
370
|
category: symbolCategory,
|
369
371
|
name,
|
370
372
|
fullName,
|
371
|
-
|
373
|
+
fileUri: uri_1.Uri.file(module.path, this._serviceProvider.fs().isCaseSensitive),
|
372
374
|
isExported,
|
373
375
|
typeKnownStatus: 0 /* TypeKnownStatus.Known */,
|
374
376
|
referenceCount: 1,
|
@@ -384,7 +386,7 @@ class PackageTypeVerifier {
|
|
384
386
|
const decls = symbol.getDeclarations();
|
385
387
|
const primaryDecl = decls.length > 0 ? decls[decls.length - 1] : undefined;
|
386
388
|
const declRange = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.range) || (0, textRange_1.getEmptyRange)();
|
387
|
-
const declPath = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.
|
389
|
+
const declPath = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.uri) || uri_1.Uri.empty();
|
388
390
|
const extraInfo = new diagnostic_1.DiagnosticAddendum();
|
389
391
|
if (baseSymbolType) {
|
390
392
|
extraInfo.addMessage(`Type declared in base class is "${this._program.printType(baseSymbolType)}"`);
|
@@ -406,16 +408,16 @@ class PackageTypeVerifier {
|
|
406
408
|
// Determines whether the type for the symbol in question is fully known.
|
407
409
|
// If not, it adds diagnostics to the symbol information and updates the
|
408
410
|
// typeKnownStatus field.
|
409
|
-
_getSymbolTypeKnownStatus(report, symbolInfo, type, declRange,
|
411
|
+
_getSymbolTypeKnownStatus(report, symbolInfo, type, declRange, declFileUri, publicSymbols, skipDocStringCheck = false) {
|
410
412
|
let knownStatus = 0 /* TypeKnownStatus.Known */;
|
411
413
|
if (type.typeAliasInfo && type.typeAliasInfo.typeArguments) {
|
412
414
|
type.typeAliasInfo.typeArguments.forEach((typeArg, index) => {
|
413
415
|
if ((0, types_1.isUnknown)(typeArg)) {
|
414
|
-
this._addSymbolError(symbolInfo, `Type argument ${index + 1} for type alias "${type.typeAliasInfo.name}" has unknown type`, declRange,
|
416
|
+
this._addSymbolError(symbolInfo, `Type argument ${index + 1} for type alias "${type.typeAliasInfo.name}" has unknown type`, declRange, declFileUri);
|
415
417
|
knownStatus = 3 /* TypeKnownStatus.Unknown */;
|
416
418
|
}
|
417
419
|
else if ((0, typeUtils_1.isPartlyUnknown)(typeArg)) {
|
418
|
-
this._addSymbolError(symbolInfo, `Type argument ${index + 1} for type alias "${type.typeAliasInfo.name}" has partially unknown type`, declRange,
|
420
|
+
this._addSymbolError(symbolInfo, `Type argument ${index + 1} for type alias "${type.typeAliasInfo.name}" has partially unknown type`, declRange, declFileUri);
|
419
421
|
knownStatus = 2 /* TypeKnownStatus.PartiallyUnknown */;
|
420
422
|
}
|
421
423
|
});
|
@@ -424,7 +426,7 @@ class PackageTypeVerifier {
|
|
424
426
|
const ambiguousDiag = new diagnostic_1.DiagnosticAddendum();
|
425
427
|
ambiguousDiag.addMessage(`Inferred type is "${this._program.printType(type)}"`);
|
426
428
|
this._addSymbolError(symbolInfo, 'Type is missing type annotation and could be inferred differently by type checkers' +
|
427
|
-
ambiguousDiag.getString(), declRange,
|
429
|
+
ambiguousDiag.getString(), declRange, declFileUri);
|
428
430
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, 1 /* TypeKnownStatus.Ambiguous */);
|
429
431
|
}
|
430
432
|
switch (type.category) {
|
@@ -434,25 +436,25 @@ class PackageTypeVerifier {
|
|
434
436
|
case 9 /* TypeCategory.TypeVar */:
|
435
437
|
break;
|
436
438
|
case 1 /* TypeCategory.Unknown */: {
|
437
|
-
this._addSymbolError(symbolInfo, `Type unknown for ${PackageTypeVerifier.getSymbolCategoryString(symbolInfo.category)} "${symbolInfo.fullName}"`, declRange,
|
439
|
+
this._addSymbolError(symbolInfo, `Type unknown for ${PackageTypeVerifier.getSymbolCategoryString(symbolInfo.category)} "${symbolInfo.fullName}"`, declRange, declFileUri);
|
438
440
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, 3 /* TypeKnownStatus.Unknown */);
|
439
441
|
break;
|
440
442
|
}
|
441
443
|
case 8 /* TypeCategory.Union */: {
|
442
444
|
(0, typeUtils_1.doForEachSubtype)(type, (subtype) => {
|
443
|
-
knownStatus = this._updateKnownStatusIfWorse(knownStatus, this._getSymbolTypeKnownStatus(report, symbolInfo, subtype, declRange,
|
445
|
+
knownStatus = this._updateKnownStatusIfWorse(knownStatus, this._getSymbolTypeKnownStatus(report, symbolInfo, subtype, declRange, declFileUri, publicSymbols));
|
444
446
|
});
|
445
447
|
break;
|
446
448
|
}
|
447
449
|
case 5 /* TypeCategory.OverloadedFunction */: {
|
448
450
|
for (const overload of type.overloads) {
|
449
|
-
knownStatus = this._updateKnownStatusIfWorse(knownStatus, this._getSymbolTypeKnownStatus(report, symbolInfo, overload, declRange,
|
451
|
+
knownStatus = this._updateKnownStatusIfWorse(knownStatus, this._getSymbolTypeKnownStatus(report, symbolInfo, overload, declRange, declFileUri, publicSymbols));
|
450
452
|
}
|
451
453
|
break;
|
452
454
|
}
|
453
455
|
case 4 /* TypeCategory.Function */: {
|
454
456
|
if (!this._shouldIgnoreType(report, type.details.fullName)) {
|
455
|
-
knownStatus = this._updateKnownStatusIfWorse(knownStatus, this._getFunctionTypeKnownStatus(report, type, publicSymbols, symbolInfo, declRange,
|
457
|
+
knownStatus = this._updateKnownStatusIfWorse(knownStatus, this._getFunctionTypeKnownStatus(report, type, publicSymbols, symbolInfo, declRange, declFileUri, undefined /* diag */, skipDocStringCheck));
|
456
458
|
}
|
457
459
|
break;
|
458
460
|
}
|
@@ -480,7 +482,7 @@ class PackageTypeVerifier {
|
|
480
482
|
}
|
481
483
|
// Don't require docstrings for setters or deleters.
|
482
484
|
const skipDocStringCheck = methodName !== 'fget';
|
483
|
-
knownStatus = this._updateKnownStatusIfWorse(knownStatus, this._getSymbolTypeKnownStatus(report, symbolInfo, accessType, (0, textRange_1.getEmptyRange)(),
|
485
|
+
knownStatus = this._updateKnownStatusIfWorse(knownStatus, this._getSymbolTypeKnownStatus(report, symbolInfo, accessType, (0, textRange_1.getEmptyRange)(), uri_1.Uri.empty(), publicSymbols, skipDocStringCheck));
|
484
486
|
});
|
485
487
|
break;
|
486
488
|
}
|
@@ -495,13 +497,13 @@ class PackageTypeVerifier {
|
|
495
497
|
if (type.typeArguments) {
|
496
498
|
type.typeArguments.forEach((typeArg, index) => {
|
497
499
|
if ((0, types_1.isUnknown)(typeArg)) {
|
498
|
-
this._addSymbolError(symbolInfo, `Type argument ${index + 1} for class "${type.details.name}" has unknown type`, declRange,
|
500
|
+
this._addSymbolError(symbolInfo, `Type argument ${index + 1} for class "${type.details.name}" has unknown type`, declRange, declFileUri);
|
499
501
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, 3 /* TypeKnownStatus.Unknown */);
|
500
502
|
}
|
501
503
|
else if ((0, typeUtils_1.isPartlyUnknown)(typeArg)) {
|
502
504
|
const diag = new diagnostic_1.DiagnosticAddendum();
|
503
505
|
diag.addMessage(`Type is ${this._program.printType(typeArg)}`);
|
504
|
-
this._addSymbolError(symbolInfo, `Type argument ${index + 1} for class "${type.details.name}" has partially unknown type` + diag.getString(), declRange,
|
506
|
+
this._addSymbolError(symbolInfo, `Type argument ${index + 1} for class "${type.details.name}" has partially unknown type` + diag.getString(), declRange, declFileUri);
|
505
507
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, 2 /* TypeKnownStatus.PartiallyUnknown */);
|
506
508
|
}
|
507
509
|
});
|
@@ -512,7 +514,7 @@ class PackageTypeVerifier {
|
|
512
514
|
if (!this._shouldIgnoreType(report, type.moduleName)) {
|
513
515
|
const moduleSymbol = this._getSymbolForModule(report, type, publicSymbols);
|
514
516
|
if (moduleSymbol.typeKnownStatus !== 0 /* TypeKnownStatus.Known */) {
|
515
|
-
this._addSymbolError(symbolInfo, `Module "${moduleSymbol.fullName}" is partially unknown`, declRange,
|
517
|
+
this._addSymbolError(symbolInfo, `Module "${moduleSymbol.fullName}" is partially unknown`, declRange, declFileUri);
|
516
518
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, moduleSymbol.typeKnownStatus);
|
517
519
|
}
|
518
520
|
}
|
@@ -523,11 +525,11 @@ class PackageTypeVerifier {
|
|
523
525
|
symbolInfo.typeKnownStatus = this._updateKnownStatusIfWorse(symbolInfo.typeKnownStatus, knownStatus);
|
524
526
|
return knownStatus;
|
525
527
|
}
|
526
|
-
_getFunctionTypeKnownStatus(report, type, publicSymbols, symbolInfo, declRange,
|
528
|
+
_getFunctionTypeKnownStatus(report, type, publicSymbols, symbolInfo, declRange, declFileUri, diag, skipDocStringCheck = false) {
|
527
529
|
let knownStatus = 0 /* TypeKnownStatus.Known */;
|
528
530
|
// If the file path wasn't provided, try to get it from the type.
|
529
|
-
if (type.details.declaration && !
|
530
|
-
|
531
|
+
if (type.details.declaration && !declFileUri) {
|
532
|
+
declFileUri = type.details.declaration.uri;
|
531
533
|
}
|
532
534
|
type.details.parameters.forEach((param, index) => {
|
533
535
|
// Skip nameless parameters like "*" and "/".
|
@@ -542,7 +544,7 @@ class PackageTypeVerifier {
|
|
542
544
|
types_1.FunctionType.isConstructorMethod(type));
|
543
545
|
if (!isSynthesized) {
|
544
546
|
if (symbolInfo) {
|
545
|
-
this._addSymbolError(symbolInfo, `Type annotation for parameter "${param.name}" is missing`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(),
|
547
|
+
this._addSymbolError(symbolInfo, `Type annotation for parameter "${param.name}" is missing`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFileUri !== null && declFileUri !== void 0 ? declFileUri : uri_1.Uri.empty());
|
546
548
|
}
|
547
549
|
diag === null || diag === void 0 ? void 0 : diag.createAddendum().addMessage(`Type annotation for parameter "${param.name}" is missing`);
|
548
550
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, 3 /* TypeKnownStatus.Unknown */);
|
@@ -550,7 +552,7 @@ class PackageTypeVerifier {
|
|
550
552
|
}
|
551
553
|
else if ((0, types_1.isUnknown)(param.type)) {
|
552
554
|
if (symbolInfo) {
|
553
|
-
this._addSymbolError(symbolInfo, `Type of parameter "${param.name}" is unknown`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(),
|
555
|
+
this._addSymbolError(symbolInfo, `Type of parameter "${param.name}" is unknown`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFileUri !== null && declFileUri !== void 0 ? declFileUri : uri_1.Uri.empty());
|
554
556
|
diag === null || diag === void 0 ? void 0 : diag.createAddendum().addMessage(`Type of parameter "${param.name}" is unknown`);
|
555
557
|
}
|
556
558
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, 3 /* TypeKnownStatus.Unknown */);
|
@@ -561,7 +563,7 @@ class PackageTypeVerifier {
|
|
561
563
|
if (paramKnownStatus !== 0 /* TypeKnownStatus.Known */) {
|
562
564
|
extraInfo.addMessage(`Parameter type is "${this._program.printType(param.type)}"`);
|
563
565
|
if (symbolInfo) {
|
564
|
-
this._addSymbolError(symbolInfo, `Type of parameter "${param.name}" is partially unknown` + extraInfo.getString(), declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(),
|
566
|
+
this._addSymbolError(symbolInfo, `Type of parameter "${param.name}" is partially unknown` + extraInfo.getString(), declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFileUri !== null && declFileUri !== void 0 ? declFileUri : uri_1.Uri.empty());
|
565
567
|
}
|
566
568
|
if (diag) {
|
567
569
|
const subDiag = diag.createAddendum();
|
@@ -576,7 +578,7 @@ class PackageTypeVerifier {
|
|
576
578
|
if (type.details.declaredReturnType) {
|
577
579
|
if ((0, types_1.isUnknown)(type.details.declaredReturnType)) {
|
578
580
|
if (symbolInfo) {
|
579
|
-
this._addSymbolError(symbolInfo, `Return type is unknown`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(),
|
581
|
+
this._addSymbolError(symbolInfo, `Return type is unknown`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFileUri !== null && declFileUri !== void 0 ? declFileUri : uri_1.Uri.empty());
|
580
582
|
}
|
581
583
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, 3 /* TypeKnownStatus.Unknown */);
|
582
584
|
}
|
@@ -586,7 +588,7 @@ class PackageTypeVerifier {
|
|
586
588
|
if (returnTypeKnownStatus !== 0 /* TypeKnownStatus.Known */) {
|
587
589
|
extraInfo.addMessage(`Return type is "${this._program.printType(type.details.declaredReturnType)}"`);
|
588
590
|
if (symbolInfo) {
|
589
|
-
this._addSymbolError(symbolInfo, `Return type is partially unknown` + extraInfo.getString(), declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(),
|
591
|
+
this._addSymbolError(symbolInfo, `Return type is partially unknown` + extraInfo.getString(), declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFileUri !== null && declFileUri !== void 0 ? declFileUri : uri_1.Uri.empty());
|
590
592
|
}
|
591
593
|
if (diag) {
|
592
594
|
const subDiag = diag.createAddendum();
|
@@ -601,7 +603,7 @@ class PackageTypeVerifier {
|
|
601
603
|
// Init methods have an implied return type.
|
602
604
|
if (type.details.name !== '__init__') {
|
603
605
|
if (symbolInfo) {
|
604
|
-
this._addSymbolError(symbolInfo, `Return type annotation is missing`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(),
|
606
|
+
this._addSymbolError(symbolInfo, `Return type annotation is missing`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFileUri !== null && declFileUri !== void 0 ? declFileUri : uri_1.Uri.empty());
|
605
607
|
}
|
606
608
|
diag === null || diag === void 0 ? void 0 : diag.createAddendum().addMessage(`Return type annotation is missing`);
|
607
609
|
knownStatus = this._updateKnownStatusIfWorse(knownStatus, 3 /* TypeKnownStatus.Unknown */);
|
@@ -622,14 +624,14 @@ class PackageTypeVerifier {
|
|
622
624
|
}
|
623
625
|
if (!skipDocStringCheck) {
|
624
626
|
if (symbolInfo) {
|
625
|
-
this._addSymbolWarning(symbolInfo, `No docstring found for function "${symbolInfo.fullName}"`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(),
|
627
|
+
this._addSymbolWarning(symbolInfo, `No docstring found for function "${symbolInfo.fullName}"`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFileUri !== null && declFileUri !== void 0 ? declFileUri : uri_1.Uri.empty());
|
626
628
|
}
|
627
629
|
report.missingFunctionDocStringCount++;
|
628
630
|
}
|
629
631
|
}
|
630
632
|
if (type.details.parameters.find((param) => param.defaultType && (0, typeUtils_1.isEllipsisType)(param.defaultType))) {
|
631
633
|
if (symbolInfo) {
|
632
|
-
this._addSymbolWarning(symbolInfo, `One or more default values in function "${symbolInfo.fullName}" is specified as "..."`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(),
|
634
|
+
this._addSymbolWarning(symbolInfo, `One or more default values in function "${symbolInfo.fullName}" is specified as "..."`, declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFileUri !== null && declFileUri !== void 0 ? declFileUri : uri_1.Uri.empty());
|
633
635
|
}
|
634
636
|
report.missingDefaultParamCount++;
|
635
637
|
}
|
@@ -649,7 +651,7 @@ class PackageTypeVerifier {
|
|
649
651
|
category: packageTypeReport_1.SymbolCategory.Class,
|
650
652
|
name: type.details.name,
|
651
653
|
fullName: type.details.fullName,
|
652
|
-
|
654
|
+
fileUri: type.details.fileUri,
|
653
655
|
isExported: publicSymbols.has(type.details.fullName),
|
654
656
|
typeKnownStatus: 0 /* TypeKnownStatus.Known */,
|
655
657
|
referenceCount: 1,
|
@@ -659,7 +661,7 @@ class PackageTypeVerifier {
|
|
659
661
|
this._addSymbol(report, symbolInfo);
|
660
662
|
// Determine whether the class has a proper doc string.
|
661
663
|
if (symbolInfo.isExported && !type.details.docString) {
|
662
|
-
this._addSymbolWarning(symbolInfo, `No docstring found for class "${type.details.fullName}"`, (0, textRange_1.getEmptyRange)(),
|
664
|
+
this._addSymbolWarning(symbolInfo, `No docstring found for class "${type.details.fullName}"`, (0, textRange_1.getEmptyRange)(), uri_1.Uri.empty());
|
663
665
|
report.missingClassDocStringCount++;
|
664
666
|
}
|
665
667
|
const symbolTableTypeKnownStatus = this._getTypeKnownStatusForSymbolTable(report, type.details.fullName, type.details.fields, 2 /* ScopeType.Class */, publicSymbols, (name, symbol) => {
|
@@ -682,7 +684,7 @@ class PackageTypeVerifier {
|
|
682
684
|
// Add information for the metaclass.
|
683
685
|
if (type.details.effectiveMetaclass) {
|
684
686
|
if (!(0, types_1.isInstantiableClass)(type.details.effectiveMetaclass)) {
|
685
|
-
this._addSymbolError(symbolInfo, `Type of metaclass unknown`, (0, textRange_1.getEmptyRange)(),
|
687
|
+
this._addSymbolError(symbolInfo, `Type of metaclass unknown`, (0, textRange_1.getEmptyRange)(), uri_1.Uri.empty());
|
686
688
|
symbolInfo.typeKnownStatus = this._updateKnownStatusIfWorse(symbolInfo.typeKnownStatus, 2 /* TypeKnownStatus.PartiallyUnknown */);
|
687
689
|
}
|
688
690
|
else {
|
@@ -690,7 +692,7 @@ class PackageTypeVerifier {
|
|
690
692
|
const metaclassKnownStatus = this._getTypeKnownStatus(report, type.details.effectiveMetaclass, publicSymbols, diag);
|
691
693
|
if (metaclassKnownStatus !== 0 /* TypeKnownStatus.Known */) {
|
692
694
|
this._addSymbolError(symbolInfo, `Type of metaclass "${type.details.effectiveMetaclass}" is partially unknown` +
|
693
|
-
diag.getString(), (0, textRange_1.getEmptyRange)(),
|
695
|
+
diag.getString(), (0, textRange_1.getEmptyRange)(), uri_1.Uri.empty());
|
694
696
|
symbolInfo.typeKnownStatus = this._updateKnownStatusIfWorse(symbolInfo.typeKnownStatus, metaclassKnownStatus);
|
695
697
|
}
|
696
698
|
}
|
@@ -698,7 +700,7 @@ class PackageTypeVerifier {
|
|
698
700
|
// Add information for base classes.
|
699
701
|
type.details.baseClasses.forEach((baseClass) => {
|
700
702
|
if (!(0, types_1.isInstantiableClass)(baseClass)) {
|
701
|
-
this._addSymbolError(symbolInfo, `Type of base class unknown`, (0, textRange_1.getEmptyRange)(),
|
703
|
+
this._addSymbolError(symbolInfo, `Type of base class unknown`, (0, textRange_1.getEmptyRange)(), uri_1.Uri.empty());
|
702
704
|
symbolInfo.typeKnownStatus = this._updateKnownStatusIfWorse(symbolInfo.typeKnownStatus, 2 /* TypeKnownStatus.PartiallyUnknown */);
|
703
705
|
}
|
704
706
|
else {
|
@@ -710,7 +712,7 @@ class PackageTypeVerifier {
|
|
710
712
|
const diag = new diagnostic_1.DiagnosticAddendum();
|
711
713
|
const baseClassTypeStatus = this._getTypeKnownStatus(report, baseClass, publicSymbols, diag);
|
712
714
|
if (baseClassTypeStatus !== 0 /* TypeKnownStatus.Known */) {
|
713
|
-
this._addSymbolError(symbolInfo, `Type of base class "${baseClass.details.fullName}" is partially unknown` + diag.getString(), (0, textRange_1.getEmptyRange)(),
|
715
|
+
this._addSymbolError(symbolInfo, `Type of base class "${baseClass.details.fullName}" is partially unknown` + diag.getString(), (0, textRange_1.getEmptyRange)(), uri_1.Uri.empty());
|
714
716
|
symbolInfo.typeKnownStatus = this._updateKnownStatusIfWorse(symbolInfo.typeKnownStatus, baseClassTypeStatus);
|
715
717
|
}
|
716
718
|
}
|
@@ -728,7 +730,7 @@ class PackageTypeVerifier {
|
|
728
730
|
category: packageTypeReport_1.SymbolCategory.Module,
|
729
731
|
name: type.moduleName,
|
730
732
|
fullName: type.moduleName,
|
731
|
-
|
733
|
+
fileUri: type.fileUri,
|
732
734
|
isExported: publicSymbols.has(type.moduleName),
|
733
735
|
typeKnownStatus: 0 /* TypeKnownStatus.Known */,
|
734
736
|
referenceCount: 1,
|
@@ -872,14 +874,16 @@ class PackageTypeVerifier {
|
|
872
874
|
}
|
873
875
|
_getDirectoryInfoForModule(moduleName) {
|
874
876
|
var _a;
|
875
|
-
const importResult = this._importResolver.resolveImport(
|
877
|
+
const importResult = this._importResolver.resolveImport(uri_1.Uri.empty(), this._execEnv, (0, importResolver_1.createImportedModuleDescriptor)(moduleName));
|
876
878
|
if (importResult.isImportFound) {
|
877
|
-
const resolvedPath = importResult.
|
879
|
+
const resolvedPath = importResult.resolvedUris[importResult.resolvedUris.length - 1];
|
878
880
|
// If it's a namespace package with no __init__.py(i), use the package
|
879
881
|
// directory instead.
|
880
|
-
const moduleDirectory = resolvedPath
|
882
|
+
const moduleDirectory = resolvedPath
|
883
|
+
? resolvedPath.getDirectory()
|
884
|
+
: (_a = importResult.packageDirectory) !== null && _a !== void 0 ? _a : uri_1.Uri.empty();
|
881
885
|
let isModuleSingleFile = false;
|
882
|
-
if (resolvedPath && (0, pathUtils_1.stripFileExtension)(
|
886
|
+
if (resolvedPath && (0, pathUtils_1.stripFileExtension)(resolvedPath.fileName) !== '__init__') {
|
883
887
|
isModuleSingleFile = true;
|
884
888
|
}
|
885
889
|
return {
|
@@ -922,16 +926,16 @@ class PackageTypeVerifier {
|
|
922
926
|
(0, debug_1.assert)(!report.symbols.has(symbolInfo.fullName));
|
923
927
|
report.symbols.set(symbolInfo.fullName, symbolInfo);
|
924
928
|
}
|
925
|
-
_addSymbolError(symbolInfo, message, declRange,
|
929
|
+
_addSymbolError(symbolInfo, message, declRange, declUri) {
|
926
930
|
symbolInfo.diagnostics.push({
|
927
931
|
diagnostic: new diagnostic_1.Diagnostic(0 /* DiagnosticCategory.Error */, message, declRange),
|
928
|
-
|
932
|
+
uri: declUri,
|
929
933
|
});
|
930
934
|
}
|
931
|
-
_addSymbolWarning(symbolInfo, message, declRange,
|
935
|
+
_addSymbolWarning(symbolInfo, message, declRange, declUri) {
|
932
936
|
symbolInfo.diagnostics.push({
|
933
937
|
diagnostic: new diagnostic_1.Diagnostic(1 /* DiagnosticCategory.Warning */, message, declRange),
|
934
|
-
|
938
|
+
uri: declUri,
|
935
939
|
});
|
936
940
|
}
|
937
941
|
_updateKnownStatusIfWorse(currentStatus, newStatus) {
|