@zzzen/pyright-internal 1.2.0-dev.20260927 → 1.2.0-dev.20261004

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.
Files changed (76) hide show
  1. package/dist/analyzer/analyzerNodeInfo.js +7 -2
  2. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +17 -6
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/checker.d.ts +0 -1
  6. package/dist/analyzer/checker.js +6 -8
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/codeFlowEngine.d.ts +2 -0
  9. package/dist/analyzer/codeFlowEngine.js +153 -17
  10. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  11. package/dist/analyzer/codeFlowTypes.d.ts +2 -1
  12. package/dist/analyzer/codeFlowTypes.js +1 -0
  13. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  14. package/dist/analyzer/codeFlowUtils.js +4 -1
  15. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  16. package/dist/analyzer/patternMatching.js +39 -2
  17. package/dist/analyzer/patternMatching.js.map +1 -1
  18. package/dist/analyzer/program.js +4 -1
  19. package/dist/analyzer/program.js.map +1 -1
  20. package/dist/analyzer/protocols.js +11 -3
  21. package/dist/analyzer/protocols.js.map +1 -1
  22. package/dist/analyzer/symbolNameUtils.d.ts +1 -0
  23. package/dist/analyzer/symbolNameUtils.js +5 -0
  24. package/dist/analyzer/symbolNameUtils.js.map +1 -1
  25. package/dist/analyzer/typeEvaluator.js +126 -8
  26. package/dist/analyzer/typeEvaluator.js.map +1 -1
  27. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -1
  28. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  29. package/dist/analyzer/typeUtils.js +9 -1
  30. package/dist/analyzer/typeUtils.js.map +1 -1
  31. package/dist/analyzer/typedDicts.js +8 -4
  32. package/dist/analyzer/typedDicts.js.map +1 -1
  33. package/dist/common/extensibility.d.ts +1 -0
  34. package/dist/common/processUtils.d.ts +9 -1
  35. package/dist/common/processUtils.js +52 -10
  36. package/dist/common/processUtils.js.map +1 -1
  37. package/dist/common/windowsProcessTree.d.ts +4 -0
  38. package/dist/common/windowsProcessTree.js +47 -0
  39. package/dist/common/windowsProcessTree.js.map +1 -0
  40. package/dist/common/windowsProcessTree.json +310 -0
  41. package/dist/languageService/callHierarchyProvider.js +12 -4
  42. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  43. package/dist/localization/package.nls.pl.json +2 -2
  44. package/dist/localization/package.nls.pt-br.json +1 -1
  45. package/dist/localization/package.nls.zh-cn.json +2 -2
  46. package/dist/localization/package.nls.zh-tw.json +1 -1
  47. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.d.ts +1 -0
  48. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.js +44 -0
  49. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.js.map +1 -0
  50. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.d.ts +1 -0
  51. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.js +42 -0
  52. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.js.map +1 -0
  53. package/dist/tests/mypyPrimerMcp.test.js +2 -1
  54. package/dist/tests/mypyPrimerMcp.test.js.map +1 -1
  55. package/dist/tests/service.test.js +36 -0
  56. package/dist/tests/service.test.js.map +1 -1
  57. package/dist/tests/typeEvaluator1.test.js +27 -1
  58. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  59. package/dist/tests/typeEvaluator6.test.js +12 -0
  60. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  61. package/dist/tests/typeEvaluator8.test.js +28 -0
  62. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  63. package/dist/tests/typeServer/inProcTypeServerTestUtils.d.ts +7 -2
  64. package/dist/tests/typeServer/inProcTypeServerTestUtils.js +14 -7
  65. package/dist/tests/typeServer/inProcTypeServerTestUtils.js.map +1 -1
  66. package/dist/tests/typeServer/stubGenerator.test.js +29 -0
  67. package/dist/tests/typeServer/stubGenerator.test.js.map +1 -1
  68. package/dist/tests/typeServer/typeServer.inProc.test.js +87 -1
  69. package/dist/tests/typeServer/typeServer.inProc.test.js.map +1 -1
  70. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js +15 -0
  71. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js.map +1 -1
  72. package/dist/typeServer/stubGenerator.js +5 -6
  73. package/dist/typeServer/stubGenerator.js.map +1 -1
  74. package/dist/workspaceFactory.js +5 -0
  75. package/dist/workspaceFactory.js.map +1 -1
  76. package/package.json +3 -3
@@ -3,7 +3,7 @@ import { ConsoleInterface } from '../common/console';
3
3
  import { Diagnostic, DiagnosticAddendum } from '../common/diagnostic';
4
4
  import { DiagnosticRule } from '../common/diagnosticRules';
5
5
  import { TextRange } from '../common/textRange';
6
- import { ArgCategory, ArgumentNode, AssignmentNode, CallNode, CaseNode, ClassNode, DecoratorNode, ExpressionNode, FunctionNode, MatchNode, NameNode, ParamCategory, ParameterNode, ParseNode, StringNode } from '../parser/parseNodes';
6
+ import { ArgCategory, ArgumentNode, AssignmentNode, CallNode, CaseNode, ClassNode, DecoratorNode, ExpressionNode, FunctionNode, IndexNode, MatchNode, NameNode, ParamCategory, ParameterNode, ParseNode, StringNode } from '../parser/parseNodes';
7
7
  import { AnalyzerFileInfo } from './analyzerFileInfo';
8
8
  import { AnalyzerNodeInfoReader } from './analyzerNodeInfo';
9
9
  import { CodeFlowReferenceExpressionNode, FlowNode } from './codeFlowTypes';
@@ -367,6 +367,7 @@ export interface TypeEvaluator {
367
367
  validateInitSubclassArgs: (node: ClassNode, classType: ClassType) => void;
368
368
  isNodeReachable: (node: ParseNode, sourceNode?: ParseNode | undefined) => boolean;
369
369
  isAfterNodeReachable: (node: ParseNode) => boolean;
370
+ isKeyPresentInTypedDict: (node: IndexNode) => boolean;
370
371
  getNodeReachability: (node: ParseNode, sourceNode?: ParseNode | undefined) => Reachability;
371
372
  getAfterNodeReachability: (node: ParseNode) => Reachability;
372
373
  isAsymmetricAccessorAssignment: (node: ParseNode) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":"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"}
@@ -1354,7 +1354,15 @@ function lookUpClassMember(classType, memberName, flags = 0 /* MemberAccessFlags
1354
1354
  // define any instance variables, and it's by far the most common metaclass.
1355
1355
  if (metaclass && (0, types_1.isClass)(metaclass) && !types_1.ClassType.isBuiltIn(metaclass, 'type')) {
1356
1356
  const metaMemberItr = getClassMemberIterator(metaclass, memberName, 32 /* MemberAccessFlags.SkipClassMembers */);
1357
- const metaMember = metaMemberItr.next()?.value;
1357
+ let metaMember = metaMemberItr.next()?.value;
1358
+ // type.__dict__ describes class namespaces, not instance dictionaries.
1359
+ if (memberName === '__dict__' &&
1360
+ (0, types_1.isClassInstance)(classType) &&
1361
+ metaMember &&
1362
+ (0, types_1.isClass)(metaMember.classType) &&
1363
+ types_1.ClassType.isBuiltIn(metaMember.classType, 'type')) {
1364
+ metaMember = undefined;
1365
+ }
1358
1366
  // If the metaclass defines the member and we didn't hit an Unknown
1359
1367
  // class in the metaclass MRO, use the metaclass member.
1360
1368
  if (metaMember && !(0, types_1.isAnyOrUnknown)(metaMember.classType)) {