Skip to content

Commit ba10a0d

Browse files
committedSep 15, 2022
Removing duplicated code
1 parent cd312d3 commit ba10a0d

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed
 

‎src/compiler/checker.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -15589,10 +15589,15 @@ m2: ${(this.mapper2 as unknown as DebugTypeMapper).__debugToString().split("\n")
1558915589
return accessFlags & AccessFlags.IncludeUndefined ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type;
1559015590
}
1559115591
errorIfWritingToReadonlyIndex(indexInfo);
15592-
if (accessFlags & AccessFlags.IncludeUndefined) {
15593-
if (objectType.symbol && objectType.symbol.flags & (SymbolFlags.RegularEnum | SymbolFlags.ConstEnum) && (indexType.symbol && indexType.flags & TypeFlags.EnumLiteral && getParentOfSymbol(indexType.symbol) === objectType.symbol)) {
15594-
return indexInfo.type;
15595-
}
15592+
// When accessing an enum object with its own type,
15593+
// e.g. E[E.A] for enum E { A }, undefined shouldn't
15594+
// be included in the result type
15595+
if ((accessFlags & AccessFlags.IncludeUndefined) &&
15596+
!(objectType.symbol &&
15597+
objectType.symbol.flags & (SymbolFlags.RegularEnum | SymbolFlags.ConstEnum) &&
15598+
(indexType.symbol &&
15599+
indexType.flags & TypeFlags.EnumLiteral &&
15600+
getParentOfSymbol(indexType.symbol) === objectType.symbol))) {
1559615601
return getUnionType([indexInfo.type, undefinedType]);
1559715602
}
1559815603
return indexInfo.type;

0 commit comments

Comments
 (0)
Please sign in to comment.