@zzzen/pyright-internal 1.2.0-dev.20230409 → 1.2.0-dev.20230416

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 (90) hide show
  1. package/dist/analyzer/codeFlowEngine.js +5 -0
  2. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  3. package/dist/analyzer/constructorTransform.js +112 -49
  4. package/dist/analyzer/constructorTransform.js.map +1 -1
  5. package/dist/analyzer/declarationUtils.js +2 -1
  6. package/dist/analyzer/declarationUtils.js.map +1 -1
  7. package/dist/analyzer/enums.d.ts +1 -1
  8. package/dist/analyzer/enums.js +114 -55
  9. package/dist/analyzer/enums.js.map +1 -1
  10. package/dist/analyzer/parseTreeUtils.js +9 -4
  11. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  12. package/dist/analyzer/patternMatching.js +1 -0
  13. package/dist/analyzer/patternMatching.js.map +1 -1
  14. package/dist/analyzer/program.js +77 -22
  15. package/dist/analyzer/program.js.map +1 -1
  16. package/dist/analyzer/service.js +1 -1
  17. package/dist/analyzer/service.js.map +1 -1
  18. package/dist/analyzer/sourceMapper.js +1 -1
  19. package/dist/analyzer/sourceMapper.js.map +1 -1
  20. package/dist/analyzer/typeEvaluator.js +103 -26
  21. package/dist/analyzer/typeEvaluator.js.map +1 -1
  22. package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -2
  23. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  24. package/dist/analyzer/typePrinter.d.ts +1 -1
  25. package/dist/analyzer/typePrinter.js +21 -18
  26. package/dist/analyzer/typePrinter.js.map +1 -1
  27. package/dist/analyzer/typeUtils.js +4 -4
  28. package/dist/analyzer/typeUtils.js.map +1 -1
  29. package/dist/analyzer/types.d.ts +2 -1
  30. package/dist/analyzer/types.js +10 -2
  31. package/dist/analyzer/types.js.map +1 -1
  32. package/dist/common/configOptions.d.ts +1 -1
  33. package/dist/common/configOptions.js +3 -3
  34. package/dist/common/configOptions.js.map +1 -1
  35. package/dist/common/fullAccessHost.d.ts +2 -1
  36. package/dist/common/fullAccessHost.js +11 -1
  37. package/dist/common/fullAccessHost.js.map +1 -1
  38. package/dist/common/host.d.ts +3 -2
  39. package/dist/common/host.js +1 -1
  40. package/dist/common/host.js.map +1 -1
  41. package/dist/languageService/autoImporter.d.ts +1 -1
  42. package/dist/languageService/autoImporter.js +2 -2
  43. package/dist/languageService/autoImporter.js.map +1 -1
  44. package/dist/languageService/completionProvider.js +144 -87
  45. package/dist/languageService/completionProvider.js.map +1 -1
  46. package/dist/languageService/completionProviderUtils.js +11 -3
  47. package/dist/languageService/completionProviderUtils.js.map +1 -1
  48. package/dist/languageService/documentSymbolCollector.js +1 -1
  49. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  50. package/dist/languageService/hoverProvider.js +13 -2
  51. package/dist/languageService/hoverProvider.js.map +1 -1
  52. package/dist/languageService/indentationUtils.js +3 -3
  53. package/dist/languageService/indentationUtils.js.map +1 -1
  54. package/dist/languageService/insertionPointUtils.js +2 -2
  55. package/dist/languageService/insertionPointUtils.js.map +1 -1
  56. package/dist/tests/completions.test.js +239 -0
  57. package/dist/tests/completions.test.js.map +1 -1
  58. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js +1 -1
  59. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  60. package/dist/tests/fourslash/completions.override2.fourslash.js +1 -1
  61. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  62. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js +1 -1
  63. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js.map +1 -1
  64. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js +2 -2
  65. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js.map +1 -1
  66. package/dist/tests/fourslash/hover.variable.docString.fourslash.js +1 -1
  67. package/dist/tests/fourslash/hover.variable.docString.fourslash.js.map +1 -1
  68. package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
  69. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  70. package/dist/tests/harness/testHost.js +1 -1
  71. package/dist/tests/harness/testHost.js.map +1 -1
  72. package/dist/tests/harness/vfs/factory.js +2 -2
  73. package/dist/tests/harness/vfs/factory.js.map +1 -1
  74. package/dist/tests/harness/vfs/filesystem.js +26 -25
  75. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  76. package/dist/tests/hoverProvider.test.js +6 -0
  77. package/dist/tests/hoverProvider.test.js.map +1 -1
  78. package/dist/tests/moveSymbol.insertion.test.js +25 -4
  79. package/dist/tests/moveSymbol.insertion.test.js.map +1 -1
  80. package/dist/tests/typeEvaluator1.test.js +8 -0
  81. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  82. package/dist/tests/typeEvaluator2.test.js +4 -0
  83. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  84. package/dist/tests/typeEvaluator3.test.js +4 -0
  85. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  86. package/dist/tests/typePrinter.test.js +5 -0
  87. package/dist/tests/typePrinter.test.js.map +1 -1
  88. package/dist/workspaceFactory.js +1 -1
  89. package/dist/workspaceFactory.js.map +1 -1
  90. package/package.json +1 -1
@@ -443,7 +443,7 @@ class SourceMapper {
443
443
  }
444
444
  _addClassTypeDeclarations(originated, type, result, recursiveDeclCache) {
445
445
  const filePath = type.details.filePath;
446
- const sourceFiles = this._getSourceFiles(filePath, /*stubToShadow*/ undefined, originated);
446
+ const sourceFiles = this._getSourceFiles(filePath, /* stubToShadow */ undefined, originated);
447
447
  const fullClassName = type.details.fullName.substring(type.details.moduleName.length + 1 /* +1 for trailing dot */);
448
448
  for (const sourceFile of sourceFiles) {
449
449
  (0, collectionUtils_1.appendArray)(result, this._findClassDeclarationsByName(sourceFile, fullClassName, recursiveDeclCache));
@@ -1 +1 @@
1
- {"version":3,"file":"sourceMapper.js","sourceRoot":"","sources":["../../../src/analyzer/sourceMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceMapper.js","sourceRoot":"","sources":["../../../src/analyzer/sourceMapper.ts"],"names":[],"mappings":"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"}
@@ -5295,7 +5295,14 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
5295
5295
  }
5296
5296
  function getTypeOfCall(node, inferenceContext, flags) {
5297
5297
  var _a;
5298
- const baseTypeResult = getTypeOfExpression(node.leftExpression, 2 /* DoNotSpecialize */);
5298
+ let baseTypeResult;
5299
+ // Handle immediate calls of lambdas specially.
5300
+ if (node.leftExpression.nodeType === 30 /* Lambda */) {
5301
+ baseTypeResult = getTypeOfLambdaForCall(node, inferenceContext);
5302
+ }
5303
+ else {
5304
+ baseTypeResult = getTypeOfExpression(node.leftExpression, 2 /* DoNotSpecialize */);
5305
+ }
5299
5306
  const argList = node.arguments.map((arg) => {
5300
5307
  const functionArg = {
5301
5308
  valueExpression: arg.valueExpression,
@@ -5386,6 +5393,57 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
5386
5393
  }
5387
5394
  return typeResult;
5388
5395
  }
5396
+ // This function is used in cases where a lambda is defined and immediately
5397
+ // called. In this case, we can't use normal bidirectional type inference
5398
+ // to determine the lambda's type. It needs to be inferred from the argument
5399
+ // types instead.
5400
+ function getTypeOfLambdaForCall(node, inferenceContext) {
5401
+ (0, debug_1.assert)(node.leftExpression.nodeType === 30 /* Lambda */);
5402
+ const expectedType = types_1.FunctionType.createSynthesizedInstance('');
5403
+ expectedType.details.declaredReturnType = inferenceContext
5404
+ ? inferenceContext.expectedType
5405
+ : types_1.UnknownType.create();
5406
+ let isArgTypeIncomplete = false;
5407
+ node.arguments.forEach((arg, index) => {
5408
+ const argTypeResult = getTypeOfExpression(arg.valueExpression);
5409
+ if (argTypeResult.isIncomplete) {
5410
+ isArgTypeIncomplete = true;
5411
+ }
5412
+ types_1.FunctionType.addParameter(expectedType, {
5413
+ category: 0 /* Simple */,
5414
+ name: `p${index.toString()}`,
5415
+ type: argTypeResult.type,
5416
+ hasDeclaredType: true,
5417
+ });
5418
+ });
5419
+ // If the lambda's param list ends with a "/" positional parameter separator,
5420
+ // add a corresponding separator to the expected type.
5421
+ const lambdaParams = node.leftExpression.parameters;
5422
+ if (lambdaParams.length > 0) {
5423
+ const lastParam = lambdaParams[lambdaParams.length - 1];
5424
+ if (lastParam.category === 0 /* Simple */ && !lastParam.name) {
5425
+ types_1.FunctionType.addParameter(expectedType, {
5426
+ category: 0 /* Simple */,
5427
+ name: '',
5428
+ type: types_1.UnknownType.create(),
5429
+ });
5430
+ }
5431
+ }
5432
+ function getLambdaType() {
5433
+ return getTypeOfExpression(node.leftExpression, 2 /* DoNotSpecialize */, (0, typeUtils_1.makeInferenceContext)(expectedType));
5434
+ }
5435
+ // If one or more of the arguments are incomplete, use speculative mode
5436
+ // for the lambda evaluation because it may need to be reevaluated once
5437
+ // the arg types are complete.
5438
+ let typeResult = isArgTypeIncomplete || speculativeTypeTracker.isSpeculative(node) || (inferenceContext === null || inferenceContext === void 0 ? void 0 : inferenceContext.isTypeIncomplete)
5439
+ ? useSpeculativeMode(node.leftExpression, getLambdaType)
5440
+ : getLambdaType();
5441
+ // If bidirectional type inference failed, use normal type inference instead.
5442
+ if (typeResult.typeErrors) {
5443
+ typeResult = getTypeOfExpression(node.leftExpression, 2 /* DoNotSpecialize */);
5444
+ }
5445
+ return typeResult;
5446
+ }
5389
5447
  function getTypeOfAssertType(node, inferenceContext) {
5390
5448
  if (node.arguments.length !== 2 ||
5391
5449
  node.arguments[0].argumentCategory !== 0 /* Simple */ ||
@@ -5662,6 +5720,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
5662
5720
  const argTypeOverride = expandedArgTypes[expandedTypesIndex];
5663
5721
  const hasArgTypeOverride = argTypeOverride.some((a) => a !== undefined);
5664
5722
  let possibleMatchResults = [];
5723
+ let possibleMatchInvolvesIncompleteUnknown = false;
5665
5724
  isDefinitiveMatchFound = false;
5666
5725
  for (let overloadIndex = 0; overloadIndex < argParamMatches.length; overloadIndex++) {
5667
5726
  const overload = argParamMatches[overloadIndex].overload;
@@ -5709,8 +5768,11 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
5709
5768
  argResults: (_b = callResult.argResults) !== null && _b !== void 0 ? _b : [],
5710
5769
  };
5711
5770
  matchedOverloads.push(matchedOverloadInfo);
5712
- if (callResult.isArgumentAnyOrUnknown) {
5771
+ if (callResult.anyOrUnknownArgument) {
5713
5772
  possibleMatchResults.push(matchedOverloadInfo);
5773
+ if ((0, typeUtils_1.isIncompleteUnknown)(callResult.anyOrUnknownArgument)) {
5774
+ possibleMatchInvolvesIncompleteUnknown = true;
5775
+ }
5714
5776
  }
5715
5777
  else {
5716
5778
  returnTypes.push(callResult.returnType);
@@ -5752,7 +5814,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
5752
5814
  });
5753
5815
  dedupedMatchResults = dedupedMatchResults.filter((t) => !(0, types_1.isNever)(t));
5754
5816
  const combinedTypes = (0, types_1.combineTypes)(dedupedMatchResults);
5755
- returnTypes.push(dedupedMatchResults.length > 1 ? types_1.UnknownType.createPossibleType(combinedTypes) : combinedTypes);
5817
+ returnTypes.push(dedupedMatchResults.length > 1
5818
+ ? types_1.UnknownType.createPossibleType(combinedTypes, possibleMatchInvolvesIncompleteUnknown)
5819
+ : combinedTypes);
5756
5820
  }
5757
5821
  }
5758
5822
  if (!matchedOverload) {
@@ -5777,7 +5841,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
5777
5841
  }
5778
5842
  return {
5779
5843
  argumentErrors: finalCallResult.argumentErrors,
5780
- isArgumentAnyOrUnknown: finalCallResult.isArgumentAnyOrUnknown,
5844
+ anyOrUnknownArgument: finalCallResult.anyOrUnknownArgument,
5781
5845
  returnType: (0, types_1.combineTypes)(returnTypes),
5782
5846
  isTypeIncomplete,
5783
5847
  specializedInitSelfType: finalCallResult.specializedInitSelfType,
@@ -6528,7 +6592,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6528
6592
  return types_1.AnyType.create();
6529
6593
  }
6530
6594
  if ((0, types_1.isClass)(unexpandedSubtype) && (0, enums_1.isKnownEnumType)(className)) {
6531
- return (_d = (0, enums_1.createEnumType)(errorNode, expandedSubtype, argList)) !== null && _d !== void 0 ? _d : types_1.UnknownType.create();
6595
+ return ((_d = (0, enums_1.createEnumType)(evaluatorInterface, errorNode, expandedSubtype, argList)) !== null && _d !== void 0 ? _d : types_1.UnknownType.create());
6532
6596
  }
6533
6597
  if (className === 'TypedDict') {
6534
6598
  return (0, typedDicts_1.createTypedDictType)(evaluatorInterface, errorNode, expandedSubtype, argList);
@@ -7575,7 +7639,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7575
7639
  let isTypeIncomplete = matchResults.isTypeIncomplete;
7576
7640
  let argumentErrors = false;
7577
7641
  let specializedInitSelfType;
7578
- let isArgumentAnyOrUnknown = false;
7642
+ let anyOrUnknownArgument;
7579
7643
  const typeCondition = (0, typeUtils_1.getTypeCondition)(type);
7580
7644
  if (type.boundTypeVarScopeId) {
7581
7645
  // If the function was bound to a class or object and was a constructor, a
@@ -7647,7 +7711,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7647
7711
  // times.
7648
7712
  const argResult = validateArgType(argParam, typeVarContext, signatureTracker, { type, isIncomplete: matchResults.isTypeIncomplete }, skipUnknownArgCheck,
7649
7713
  /* skipOverloadArg */ i === 0,
7650
- /* useNarrowBoundOnly */ passCount > 1 && i === 0, typeCondition);
7714
+ /* isFirstPass */ passCount > 1 && i === 0, typeCondition);
7651
7715
  if (argResult.isTypeIncomplete) {
7652
7716
  isTypeIncomplete = true;
7653
7717
  }
@@ -7673,7 +7737,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7673
7737
  var _a;
7674
7738
  const argResult = validateArgType(argParam, typeVarContext, signatureTracker, { type, isIncomplete: matchResults.isTypeIncomplete }, skipUnknownArgCheck,
7675
7739
  /* skipOverloadArg */ false,
7676
- /* useNarrowBoundOnly */ false, typeCondition);
7740
+ /* isFirstPass */ false, typeCondition);
7677
7741
  argResults.push(argResult);
7678
7742
  if (!argResult.isCompatible) {
7679
7743
  argumentErrors = true;
@@ -7685,7 +7749,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7685
7749
  condition = (_a = types_1.TypeCondition.combine(condition, argResult.condition)) !== null && _a !== void 0 ? _a : [];
7686
7750
  }
7687
7751
  if ((0, types_1.isAnyOrUnknown)(argResult.argType)) {
7688
- isArgumentAnyOrUnknown = true;
7752
+ anyOrUnknownArgument = anyOrUnknownArgument
7753
+ ? (0, typeUtils_1.preserveUnknown)(argResult.argType, anyOrUnknownArgument)
7754
+ : argResult.argType;
7689
7755
  }
7690
7756
  if (type.details.paramSpec) {
7691
7757
  if (argParam.argument.argumentCategory === 1 /* UnpackedList */) {
@@ -7803,7 +7869,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7803
7869
  return {
7804
7870
  argumentErrors,
7805
7871
  argResults,
7806
- isArgumentAnyOrUnknown,
7872
+ anyOrUnknownArgument,
7807
7873
  returnType: specializedReturnType,
7808
7874
  isTypeIncomplete,
7809
7875
  activeParam: matchResults.activeParam,
@@ -7811,19 +7877,16 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7811
7877
  overloadsUsedForCall: argumentErrors ? [] : [type],
7812
7878
  };
7813
7879
  }
7814
- function adjustCallableReturnType(type) {
7880
+ function adjustCallableReturnType(returnType) {
7815
7881
  // If the return type includes a generic Callable type, set the type var
7816
7882
  // scope to a wildcard to allow these type vars to be solved. This won't
7817
7883
  // work with overloads or unions of callables. It's intended for a
7818
7884
  // specific use case. We may need to make this more sophisticated in
7819
7885
  // the future.
7820
- if ((0, types_1.isFunction)(type) && !type.details.name) {
7821
- type.details = {
7822
- ...type.details,
7823
- typeVarScopeId: types_1.WildcardTypeVarScopeId,
7824
- };
7886
+ if ((0, types_1.isFunction)(returnType) && !returnType.details.name) {
7887
+ return types_1.FunctionType.cloneWithNewTypeVarScopeId(returnType, types_1.WildcardTypeVarScopeId);
7825
7888
  }
7826
- return type;
7889
+ return returnType;
7827
7890
  }
7828
7891
  // Tries to assign the call arguments to the function parameter
7829
7892
  // list and reports any mismatches in types or counts. Returns the
@@ -7945,7 +8008,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7945
8008
  /* functionType */ undefined,
7946
8009
  /* skipUnknownArgCheck */ false,
7947
8010
  /* skipOverloadArg */ false,
7948
- /* useNarrowBoundOnly */ false, conditionFilter);
8011
+ /* isFirstPass */ false, conditionFilter);
7949
8012
  if (!argResult.isCompatible) {
7950
8013
  reportedArgError = true;
7951
8014
  }
@@ -7977,7 +8040,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7977
8040
  }
7978
8041
  return !reportedArgError;
7979
8042
  }
7980
- function validateArgType(argParam, typeVarContext, signatureTracker, typeResult, skipUnknownCheck, skipOverloadArg, useNarrowBoundOnly, conditionFilter) {
8043
+ function validateArgType(argParam, typeVarContext, signatureTracker, typeResult, skipUnknownCheck, skipOverloadArg, isFirstPass, conditionFilter) {
7981
8044
  var _a;
7982
8045
  let argType;
7983
8046
  let expectedTypeDiag;
@@ -7986,16 +8049,19 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7986
8049
  const functionName = typeResult === null || typeResult === void 0 ? void 0 : typeResult.type.details.name;
7987
8050
  if (argParam.argument.valueExpression) {
7988
8051
  // If the param type is a "bare" TypeVar, don't use it as an expected
7989
- // type. This causes problems for cases where the the call expression
7990
- // result can influence the type of the TypeVar, such as in
8052
+ // type during the first pass. This causes problems for cases where the the
8053
+ // call expression result can influence the type of the TypeVar, such as in
7991
8054
  // the expression "min(1, max(2, 0.5))". We set useNarrowBoundOnly
7992
8055
  // to true if this is the first pass through the parameter list because
7993
8056
  // a wide bound on a TypeVar (if a narrow bound has not yet been established)
7994
8057
  // will unnecessarily constrain the expected type.
7995
8058
  let expectedType;
7996
- if (!(0, types_1.isTypeVar)(argParam.paramType) ||
8059
+ if (!isFirstPass ||
8060
+ !(0, types_1.isTypeVar)(argParam.paramType) ||
7997
8061
  argParam.paramType.scopeId !== (typeResult === null || typeResult === void 0 ? void 0 : typeResult.type.details.typeVarScopeId)) {
7998
- expectedType = (0, typeUtils_1.applySolvedTypeVars)(argParam.paramType, typeVarContext, { useNarrowBoundOnly });
8062
+ expectedType = (0, typeUtils_1.applySolvedTypeVars)(argParam.paramType, typeVarContext, {
8063
+ useNarrowBoundOnly: isFirstPass,
8064
+ });
7999
8065
  }
8000
8066
  // If the expected type is unknown, don't use an expected type. Instead,
8001
8067
  // use default rules for evaluating the expression type.
@@ -9923,8 +9989,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
9923
9989
  });
9924
9990
  // Determine the minimum number of parameters that are required to
9925
9991
  // satisfy the lambda.
9926
- const minLambdaParamCount = node.parameters.filter((param) => param.category === 0 /* Simple */ && param.defaultValue === undefined).length;
9927
- const maxLambdaParamCount = node.parameters.filter((param) => param.category === 0 /* Simple */).length;
9992
+ const minLambdaParamCount = node.parameters.filter((param) => param.category === 0 /* Simple */ && !!param.name && param.defaultValue === undefined).length;
9993
+ const maxLambdaParamCount = node.parameters.filter((param) => param.category === 0 /* Simple */ && !!param.name).length;
9928
9994
  // Remove any expected subtypes that don't satisfy the minimum
9929
9995
  // parameter count requirement.
9930
9996
  expectedFunctionTypes = expectedFunctionTypes.filter((functionType) => {
@@ -13736,7 +13802,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
13736
13802
  nodeToEvaluate = parent;
13737
13803
  continue;
13738
13804
  }
13739
- // The left expression of a call or member access expression is not contextual.
13805
+ // The left expression of a call or member access expression is not generally contextual.
13740
13806
  if (parent.nodeType === 9 /* Call */ || parent.nodeType === 35 /* MemberAccess */) {
13741
13807
  if (nodeToEvaluate === parent.leftExpression) {
13742
13808
  // Handle the special case where the LHS is a call to super().
@@ -13746,6 +13812,11 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
13746
13812
  nodeToEvaluate = parent;
13747
13813
  continue;
13748
13814
  }
13815
+ // Handle the special case where the LHS is a call to a lambda.
13816
+ if (parent.nodeType === 9 /* Call */ && nodeToEvaluate.nodeType === 30 /* Lambda */) {
13817
+ nodeToEvaluate = parent;
13818
+ continue;
13819
+ }
13749
13820
  flags = 2 /* DoNotSpecialize */;
13750
13821
  break;
13751
13822
  }
@@ -18608,6 +18679,12 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
18608
18679
  if (options === null || options === void 0 ? void 0 : options.useTypingUnpack) {
18609
18680
  flags |= 512 /* UseTypingUnpack */;
18610
18681
  }
18682
+ if (options === null || options === void 0 ? void 0 : options.printUnknownWithAny) {
18683
+ flags |= 1 /* PrintUnknownWithAny */;
18684
+ }
18685
+ if (options === null || options === void 0 ? void 0 : options.omitTypeArgumentsIfUnknown) {
18686
+ flags |= 2 /* OmitTypeArgumentsIfUnknown */;
18687
+ }
18611
18688
  return TypePrinter.printType(type, flags, getFunctionEffectiveReturnType);
18612
18689
  }
18613
18690
  // Calls back into the parser to parse the contents of a string literal.