@zzzen/pyright-internal 1.2.0-dev.20250216 → 1.2.0-dev.20250223

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 (67) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +4 -4
  2. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  3. package/dist/analyzer/cacheManager.d.ts +5 -2
  4. package/dist/analyzer/cacheManager.js +1 -0
  5. package/dist/analyzer/cacheManager.js.map +1 -1
  6. package/dist/analyzer/checker.js +170 -163
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/constructorTransform.js +1 -1
  9. package/dist/analyzer/constructorTransform.js.map +1 -1
  10. package/dist/analyzer/constructors.js +1 -1
  11. package/dist/analyzer/constructors.js.map +1 -1
  12. package/dist/analyzer/parseTreeUtils.d.ts +2 -1
  13. package/dist/analyzer/parseTreeUtils.js +12 -0
  14. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  15. package/dist/analyzer/program.d.ts +0 -1
  16. package/dist/analyzer/program.js +13 -29
  17. package/dist/analyzer/program.js.map +1 -1
  18. package/dist/analyzer/service.d.ts +3 -3
  19. package/dist/analyzer/service.js.map +1 -1
  20. package/dist/analyzer/sourceFile.d.ts +1 -1
  21. package/dist/analyzer/sourceFile.js +1 -1
  22. package/dist/analyzer/sourceFile.js.map +1 -1
  23. package/dist/analyzer/tracePrinter.d.ts +1 -1
  24. package/dist/analyzer/tracePrinter.js +3 -2
  25. package/dist/analyzer/tracePrinter.js.map +1 -1
  26. package/dist/analyzer/typeEvaluator.js +102 -56
  27. package/dist/analyzer/typeEvaluator.js.map +1 -1
  28. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
  29. package/dist/analyzer/typePrinter.d.ts +2 -0
  30. package/dist/analyzer/typePrinter.js +20 -0
  31. package/dist/analyzer/typePrinter.js.map +1 -1
  32. package/dist/analyzer/typeUtils.js +3 -3
  33. package/dist/analyzer/typeUtils.js.map +1 -1
  34. package/dist/analyzer/typeWalker.js +1 -1
  35. package/dist/analyzer/typeWalker.js.map +1 -1
  36. package/dist/analyzer/typedDicts.js +6 -7
  37. package/dist/analyzer/typedDicts.js.map +1 -1
  38. package/dist/analyzer/types.d.ts +4 -1
  39. package/dist/analyzer/types.js +9 -4
  40. package/dist/analyzer/types.js.map +1 -1
  41. package/dist/backgroundAnalysisBase.d.ts +24 -2
  42. package/dist/backgroundAnalysisBase.js.map +1 -1
  43. package/dist/common/cancellationUtils.d.ts +2 -0
  44. package/dist/common/cancellationUtils.js +19 -1
  45. package/dist/common/cancellationUtils.js.map +1 -1
  46. package/dist/common/languageServerInterface.d.ts +3 -3
  47. package/dist/languageServerBase.d.ts +3 -3
  48. package/dist/languageServerBase.js.map +1 -1
  49. package/dist/localization/localize.d.ts +4 -0
  50. package/dist/localization/localize.js +2 -0
  51. package/dist/localization/localize.js.map +1 -1
  52. package/dist/localization/package.nls.en-us.json +5 -0
  53. package/dist/server.d.ts +2 -2
  54. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js +2 -2
  55. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  56. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js +2 -2
  57. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  58. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js +2 -2
  59. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  60. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js +2 -2
  61. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
  62. package/dist/tests/harness/fourslash/testLanguageService.d.ts +2 -2
  63. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  64. package/dist/tests/typeEvaluator4.test.js +1 -1
  65. package/dist/tests/typeEvaluator5.test.js +1 -1
  66. package/dist/tests/typeEvaluator8.test.js +1 -1
  67. package/package.json +1 -1
@@ -626,7 +626,7 @@ class SourceFile {
626
626
  this._recomputeDiagnostics(configOptions);
627
627
  });
628
628
  }
629
- check(configOptions, importResolver, evaluator, sourceMapper, dependentFiles) {
629
+ check(configOptions, importLookup, importResolver, evaluator, sourceMapper, dependentFiles) {
630
630
  (0, debug_1.assert)(!this.isParseRequired(), `Check called before parsing: state=${this._writableData.debugPrint()}`);
631
631
  (0, debug_1.assert)(!this.isBindingRequired(), `Check called before binding: state=${this._writableData.debugPrint()}`);
632
632
  (0, debug_1.assert)(!this._writableData.isBindingInProgress, 'Check called while binding in progress');
@@ -1 +1 @@
1
- {"version":3,"file":"sourceFile.js","sourceRoot":"","sources":["../../../../../src/analyzer/sourceFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceFile.js","sourceRoot":"","sources":["../../../../../src/analyzer/sourceFile.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,4 @@ export interface TracePrinter {
9
9
  print(o: PrintableType): string;
10
10
  printFileOrModuleName(fileUriOrModule: Uri | AbsoluteModuleDescriptor): string;
11
11
  }
12
- export declare function createTracePrinter(roots: Uri[]): TracePrinter;
12
+ export declare function createTracePrinter(roots: Uri[], includeRoots?: boolean): TracePrinter;
@@ -41,7 +41,7 @@ const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
41
41
  const ParseTreeUtils = __importStar(require("./parseTreeUtils"));
42
42
  const symbol_1 = require("./symbol");
43
43
  const types_1 = require("./types");
44
- function createTracePrinter(roots) {
44
+ function createTracePrinter(roots, includeRoots = false) {
45
45
  function wrap(value, ch = "'") {
46
46
  return value ? `${ch}${value}${ch}` : '';
47
47
  }
@@ -56,7 +56,8 @@ function createTracePrinter(roots) {
56
56
  for (const root of roots) {
57
57
  if (fileUriOrModule.isChild(root)) {
58
58
  const subFile = root.getRelativePath(fileUriOrModule);
59
- return (0, pathUtils_1.stripFileExtension)(subFile).replace(separatorRegExp, '.');
59
+ const stripped = (0, pathUtils_1.stripFileExtension)(subFile).replace(separatorRegExp, '.');
60
+ return includeRoots ? `${root.fileName}:${stripped}` : stripped;
60
61
  }
61
62
  }
62
63
  return fileUriOrModule.toUserVisibleString();
@@ -1 +1 @@
1
- {"version":3,"file":"tracePrinter.js","sourceRoot":"","sources":["../../../../../src/analyzer/tracePrinter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracePrinter.js","sourceRoot":"","sources":["../../../../../src/analyzer/tracePrinter.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,7 @@ const typeGuards_1 = require("./typeGuards");
86
86
  const TypePrinter = __importStar(require("./typePrinter"));
87
87
  const types_1 = require("./types");
88
88
  const typeUtils_1 = require("./typeUtils");
89
+ const core_1 = require("../common/core");
89
90
  // This table contains the names of several built-in types that
90
91
  // are not subscriptable at runtime on older versions of Python.
91
92
  // It lists the first version of Python where subscripting is
@@ -199,12 +200,23 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
199
200
  const signatureTrackerStack = [];
200
201
  let prefetched;
201
202
  function runWithCancellationToken(token, callback) {
203
+ // Save the current token and restore it after the callback to support nested calls
204
+ const oldToken = cancellationToken;
205
+ let result = undefined;
202
206
  try {
203
207
  cancellationToken = token;
204
- return callback();
208
+ result = callback();
209
+ if (!(0, core_1.isThenable)(result)) {
210
+ return result;
211
+ }
212
+ return result.finally(() => {
213
+ cancellationToken = oldToken;
214
+ });
205
215
  }
206
216
  finally {
207
- cancellationToken = undefined;
217
+ if (!(0, core_1.isThenable)(result)) {
218
+ cancellationToken = oldToken;
219
+ }
208
220
  }
209
221
  }
210
222
  function checkForCancellation() {
@@ -590,7 +602,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
590
602
  // Make sure the resulting type is assignable to the expected type.
591
603
  if (!assignType(inferenceContext.expectedType, typeResult.type, diag,
592
604
  /* constraints */ undefined, 0 /* AssignTypeFlags.Default */)) {
593
- typeResult.typeErrors = true;
605
+ // Set the typeErrors to true, but first make a copy of the
606
+ // type result because the (non-error) version may already
607
+ // be cached.
608
+ typeResult = { ...typeResult, typeErrors: true };
594
609
  typeResult.expectedTypeDiagAddendum = diag;
595
610
  diag.addTextRange(node);
596
611
  }
@@ -9244,6 +9259,12 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
9244
9259
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typeAliasTypeMustBeAssigned(), errorNode);
9245
9260
  return undefined;
9246
9261
  }
9262
+ const scope = ScopeUtils.getScopeForNode(errorNode);
9263
+ if (scope) {
9264
+ if (scope.type !== 3 /* ScopeType.Class */ && scope.type !== 4 /* ScopeType.Module */ && scope.type !== 5 /* ScopeType.Builtin */) {
9265
+ addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typeAliasTypeBadScope(), errorNode.parent.d.leftExpr);
9266
+ }
9267
+ }
9247
9268
  const nameNode = errorNode.parent.d.leftExpr;
9248
9269
  const firstArg = argList[0];
9249
9270
  if (firstArg.valueExpression && firstArg.valueExpression.nodeType === 48 /* ParseNodeType.StringList */) {
@@ -10373,7 +10394,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
10373
10394
  : undefined, () => {
10374
10395
  const returnTypeResult = getTypeOfExpression(node.d.expr,
10375
10396
  /* flags */ undefined, (0, typeUtils_1.makeInferenceContext)(expectedReturnType));
10376
- functionType.priv.inferredReturnType = returnTypeResult.type;
10397
+ functionType.priv.inferredReturnType = {
10398
+ type: returnTypeResult.type,
10399
+ };
10377
10400
  if (returnTypeResult.isIncomplete) {
10378
10401
  isIncomplete = true;
10379
10402
  }
@@ -12252,16 +12275,13 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
12252
12275
  else if (arg.d.name.d.value === 'total' && !constArgValue) {
12253
12276
  classType.shared.flags |= 32 /* ClassTypeFlags.CanOmitDictValues */;
12254
12277
  }
12255
- else if (arg.d.name.d.value === 'closed') {
12278
+ else if (arg.d.name.d.value === 'closed' &&
12279
+ AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.enableExperimentalFeatures) {
12256
12280
  if (constArgValue) {
12257
- // This is an experimental feature because PEP 728 hasn't been accepted yet.
12258
- if (AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.enableExperimentalFeatures) {
12259
- classType.shared.flags |=
12260
- 8 /* ClassTypeFlags.TypedDictMarkedClosed */ |
12261
- 16 /* ClassTypeFlags.TypedDictEffectivelyClosed */;
12262
- if (classType.shared.typedDictExtraItemsExpr) {
12263
- addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typedDictExtraItemsClosed(), classType.shared.typedDictExtraItemsExpr);
12264
- }
12281
+ classType.shared.flags |=
12282
+ 8 /* ClassTypeFlags.TypedDictMarkedClosed */ | 16 /* ClassTypeFlags.TypedDictEffectivelyClosed */;
12283
+ if (classType.shared.typedDictExtraItemsExpr) {
12284
+ addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typedDictExtraItemsClosed(), classType.shared.typedDictExtraItemsExpr);
12265
12285
  }
12266
12286
  }
12267
12287
  if (sawClosedOrExtraItems) {
@@ -12270,16 +12290,14 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
12270
12290
  sawClosedOrExtraItems = true;
12271
12291
  }
12272
12292
  }
12273
- else if (arg.d.name.d.value === 'extra_items') {
12274
- // This is an experimental feature because PEP 728 hasn't been accepted yet.
12275
- if (AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.enableExperimentalFeatures) {
12276
- // Record a reference to the expression but don't evaluate it yet.
12277
- // It may refer to the class itself.
12278
- classType.shared.typedDictExtraItemsExpr = arg.d.valueExpr;
12279
- classType.shared.flags |= 16 /* ClassTypeFlags.TypedDictEffectivelyClosed */;
12280
- if (types_1.ClassType.isTypedDictMarkedClosed(classType)) {
12281
- addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typedDictExtraItemsClosed(), classType.shared.typedDictExtraItemsExpr);
12282
- }
12293
+ else if (arg.d.name.d.value === 'extra_items' &&
12294
+ AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.enableExperimentalFeatures) {
12295
+ // Record a reference to the expression but don't evaluate it yet.
12296
+ // It may refer to the class itself.
12297
+ classType.shared.typedDictExtraItemsExpr = arg.d.valueExpr;
12298
+ classType.shared.flags |= 16 /* ClassTypeFlags.TypedDictEffectivelyClosed */;
12299
+ if (types_1.ClassType.isTypedDictMarkedClosed(classType)) {
12300
+ addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typedDictExtraItemsClosed(), classType.shared.typedDictExtraItemsExpr);
12283
12301
  }
12284
12302
  if (sawClosedOrExtraItems) {
12285
12303
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typedDictExtraItemsClosed(), arg.d.valueExpr);
@@ -13533,7 +13551,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
13533
13551
  awaitableFunctionType.shared.declaredReturnType = createAwaitableReturnType(node, functionType.shared.declaredReturnType, types_1.FunctionType.isGenerator(functionType));
13534
13552
  }
13535
13553
  else {
13536
- awaitableFunctionType.priv.inferredReturnType = createAwaitableReturnType(node, getInferredReturnType(functionType), types_1.FunctionType.isGenerator(functionType));
13554
+ awaitableFunctionType.priv.inferredReturnType = {
13555
+ type: createAwaitableReturnType(node, getInferredReturnType(functionType), types_1.FunctionType.isGenerator(functionType)),
13556
+ };
13537
13557
  }
13538
13558
  return awaitableFunctionType;
13539
13559
  }
@@ -16594,8 +16614,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
16594
16614
  }
16595
16615
  // If the return type has already been lazily evaluated,
16596
16616
  // don't bother computing it again.
16597
- if (type.priv.inferredReturnType) {
16598
- returnType = type.priv.inferredReturnType;
16617
+ if (type.priv.inferredReturnType && !type.priv.inferredReturnType.isIncomplete) {
16618
+ returnType = type.priv.inferredReturnType.type;
16599
16619
  }
16600
16620
  else {
16601
16621
  // Don't bother inferring the return type of __init__ because it's
@@ -16642,9 +16662,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
16642
16662
  }
16643
16663
  returnType = (0, typeUtils_1.makeTypeVarsFree)(returnType, typeVarScopes);
16644
16664
  // Cache the type for next time.
16645
- if (!isIncomplete) {
16646
- type.priv.inferredReturnType = returnType;
16647
- }
16665
+ type.priv.inferredReturnType = { type: returnType, isIncomplete };
16648
16666
  }
16649
16667
  // If the type is partially unknown and the function has one or more unannotated
16650
16668
  // params, try to analyze the function with the provided argument types and
@@ -17640,6 +17658,23 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
17640
17658
  }
17641
17659
  }
17642
17660
  let concreteSrcType = makeTopLevelTypeVarsConcrete(srcType);
17661
+ // Handle the TypeForm special form. Add a special case for
17662
+ // type[T] to be assignable to TypeForm[T].
17663
+ if (types_1.ClassType.isBuiltIn(destType, 'TypeForm')) {
17664
+ const destTypeArg = destType.priv.typeArgs && destType.priv.typeArgs.length > 0
17665
+ ? destType.priv.typeArgs[0]
17666
+ : types_1.UnknownType.create();
17667
+ let srcTypeArg;
17668
+ if ((0, types_1.isClassInstance)(concreteSrcType) && types_1.ClassType.isBuiltIn(concreteSrcType, 'type')) {
17669
+ srcTypeArg = concreteSrcType;
17670
+ }
17671
+ else if ((0, types_1.isInstantiableClass)(concreteSrcType)) {
17672
+ srcTypeArg = (0, typeUtils_1.convertToInstance)(concreteSrcType);
17673
+ }
17674
+ if (srcTypeArg) {
17675
+ return assignType(destTypeArg, srcTypeArg, diag, constraints, flags, recursionCount);
17676
+ }
17677
+ }
17643
17678
  if ((0, types_1.isClass)(concreteSrcType) && types_1.TypeBase.isInstance(concreteSrcType)) {
17644
17679
  // Handle the case where the source is an unpacked tuple.
17645
17680
  if (!destType.priv.isUnpacked &&
@@ -19850,37 +19885,48 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
19850
19885
  // is the type used to reference the member.
19851
19886
  function partiallySpecializeBoundMethod(baseType, memberType, diag, recursionCount, firstParamType, stripFirstParam = true) {
19852
19887
  const constraints = new constraintTracker_1.ConstraintTracker();
19853
- if (firstParamType && memberType.shared.parameters.length > 0) {
19854
- const memberTypeFirstParam = memberType.shared.parameters[0];
19855
- const memberTypeFirstParamType = types_1.FunctionType.getParamType(memberType, 0);
19856
- if ((0, types_1.isTypeVar)(memberTypeFirstParamType) &&
19857
- memberTypeFirstParamType.shared.boundType &&
19858
- (0, types_1.isClassInstance)(memberTypeFirstParamType.shared.boundType) &&
19859
- types_1.ClassType.isProtocolClass(memberTypeFirstParamType.shared.boundType)) {
19860
- // Handle the protocol class specially. Some protocol classes
19861
- // contain references to themselves or their subclasses, so if
19862
- // we attempt to call assignType, we'll risk infinite recursion.
19863
- // Instead, we'll assume it's assignable.
19864
- constraints.setBounds(memberTypeFirstParamType, types_1.TypeBase.isInstantiable(memberTypeFirstParamType)
19865
- ? (0, typeUtils_1.convertToInstance)(firstParamType)
19866
- : firstParamType);
19888
+ if (firstParamType) {
19889
+ if (memberType.shared.parameters.length > 0) {
19890
+ const memberTypeFirstParam = memberType.shared.parameters[0];
19891
+ const memberTypeFirstParamType = types_1.FunctionType.getParamType(memberType, 0);
19892
+ if ((0, types_1.isTypeVar)(memberTypeFirstParamType) &&
19893
+ memberTypeFirstParamType.shared.boundType &&
19894
+ (0, types_1.isClassInstance)(memberTypeFirstParamType.shared.boundType) &&
19895
+ types_1.ClassType.isProtocolClass(memberTypeFirstParamType.shared.boundType)) {
19896
+ // Handle the protocol class specially. Some protocol classes
19897
+ // contain references to themselves or their subclasses, so if
19898
+ // we attempt to call assignType, we'll risk infinite recursion.
19899
+ // Instead, we'll assume it's assignable.
19900
+ constraints.setBounds(memberTypeFirstParamType, types_1.TypeBase.isInstantiable(memberTypeFirstParamType)
19901
+ ? (0, typeUtils_1.convertToInstance)(firstParamType)
19902
+ : firstParamType);
19903
+ }
19904
+ else {
19905
+ const subDiag = diag?.createAddendum();
19906
+ if (!assignType(memberTypeFirstParamType, firstParamType, subDiag?.createAddendum(), constraints, 8192 /* AssignTypeFlags.AllowUnspecifiedTypeArgs */, recursionCount)) {
19907
+ if (memberTypeFirstParam.name &&
19908
+ !types_1.FunctionParam.isNameSynthesized(memberTypeFirstParam) &&
19909
+ types_1.FunctionParam.isTypeDeclared(memberTypeFirstParam)) {
19910
+ if (subDiag) {
19911
+ subDiag.addMessage(localize_1.LocMessage.bindTypeMismatch().format({
19912
+ type: printType(firstParamType),
19913
+ methodName: memberType.shared.name || '<anonymous>',
19914
+ paramName: memberTypeFirstParam.name,
19915
+ }));
19916
+ }
19917
+ return undefined;
19918
+ }
19919
+ }
19920
+ }
19867
19921
  }
19868
19922
  else {
19869
19923
  const subDiag = diag?.createAddendum();
19870
- if (!assignType(memberTypeFirstParamType, firstParamType, subDiag?.createAddendum(), constraints, 8192 /* AssignTypeFlags.AllowUnspecifiedTypeArgs */, recursionCount)) {
19871
- if (memberTypeFirstParam.name &&
19872
- !types_1.FunctionParam.isNameSynthesized(memberTypeFirstParam) &&
19873
- types_1.FunctionParam.isTypeDeclared(memberTypeFirstParam)) {
19874
- if (subDiag) {
19875
- subDiag.addMessage(localize_1.LocMessage.bindTypeMismatch().format({
19876
- type: printType(firstParamType),
19877
- methodName: memberType.shared.name || '<anonymous>',
19878
- paramName: memberTypeFirstParam.name,
19879
- }));
19880
- }
19881
- return undefined;
19882
- }
19924
+ if (subDiag) {
19925
+ subDiag.addMessage(localize_1.LocMessage.bindParamMissing().format({
19926
+ methodName: memberType.shared.name || '<anonymous>',
19927
+ }));
19883
19928
  }
19929
+ return undefined;
19884
19930
  }
19885
19931
  }
19886
19932
  // Get the effective return type, which will have the side effect of lazily