@@ -1824,6 +1824,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
18241824 getNumberLiteralType,
18251825 getBigIntType: () => bigintType,
18261826 getBigIntLiteralType,
1827+ getUnknownType: () => unknownType,
18271828 createPromiseType,
18281829 createArrayType,
18291830 getElementTypeOfArrayType,
@@ -6267,7 +6268,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
62676268 return true;
62686269 }
62696270 if (requiresAddingUndefined && annotationType) {
6270- annotationType = getOptionalType (annotationType, !isParameter(node));
6271+ annotationType = addOptionality (annotationType, !isParameter(node));
62716272 }
62726273 return !!annotationType && typeNodeIsEquivalentToType(node, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type);
62736274 },
@@ -16683,6 +16684,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1668316684 case "Number":
1668416685 checkNoTypeArguments(node);
1668516686 return numberType;
16687+ case "BigInt":
16688+ checkNoTypeArguments(node);
16689+ return bigintType;
1668616690 case "Boolean":
1668716691 checkNoTypeArguments(node);
1668816692 return booleanType;
@@ -27181,7 +27185,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
2718127185 return target.kind === SyntaxKind.SuperKeyword;
2718227186 case SyntaxKind.NonNullExpression:
2718327187 case SyntaxKind.ParenthesizedExpression:
27184- return isMatchingReference((source as NonNullExpression | ParenthesizedExpression).expression, target);
27188+ case SyntaxKind.SatisfiesExpression:
27189+ return isMatchingReference((source as NonNullExpression | ParenthesizedExpression | SatisfiesExpression).expression, target);
2718527190 case SyntaxKind.PropertyAccessExpression:
2718627191 case SyntaxKind.ElementAccessExpression:
2718727192 const sourcePropertyName = getAccessedPropertyName(source as AccessExpression);
@@ -29533,7 +29538,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
2953329538 return narrowTypeByCallExpression(type, expr as CallExpression, assumeTrue);
2953429539 case SyntaxKind.ParenthesizedExpression:
2953529540 case SyntaxKind.NonNullExpression:
29536- return narrowType(type, (expr as ParenthesizedExpression | NonNullExpression).expression, assumeTrue);
29541+ case SyntaxKind.SatisfiesExpression:
29542+ return narrowType(type, (expr as ParenthesizedExpression | NonNullExpression | SatisfiesExpression).expression, assumeTrue);
2953729543 case SyntaxKind.BinaryExpression:
2953829544 return narrowTypeByBinaryExpression(type, expr as BinaryExpression, assumeTrue);
2953929545 case SyntaxKind.PrefixUnaryExpression:
0 commit comments