@zzzen/pyright-internal 1.2.0-dev.20240421 → 1.2.0-dev.20240505

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 (157) hide show
  1. package/dist/analyzer/analyzerNodeInfo.d.ts +1 -4
  2. package/dist/analyzer/analyzerNodeInfo.js +1 -11
  3. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  4. package/dist/analyzer/binder.d.ts +0 -2
  5. package/dist/analyzer/binder.js +42 -66
  6. package/dist/analyzer/binder.js.map +1 -1
  7. package/dist/analyzer/checker.js +98 -45
  8. package/dist/analyzer/checker.js.map +1 -1
  9. package/dist/analyzer/constructors.js +31 -13
  10. package/dist/analyzer/constructors.js.map +1 -1
  11. package/dist/analyzer/dataClasses.d.ts +1 -1
  12. package/dist/analyzer/dataClasses.js +23 -11
  13. package/dist/analyzer/dataClasses.js.map +1 -1
  14. package/dist/analyzer/deprecatedSymbols.js +2 -4
  15. package/dist/analyzer/deprecatedSymbols.js.map +1 -1
  16. package/dist/analyzer/namedTuples.js +0 -8
  17. package/dist/analyzer/namedTuples.js.map +1 -1
  18. package/dist/analyzer/operations.js +3 -2
  19. package/dist/analyzer/operations.js.map +1 -1
  20. package/dist/analyzer/packageTypeVerifier.js +10 -10
  21. package/dist/analyzer/parseTreeUtils.d.ts +6 -3
  22. package/dist/analyzer/parseTreeUtils.js +75 -46
  23. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  24. package/dist/analyzer/patternMatching.js +19 -13
  25. package/dist/analyzer/patternMatching.js.map +1 -1
  26. package/dist/analyzer/protocols.js +32 -13
  27. package/dist/analyzer/protocols.js.map +1 -1
  28. package/dist/analyzer/scope.d.ts +14 -7
  29. package/dist/analyzer/scope.js +28 -17
  30. package/dist/analyzer/scope.js.map +1 -1
  31. package/dist/analyzer/scopeUtils.js +3 -3
  32. package/dist/analyzer/scopeUtils.js.map +1 -1
  33. package/dist/analyzer/typeEvaluator.js +252 -207
  34. package/dist/analyzer/typeEvaluator.js.map +1 -1
  35. package/dist/analyzer/typeEvaluatorTypes.d.ts +5 -1
  36. package/dist/analyzer/typeGuards.js +35 -110
  37. package/dist/analyzer/typeGuards.js.map +1 -1
  38. package/dist/analyzer/typeUtils.js +6 -8
  39. package/dist/analyzer/typeUtils.js.map +1 -1
  40. package/dist/analyzer/typedDicts.js +4 -6
  41. package/dist/analyzer/typedDicts.js.map +1 -1
  42. package/dist/analyzer/types.js +13 -0
  43. package/dist/analyzer/types.js.map +1 -1
  44. package/dist/common/console.d.ts +12 -1
  45. package/dist/common/console.js +22 -3
  46. package/dist/common/console.js.map +1 -1
  47. package/dist/common/diagnostic.d.ts +4 -0
  48. package/dist/common/diagnostic.js +10 -4
  49. package/dist/common/diagnostic.js.map +1 -1
  50. package/dist/common/envVarUtils.d.ts +2 -2
  51. package/dist/common/envVarUtils.js +1 -2
  52. package/dist/common/envVarUtils.js.map +1 -1
  53. package/dist/common/languageServerInterface.d.ts +6 -3
  54. package/dist/common/languageServerInterface.js +11 -0
  55. package/dist/common/languageServerInterface.js.map +1 -1
  56. package/dist/common/uri/uri.d.ts +2 -0
  57. package/dist/common/uri/uri.js +3 -1
  58. package/dist/common/uri/uri.js.map +1 -1
  59. package/dist/languageServerBase.d.ts +3 -2
  60. package/dist/languageServerBase.js +13 -35
  61. package/dist/languageServerBase.js.map +1 -1
  62. package/dist/languageService/callHierarchyProvider.js +5 -2
  63. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  64. package/dist/languageService/completionProvider.js +12 -8
  65. package/dist/languageService/completionProvider.js.map +1 -1
  66. package/dist/languageService/documentSymbolCollector.js +1 -1
  67. package/dist/languageService/dynamicFeature.d.ts +18 -0
  68. package/dist/languageService/dynamicFeature.js +54 -0
  69. package/dist/languageService/dynamicFeature.js.map +1 -0
  70. package/dist/languageService/fileWatcherDynamicFeature.d.ts +12 -0
  71. package/dist/languageService/fileWatcherDynamicFeature.js +49 -0
  72. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -0
  73. package/dist/languageService/referencesProvider.js +3 -2
  74. package/dist/languageService/referencesProvider.js.map +1 -1
  75. package/dist/localization/package.nls.cs.json +28 -26
  76. package/dist/localization/package.nls.de.json +28 -26
  77. package/dist/localization/package.nls.en-us.json +1 -1
  78. package/dist/localization/package.nls.es.json +27 -25
  79. package/dist/localization/package.nls.fr.json +28 -26
  80. package/dist/localization/package.nls.it.json +28 -26
  81. package/dist/localization/package.nls.ja.json +28 -26
  82. package/dist/localization/package.nls.ko.json +28 -26
  83. package/dist/localization/package.nls.pl.json +27 -25
  84. package/dist/localization/package.nls.pt-br.json +28 -26
  85. package/dist/localization/package.nls.qps-ploc.json +25 -23
  86. package/dist/localization/package.nls.ru.json +28 -26
  87. package/dist/localization/package.nls.tr.json +28 -26
  88. package/dist/localization/package.nls.zh-cn.json +28 -26
  89. package/dist/localization/package.nls.zh-tw.json +28 -26
  90. package/dist/parser/parseNodes.d.ts +2 -2
  91. package/dist/parser/tokenizer.js +7 -1
  92. package/dist/parser/tokenizer.js.map +1 -1
  93. package/dist/tests/checker.test.js +8 -0
  94. package/dist/tests/checker.test.js.map +1 -1
  95. package/dist/tests/envVarUtils.test.js +20 -0
  96. package/dist/tests/envVarUtils.test.js.map +1 -1
  97. package/dist/tests/fourslash/{completions.importDunderNames.fourslash.js → completions.import.dunderNames.fourslash.js} +1 -1
  98. package/dist/tests/fourslash/completions.import.dunderNames.fourslash.js.map +1 -0
  99. package/dist/tests/fourslash/{completions.importsDuplicates.fourslash.js → completions.import.duplicates.fourslash.js} +1 -1
  100. package/dist/tests/fourslash/{completions.importsDuplicates.fourslash.js.map → completions.import.duplicates.fourslash.js.map} +1 -1
  101. package/dist/tests/fourslash/completions.import.exactMatch.fourslash.js +29 -0
  102. package/dist/tests/fourslash/completions.import.exactMatch.fourslash.js.map +1 -0
  103. package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.js +14 -0
  104. package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.js.map +1 -0
  105. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.d.ts +1 -0
  106. package/dist/tests/fourslash/{completions.importInterimFile.fourslash.disabled.js → completions.import.interimFile.fourslash.disabled.js} +1 -1
  107. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.js.map +1 -0
  108. package/dist/tests/fourslash/{completions.importPrivateNoPytyped.fourslash.js → completions.import.privateNoPytyped.fourslash.js} +1 -1
  109. package/dist/tests/fourslash/completions.import.privateNoPytyped.fourslash.js.map +1 -0
  110. package/dist/tests/fourslash/{completions.importPytyped.fourslash.js → completions.import.pytyped.fourslash.js} +1 -1
  111. package/dist/tests/fourslash/completions.import.pytyped.fourslash.js.map +1 -0
  112. package/dist/tests/fourslash/{completions.importPytypedLocal.fourslash.js → completions.import.pytypedLocal.fourslash.js} +1 -1
  113. package/dist/tests/fourslash/completions.import.pytypedLocal.fourslash.js.map +1 -0
  114. package/dist/tests/fourslash/completions.import.submodule.fourslash.d.ts +1 -0
  115. package/dist/tests/fourslash/{completions.importSubmodule.fourslash.js → completions.import.submodule.fourslash.js} +1 -1
  116. package/dist/tests/fourslash/completions.import.submodule.fourslash.js.map +1 -0
  117. package/dist/tests/harness/fourslash/testState.js +1 -1
  118. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  119. package/dist/tests/harness/vfs/pathValidation.js +2 -1
  120. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  121. package/dist/tests/parser.test.js +7 -2
  122. package/dist/tests/parser.test.js.map +1 -1
  123. package/dist/tests/typeEvaluator1.test.js +60 -480
  124. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  125. package/dist/tests/typeEvaluator2.test.js +0 -482
  126. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  127. package/dist/tests/typeEvaluator3.test.js +0 -604
  128. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  129. package/dist/tests/typeEvaluator4.test.js +5 -423
  130. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  131. package/dist/tests/typeEvaluator5.test.js +2 -2
  132. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  133. package/dist/tests/typeEvaluator6.test.d.ts +1 -0
  134. package/dist/tests/typeEvaluator6.test.js +712 -0
  135. package/dist/tests/typeEvaluator6.test.js.map +1 -0
  136. package/dist/tests/typeEvaluator7.test.d.ts +1 -0
  137. package/dist/tests/typeEvaluator7.test.js +677 -0
  138. package/dist/tests/typeEvaluator7.test.js.map +1 -0
  139. package/dist/tests/typeEvaluator8.test.d.ts +1 -0
  140. package/dist/tests/typeEvaluator8.test.js +660 -0
  141. package/dist/tests/typeEvaluator8.test.js.map +1 -0
  142. package/dist/workspaceFactory.d.ts +3 -1
  143. package/dist/workspaceFactory.js.map +1 -1
  144. package/package.json +1 -1
  145. package/dist/tests/fourslash/completions.importDunderNames.fourslash.js.map +0 -1
  146. package/dist/tests/fourslash/completions.importInterimFile.fourslash.disabled.js.map +0 -1
  147. package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.js.map +0 -1
  148. package/dist/tests/fourslash/completions.importPytyped.fourslash.js.map +0 -1
  149. package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.js.map +0 -1
  150. package/dist/tests/fourslash/completions.importSubmodule.fourslash.js.map +0 -1
  151. /package/dist/tests/fourslash/{completions.importDunderNames.fourslash.d.ts → completions.import.dunderNames.fourslash.d.ts} +0 -0
  152. /package/dist/tests/fourslash/{completions.importPrivateNoPytyped.fourslash.d.ts → completions.import.duplicates.fourslash.d.ts} +0 -0
  153. /package/dist/tests/fourslash/{completions.importInterimFile.fourslash.disabled.d.ts → completions.import.exactMatch.fourslash.d.ts} +0 -0
  154. /package/dist/tests/fourslash/{completions.importSubmodule.fourslash.d.ts → completions.import.excludeAlreadyImported.fourslash.d.ts} +0 -0
  155. /package/dist/tests/fourslash/{completions.importPytyped.fourslash.d.ts → completions.import.privateNoPytyped.fourslash.d.ts} +0 -0
  156. /package/dist/tests/fourslash/{completions.importPytypedLocal.fourslash.d.ts → completions.import.pytyped.fourslash.d.ts} +0 -0
  157. /package/dist/tests/fourslash/{completions.importsDuplicates.fourslash.d.ts → completions.import.pytypedLocal.fourslash.d.ts} +0 -0
@@ -11,6 +11,7 @@
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.isProtocolUnsafeOverlap = exports.isMethodOnlyProtocol = exports.assignModuleToProtocol = exports.assignClassToProtocol = void 0;
13
13
  const debug_1 = require("../common/debug");
14
+ const diagnostic_1 = require("../common/diagnostic");
14
15
  const localize_1 = require("../localization/localize");
15
16
  const constraintSolver_1 = require("./constraintSolver");
16
17
  const properties_1 = require("./properties");
@@ -20,7 +21,7 @@ const typeUtils_1 = require("./typeUtils");
20
21
  const typeVarContext_1 = require("./typeVarContext");
21
22
  const protocolAssignmentStack = [];
22
23
  // Maximum number of different types that are cached with a protocol.
23
- const maxProtocolCompatibilityCacheEntries = 32;
24
+ const maxProtocolCompatibilityCacheEntries = 64;
24
25
  function assignClassToProtocol(evaluator, destType, srcType, diag, destTypeVarContext, srcTypeVarContext, flags, recursionCount) {
25
26
  // We assume that destType is an instantiable class that is a protocol. The
26
27
  // srcType can be an instantiable class or a class instance.
@@ -46,9 +47,13 @@ function assignClassToProtocol(evaluator, destType, srcType, diag, destTypeVarCo
46
47
  }
47
48
  }
48
49
  // If it's known not to be compatible and the caller hasn't requested
49
- // any detailed diagnostic information, we can return false immediately.
50
- if (!compatibility && !diag) {
51
- return false;
50
+ // any detailed diagnostic information or we've already exceeded the
51
+ // depth of diagnostic information that will be displayed, we can
52
+ // return false immediately.
53
+ if (!compatibility) {
54
+ if (!diag || diag.getNestLevel() > diagnostic_1.defaultMaxDiagnosticDepth) {
55
+ return false;
56
+ }
52
57
  }
53
58
  }
54
59
  }
@@ -285,16 +290,30 @@ function assignClassToProtocolInternal(evaluator, destType, srcType, diag, destT
285
290
  // If the source is a method, bind it.
286
291
  if ((0, types_1.isFunction)(srcMemberType) || (0, types_1.isOverloadedFunction)(srcMemberType)) {
287
292
  if (isMemberFromMetaclass || (0, types_1.isInstantiableClass)(srcMemberInfo.classType)) {
288
- const boundSrcFunction = evaluator.bindFunctionToClassOrObject(sourceIsClassObject && !isMemberFromMetaclass
289
- ? srcType
290
- : types_1.ClassType.cloneAsInstance(srcType), srcMemberType, isMemberFromMetaclass ? undefined : srcMemberInfo.classType,
291
- /* treatConstructorAsClassMethod */ undefined, isMemberFromMetaclass ? srcType : selfType, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), recursionCount);
292
- if (boundSrcFunction) {
293
- srcMemberType = (0, typeUtils_1.removeParamSpecVariadicsFromSignature)(boundSrcFunction);
293
+ let isInstanceMember = !srcMemberInfo.symbol.isClassMember();
294
+ // Special-case dataclasses whose entries act like instance members.
295
+ if (types_1.ClassType.isDataClass(srcType)) {
296
+ const dataClassFields = types_1.ClassType.getDataClassEntries(srcType);
297
+ if (dataClassFields.some((entry) => entry.name === name)) {
298
+ isInstanceMember = true;
299
+ }
294
300
  }
295
- else {
296
- typesAreConsistent = false;
297
- return;
301
+ if (isMemberFromMetaclass) {
302
+ isInstanceMember = false;
303
+ }
304
+ // If this is a callable stored in an instance member, skip binding.
305
+ if (!isInstanceMember) {
306
+ const boundSrcFunction = evaluator.bindFunctionToClassOrObject(sourceIsClassObject && !isMemberFromMetaclass
307
+ ? srcType
308
+ : types_1.ClassType.cloneAsInstance(srcType), srcMemberType, isMemberFromMetaclass ? undefined : srcMemberInfo.classType,
309
+ /* treatConstructorAsClassMethod */ undefined, isMemberFromMetaclass ? srcType : selfType, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), recursionCount);
310
+ if (boundSrcFunction) {
311
+ srcMemberType = (0, typeUtils_1.removeParamSpecVariadicsFromSignature)(boundSrcFunction);
312
+ }
313
+ else {
314
+ typesAreConsistent = false;
315
+ return;
316
+ }
298
317
  }
299
318
  }
300
319
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../../../src/analyzer/protocols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../../../src/analyzer/protocols.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { Symbol, SymbolFlags, SymbolTable } from './symbol';
2
2
  export declare const enum ScopeType {
3
- ListComprehension = 0,
4
- Function = 1,
5
- Class = 2,
6
- Module = 3,
7
- Builtin = 4
3
+ TypeParameter = 0,
4
+ ListComprehension = 1,
5
+ Function = 2,
6
+ Class = 3,
7
+ Module = 4,
8
+ Builtin = 5
8
9
  }
9
10
  export declare const enum NameBindingType {
10
11
  Nonlocal = 0,
@@ -20,17 +21,23 @@ export interface GlobalScopeResult {
20
21
  scope: Scope;
21
22
  isBeyondExecutionScope: boolean;
22
23
  }
24
+ export interface LookupSymbolOptions {
25
+ isOutsideCallerModule?: boolean;
26
+ isBeyondExecutionScope?: boolean;
27
+ useProxyScope?: boolean;
28
+ }
23
29
  export declare class Scope {
24
30
  readonly type: ScopeType;
25
31
  readonly parent: Scope | undefined;
32
+ readonly proxy: Scope | undefined;
26
33
  readonly symbolTable: SymbolTable;
27
34
  readonly notLocalBindings: Map<string, NameBindingType>;
28
35
  slotsNames: string[] | undefined;
29
- constructor(type: ScopeType, parent?: Scope);
36
+ constructor(type: ScopeType, parent?: Scope, proxy?: Scope);
30
37
  getGlobalScope(): GlobalScopeResult;
31
38
  isIndependentlyExecutable(): boolean;
32
39
  lookUpSymbol(name: string): Symbol | undefined;
33
- lookUpSymbolRecursive(name: string, isOutsideCallerModule?: boolean, isBeyondExecutionScope?: boolean): SymbolWithScope | undefined;
40
+ lookUpSymbolRecursive(name: string, options?: LookupSymbolOptions): SymbolWithScope | undefined;
34
41
  addSymbol(name: string, flags: SymbolFlags): Symbol;
35
42
  getBindingType(name: string): NameBindingType | undefined;
36
43
  setBindingType(name: string, bindingType: NameBindingType): Map<string, NameBindingType>;
@@ -15,17 +15,19 @@ const debug_1 = require("../common/debug");
15
15
  const symbol_1 = require("./symbol");
16
16
  var ScopeType;
17
17
  (function (ScopeType) {
18
+ // Used for PEP 695-style type parameters.
19
+ ScopeType[ScopeType["TypeParameter"] = 0] = "TypeParameter";
18
20
  // Used for list comprehension nodes.
19
- ScopeType[ScopeType["ListComprehension"] = 0] = "ListComprehension";
21
+ ScopeType[ScopeType["ListComprehension"] = 1] = "ListComprehension";
20
22
  // Function scopes are used for lambdas and functions.
21
- ScopeType[ScopeType["Function"] = 1] = "Function";
23
+ ScopeType[ScopeType["Function"] = 2] = "Function";
22
24
  // Class scopes are used for classes.
23
- ScopeType[ScopeType["Class"] = 2] = "Class";
25
+ ScopeType[ScopeType["Class"] = 3] = "Class";
24
26
  // Module scopes are used for modules.
25
- ScopeType[ScopeType["Module"] = 3] = "Module";
27
+ ScopeType[ScopeType["Module"] = 4] = "Module";
26
28
  // Built-in scopes are used for all ambient symbols provided
27
29
  // by the Python environment.
28
- ScopeType[ScopeType["Builtin"] = 4] = "Builtin";
30
+ ScopeType[ScopeType["Builtin"] = 5] = "Builtin";
29
31
  })(ScopeType || (exports.ScopeType = ScopeType = {}));
30
32
  var NameBindingType;
31
33
  (function (NameBindingType) {
@@ -35,7 +37,7 @@ var NameBindingType;
35
37
  NameBindingType[NameBindingType["Global"] = 1] = "Global";
36
38
  })(NameBindingType || (exports.NameBindingType = NameBindingType = {}));
37
39
  class Scope {
38
- constructor(type, parent) {
40
+ constructor(type, parent, proxy) {
39
41
  // Association between names and symbols.
40
42
  this.symbolTable = new Map();
41
43
  // Names within this scope that are bound to other scopes
@@ -43,15 +45,16 @@ class Scope {
43
45
  this.notLocalBindings = new Map();
44
46
  this.type = type;
45
47
  this.parent = parent;
48
+ this.proxy = proxy;
46
49
  }
47
50
  getGlobalScope() {
48
51
  let curScope = this;
49
52
  let isBeyondExecutionScope = false;
50
53
  while (curScope) {
51
- if (curScope.type === 3 /* ScopeType.Module */ || curScope.type === 4 /* ScopeType.Builtin */) {
54
+ if (curScope.type === 4 /* ScopeType.Module */ || curScope.type === 5 /* ScopeType.Builtin */) {
52
55
  return { scope: curScope, isBeyondExecutionScope };
53
56
  }
54
- if (curScope.type === 1 /* ScopeType.Function */) {
57
+ if (curScope.type === 2 /* ScopeType.Function */) {
55
58
  isBeyondExecutionScope = true;
56
59
  }
57
60
  curScope = curScope.parent;
@@ -63,17 +66,22 @@ class Scope {
63
66
  // of their parent scopes. Classes are executed in the context of their parent
64
67
  // scope, so they don't fit this category.
65
68
  isIndependentlyExecutable() {
66
- return this.type === 3 /* ScopeType.Module */ || this.type === 1 /* ScopeType.Function */;
69
+ return this.type === 4 /* ScopeType.Module */ || this.type === 2 /* ScopeType.Function */;
67
70
  }
68
71
  lookUpSymbol(name) {
69
72
  return this.symbolTable.get(name);
70
73
  }
71
- lookUpSymbolRecursive(name, isOutsideCallerModule = false, isBeyondExecutionScope = false) {
72
- const symbol = this.symbolTable.get(name);
74
+ lookUpSymbolRecursive(name, options) {
75
+ let effectiveScope = this;
76
+ let symbol = this.symbolTable.get(name);
77
+ if (!symbol && (options === null || options === void 0 ? void 0 : options.useProxyScope) && this.proxy) {
78
+ symbol = this.proxy.symbolTable.get(name);
79
+ effectiveScope = this.proxy;
80
+ }
73
81
  if (symbol) {
74
82
  // If we're searching outside of the original caller's module (global) scope,
75
83
  // hide any names that are not meant to be visible to importers.
76
- if (isOutsideCallerModule && symbol.isExternallyHidden()) {
84
+ if ((options === null || options === void 0 ? void 0 : options.isOutsideCallerModule) && symbol.isExternallyHidden()) {
77
85
  return undefined;
78
86
  }
79
87
  // If the symbol is a class variable that is defined only in terms of
@@ -83,14 +91,14 @@ class Scope {
83
91
  decls.some((decl) => decl.type !== 1 /* DeclarationType.Variable */ || !decl.isDefinedByMemberAccess)) {
84
92
  return {
85
93
  symbol,
86
- isOutsideCallerModule,
87
- isBeyondExecutionScope,
88
- scope: this,
94
+ isOutsideCallerModule: !!(options === null || options === void 0 ? void 0 : options.isOutsideCallerModule),
95
+ isBeyondExecutionScope: !!(options === null || options === void 0 ? void 0 : options.isBeyondExecutionScope),
96
+ scope: effectiveScope,
89
97
  };
90
98
  }
91
99
  }
92
100
  let parentScope;
93
- let isNextScopeBeyondExecutionScope = isBeyondExecutionScope || this.isIndependentlyExecutable();
101
+ let isNextScopeBeyondExecutionScope = (options === null || options === void 0 ? void 0 : options.isBeyondExecutionScope) || this.isIndependentlyExecutable();
94
102
  if (this.notLocalBindings.get(name) === 1 /* NameBindingType.Global */) {
95
103
  const globalScopeResult = this.getGlobalScope();
96
104
  if (globalScopeResult.scope !== this) {
@@ -107,7 +115,10 @@ class Scope {
107
115
  // If our recursion is about to take us outside the scope of the current
108
116
  // module (i.e. into a built-in scope), indicate as such with the second
109
117
  // parameter.
110
- return parentScope.lookUpSymbolRecursive(name, isOutsideCallerModule || this.type === 3 /* ScopeType.Module */, isNextScopeBeyondExecutionScope);
118
+ return parentScope.lookUpSymbolRecursive(name, {
119
+ isOutsideCallerModule: !!(options === null || options === void 0 ? void 0 : options.isOutsideCallerModule) || this.type === 4 /* ScopeType.Module */,
120
+ isBeyondExecutionScope: isNextScopeBeyondExecutionScope,
121
+ });
111
122
  }
112
123
  return undefined;
113
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../../../src/analyzer/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../../../src/analyzer/scope.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ function getBuiltInScope(currentScope) {
16
16
  // Starting at the current scope, find the built-in scope, which should
17
17
  // be the top-most parent.
18
18
  let builtInScope = currentScope;
19
- while (builtInScope.type !== 4 /* ScopeType.Builtin */) {
19
+ while (builtInScope.type !== 5 /* ScopeType.Builtin */) {
20
20
  builtInScope = builtInScope.parent;
21
21
  }
22
22
  return builtInScope;
@@ -24,7 +24,7 @@ function getBuiltInScope(currentScope) {
24
24
  exports.getBuiltInScope = getBuiltInScope;
25
25
  // Locates the evaluation scope associated with the specified parse node.
26
26
  function getScopeForNode(node) {
27
- const scopeNode = (0, parseTreeUtils_1.getEvaluationScopeNode)(node);
27
+ const scopeNode = (0, parseTreeUtils_1.getEvaluationScopeNode)(node).node;
28
28
  return (0, analyzerNodeInfo_1.getScope)(scopeNode);
29
29
  }
30
30
  exports.getScopeForNode = getScopeForNode;
@@ -35,7 +35,7 @@ function getScopeHierarchy(node, stopScope) {
35
35
  const scopeHierarchy = [];
36
36
  let curNode = node;
37
37
  while (curNode) {
38
- const scopeNode = (0, parseTreeUtils_1.getEvaluationScopeNode)(curNode);
38
+ const scopeNode = (0, parseTreeUtils_1.getEvaluationScopeNode)(curNode).node;
39
39
  const curScope = (0, analyzerNodeInfo_1.getScope)(scopeNode);
40
40
  if (!curScope) {
41
41
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/scopeUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAGH,yDAA8C;AAC9C,qDAA0D;AAG1D,SAAgB,eAAe,CAAC,YAAmB;IAC/C,uEAAuE;IACvE,0BAA0B;IAC1B,IAAI,YAAY,GAAG,YAAY,CAAC;IAEhC,OAAO,YAAY,CAAC,IAAI,8BAAsB,EAAE;QAC5C,YAAY,GAAG,YAAY,CAAC,MAAO,CAAC;KACvC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAVD,0CAUC;AAED,yEAAyE;AACzE,SAAgB,eAAe,CAAC,IAAe;IAC3C,MAAM,SAAS,GAAG,IAAA,uCAAsB,EAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,IAAA,2BAAQ,EAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAHD,0CAGC;AAED,4EAA4E;AAC5E,gEAAgE;AAChE,+CAA+C;AAC/C,SAAgB,iBAAiB,CAAC,IAAe,EAAE,SAAiB;IAChE,MAAM,cAAc,GAAY,EAAE,CAAC;IACnC,IAAI,OAAO,GAA0B,IAAI,CAAC;IAE1C,OAAO,OAAO,EAAE;QACZ,MAAM,SAAS,GAAG,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAA,2BAAQ,EAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACvF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,OAAO,cAAc,CAAC;SACzB;QAED,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC;KAC9B;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;AAClD,CAAC;AAxBD,8CAwBC;AAED,4EAA4E;AAC5E,kCAAkC;AAClC,SAAgB,kBAAkB,CAAC,IAAe,EAAE,KAAY;IAC5D,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,IAAI,QAA+B,CAAC;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,OAAO,OAAO,EAAE;QACZ,IAAI,IAAA,2BAAQ,EAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAC7B,UAAU,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,UAAU,EAAE;YACnB,OAAO,QAAQ,CAAC;SACnB;QAED,QAAQ,GAAG,OAAO,CAAC;QACnB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;KAC5B;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAjBD,gDAiBC;AAED,SAAgB,sBAAsB,CAAC,KAAY,EAAE,oBAA2B;IAC5E,IAAI,QAAQ,GAAsB,KAAK,CAAC;IAExC,OAAO,QAAQ,EAAE;QACb,IAAI,QAAQ,CAAC,MAAM,KAAK,oBAAoB,EAAE;YAC1C,OAAO,IAAI,CAAC;SACf;QAED,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;KAC9B;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAZD,wDAYC"}
1
+ {"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/scopeUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAGH,yDAA8C;AAC9C,qDAA0D;AAG1D,SAAgB,eAAe,CAAC,YAAmB;IAC/C,uEAAuE;IACvE,0BAA0B;IAC1B,IAAI,YAAY,GAAG,YAAY,CAAC;IAEhC,OAAO,YAAY,CAAC,IAAI,8BAAsB,EAAE;QAC5C,YAAY,GAAG,YAAY,CAAC,MAAO,CAAC;KACvC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAVD,0CAUC;AAED,yEAAyE;AACzE,SAAgB,eAAe,CAAC,IAAe;IAC3C,MAAM,SAAS,GAAG,IAAA,uCAAsB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACpD,OAAO,IAAA,2BAAQ,EAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAHD,0CAGC;AAED,4EAA4E;AAC5E,gEAAgE;AAChE,+CAA+C;AAC/C,SAAgB,iBAAiB,CAAC,IAAe,EAAE,SAAiB;IAChE,MAAM,cAAc,GAAY,EAAE,CAAC;IACnC,IAAI,OAAO,GAA0B,IAAI,CAAC;IAE1C,OAAO,OAAO,EAAE;QACZ,MAAM,SAAS,GAAwB,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,QAAQ,GAAG,IAAA,2BAAQ,EAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACvF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,OAAO,cAAc,CAAC;SACzB;QAED,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC;KAC9B;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;AAClD,CAAC;AAxBD,8CAwBC;AAED,4EAA4E;AAC5E,kCAAkC;AAClC,SAAgB,kBAAkB,CAAC,IAAe,EAAE,KAAY;IAC5D,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,IAAI,QAA+B,CAAC;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,OAAO,OAAO,EAAE;QACZ,IAAI,IAAA,2BAAQ,EAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAC7B,UAAU,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,UAAU,EAAE;YACnB,OAAO,QAAQ,CAAC;SACnB;QAED,QAAQ,GAAG,OAAO,CAAC;QACnB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;KAC5B;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAjBD,gDAiBC;AAED,SAAgB,sBAAsB,CAAC,KAAY,EAAE,oBAA2B;IAC5E,IAAI,QAAQ,GAAsB,KAAK,CAAC;IAExC,OAAO,QAAQ,EAAE;QACb,IAAI,QAAQ,CAAC,MAAM,KAAK,oBAAoB,EAAE;YAC1C,OAAO,IAAI,CAAC;SACf;QAED,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;KAC9B;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAZD,wDAYC"}