(symbol)
| 57474 | return type.flags & 1024 /* TypeFlags.EnumLiteral */ && !(type.flags & 1048576 /* TypeFlags.Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; |
| 57475 | } |
| 57476 | function getDeclaredTypeOfEnum(symbol) { |
| 57477 | var links = getSymbolLinks(symbol); |
| 57478 | if (links.declaredType) { |
| 57479 | return links.declaredType; |
| 57480 | } |
| 57481 | if (getEnumKind(symbol) === 1 /* EnumKind.Literal */) { |
| 57482 | enumCount++; |
| 57483 | var memberTypeList = []; |
| 57484 | if (symbol.declarations) { |
| 57485 | for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { |
| 57486 | var declaration = _a[_i]; |
| 57487 | if (declaration.kind === 260 /* SyntaxKind.EnumDeclaration */) { |
| 57488 | for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { |
| 57489 | var member = _c[_b]; |
| 57490 | var value = getEnumMemberValue(member); |
| 57491 | var memberType = getFreshTypeOfLiteralType(getEnumLiteralType(value !== undefined ? value : 0, enumCount, getSymbolOfNode(member))); |
| 57492 | getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; |
| 57493 | memberTypeList.push(getRegularTypeOfLiteralType(memberType)); |
| 57494 | } |
| 57495 | } |
| 57496 | } |
| 57497 | } |
| 57498 | if (memberTypeList.length) { |
| 57499 | var enumType_1 = getUnionType(memberTypeList, 1 /* UnionReduction.Literal */, symbol, /*aliasTypeArguments*/ undefined); |
| 57500 | if (enumType_1.flags & 1048576 /* TypeFlags.Union */) { |
| 57501 | enumType_1.flags |= 1024 /* TypeFlags.EnumLiteral */; |
| 57502 | enumType_1.symbol = symbol; |
| 57503 | } |
| 57504 | return links.declaredType = enumType_1; |
| 57505 | } |
| 57506 | } |
| 57507 | var enumType = createType(32 /* TypeFlags.Enum */); |
| 57508 | enumType.symbol = symbol; |
| 57509 | return links.declaredType = enumType; |
| 57510 | } |
| 57511 | function getDeclaredTypeOfEnumMember(symbol) { |
| 57512 | var links = getSymbolLinks(symbol); |
| 57513 | if (!links.declaredType) { |
no test coverage detected
searching dependent graphs…