mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-04 21:53:42 -06:00
Remove nonNullUnknownType (#57665)
This commit is contained in:
parent
76f8de0a0d
commit
21c7f1cbb8
@ -1968,7 +1968,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
var nonInferrableAnyType = createIntrinsicType(TypeFlags.Any, "any", ObjectFlags.ContainsWideningType, "non-inferrable");
|
||||
var intrinsicMarkerType = createIntrinsicType(TypeFlags.Any, "intrinsic");
|
||||
var unknownType = createIntrinsicType(TypeFlags.Unknown, "unknown");
|
||||
var nonNullUnknownType = createIntrinsicType(TypeFlags.Unknown, "unknown", /*objectFlags*/ undefined, "non-null");
|
||||
var undefinedType = createIntrinsicType(TypeFlags.Undefined, "undefined");
|
||||
var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(TypeFlags.Undefined, "undefined", ObjectFlags.ContainsWideningType, "widening");
|
||||
var missingType = createIntrinsicType(TypeFlags.Undefined, "undefined", /*objectFlags*/ undefined, "missing");
|
||||
@ -17293,7 +17292,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
if (includes & TypeFlags.AnyOrUnknown) {
|
||||
return includes & TypeFlags.Any ?
|
||||
includes & TypeFlags.IncludesWildcard ? wildcardType : anyType :
|
||||
includes & TypeFlags.Null || containsType(typeSet, unknownType) ? unknownType : nonNullUnknownType;
|
||||
unknownType;
|
||||
}
|
||||
if (includes & TypeFlags.Undefined) {
|
||||
// If type set contains both undefinedType and missingType, remove missingType
|
||||
@ -27738,8 +27737,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
if (resultType === unreachableNeverType || reference.parent && reference.parent.kind === SyntaxKind.NonNullExpression && !(resultType.flags & TypeFlags.Never) && getTypeWithFacts(resultType, TypeFacts.NEUndefinedOrNull).flags & TypeFlags.Never) {
|
||||
return declaredType;
|
||||
}
|
||||
// The non-null unknown type should never escape control flow analysis.
|
||||
return resultType === nonNullUnknownType ? unknownType : resultType;
|
||||
return resultType;
|
||||
|
||||
function getOrSetCacheKey() {
|
||||
if (isKeySet) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user