@@ -3868,15 +3868,15 @@ namespace ts {
38683868 enumType.symbol = symbol;
38693869 if (enumHasLiteralMembers(symbol)) {
38703870 const memberTypeList: Type[] = [];
3871- const memberTypes = new NumberMap< number, EnumLiteralType>() ;
3871+ const memberTypes: { [enumMemberValue: number]: EnumLiteralType } = [] ;
38723872 for (const declaration of enumType.symbol.declarations) {
38733873 if (declaration.kind === SyntaxKind.EnumDeclaration) {
38743874 computeEnumMemberValues(<EnumDeclaration>declaration);
38753875 for (const member of (<EnumDeclaration>declaration).members) {
38763876 const memberSymbol = getSymbolOfNode(member);
38773877 const value = getEnumMemberValue(member);
3878- if (!memberTypes.get( value) ) {
3879- memberTypeList.push(setAndReturn( memberTypes, value, createEnumLiteralType(memberSymbol, enumType, "" + value) ));
3878+ if (!memberTypes[ value] ) {
3879+ memberTypeList.push(memberTypes[ value] = createEnumLiteralType(memberSymbol, enumType, "" + value));
38803880 }
38813881 }
38823882 }
@@ -3897,7 +3897,7 @@ namespace ts {
38973897 if (!links.declaredType) {
38983898 const enumType = <EnumType>getDeclaredTypeOfEnum(getParentOfSymbol(symbol));
38993899 links.declaredType = enumType.flags & TypeFlags.Union ?
3900- enumType.memberTypes.get( getEnumMemberValue(<EnumDeclaration>symbol.valueDeclaration)) :
3900+ enumType.memberTypes[ getEnumMemberValue(<EnumDeclaration>symbol.valueDeclaration)] :
39013901 enumType;
39023902 }
39033903 return links.declaredType;
0 commit comments