From 450c32ace01138fa4f28a7d5edd859c778b3f407 Mon Sep 17 00:00:00 2001 From: Andy Date: Tue, 29 Aug 2017 11:33:01 -0700 Subject: [PATCH] Add an ExpandingFlags const enum (#17740) * Add an ExpandingFlags const enum * Reformat --- src/compiler/checker.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 05b84a78d9f..866fda18b03 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8823,7 +8823,13 @@ namespace ts { let targetStack: Type[]; let maybeCount = 0; let depth = 0; - let expandingFlags = 0; + const enum ExpandingFlags { + None = 0, + Source = 1, + Target = 1 << 1, + Both = Source | Target, + } + let expandingFlags = ExpandingFlags.None; let overflow = false; let isIntersectionConstituent = false; @@ -9240,9 +9246,9 @@ namespace ts { targetStack[depth] = target; depth++; const saveExpandingFlags = expandingFlags; - if (!(expandingFlags & 1) && isDeeplyNestedType(source, sourceStack, depth)) expandingFlags |= 1; - if (!(expandingFlags & 2) && isDeeplyNestedType(target, targetStack, depth)) expandingFlags |= 2; - const result = expandingFlags !== 3 ? structuredTypeRelatedTo(source, target, reportErrors) : Ternary.Maybe; + if (!(expandingFlags & ExpandingFlags.Source) && isDeeplyNestedType(source, sourceStack, depth)) expandingFlags |= ExpandingFlags.Source; + if (!(expandingFlags & ExpandingFlags.Target) && isDeeplyNestedType(target, targetStack, depth)) expandingFlags |= ExpandingFlags.Target; + const result = expandingFlags !== ExpandingFlags.Both ? structuredTypeRelatedTo(source, target, reportErrors) : Ternary.Maybe; expandingFlags = saveExpandingFlags; depth--; if (result) {