(symbol, resolutionKind)
| 57814 | return links.resolvedSymbol; |
| 57815 | } |
| 57816 | function getResolvedMembersOrExportsOfSymbol(symbol, resolutionKind) { |
| 57817 | var links = getSymbolLinks(symbol); |
| 57818 | if (!links[resolutionKind]) { |
| 57819 | var isStatic_1 = resolutionKind === "resolvedExports" /* MembersOrExportsResolutionKind.resolvedExports */; |
| 57820 | var earlySymbols = !isStatic_1 ? symbol.members : |
| 57821 | symbol.flags & 1536 /* SymbolFlags.Module */ ? getExportsOfModuleWorker(symbol) : |
| 57822 | symbol.exports; |
| 57823 | // In the event we recursively resolve the members/exports of the symbol, we |
| 57824 | // set the initial value of resolvedMembers/resolvedExports to the early-bound |
| 57825 | // members/exports of the symbol. |
| 57826 | links[resolutionKind] = earlySymbols || emptySymbols; |
| 57827 | // fill in any as-yet-unresolved late-bound members. |
| 57828 | var lateSymbols = ts.createSymbolTable(); |
| 57829 | for (var _i = 0, _a = symbol.declarations || ts.emptyArray; _i < _a.length; _i++) { |
| 57830 | var decl = _a[_i]; |
| 57831 | var members = ts.getMembersOfDeclaration(decl); |
| 57832 | if (members) { |
| 57833 | for (var _b = 0, members_5 = members; _b < members_5.length; _b++) { |
| 57834 | var member = members_5[_b]; |
| 57835 | if (isStatic_1 === ts.hasStaticModifier(member) && hasLateBindableName(member)) { |
| 57836 | lateBindMember(symbol, earlySymbols, lateSymbols, member); |
| 57837 | } |
| 57838 | } |
| 57839 | } |
| 57840 | } |
| 57841 | var assignments = symbol.assignmentDeclarationMembers; |
| 57842 | if (assignments) { |
| 57843 | var decls = ts.arrayFrom(assignments.values()); |
| 57844 | for (var _c = 0, decls_1 = decls; _c < decls_1.length; _c++) { |
| 57845 | var member = decls_1[_c]; |
| 57846 | var assignmentKind = ts.getAssignmentDeclarationKind(member); |
| 57847 | var isInstanceMember = assignmentKind === 3 /* AssignmentDeclarationKind.PrototypeProperty */ |
| 57848 | || ts.isBinaryExpression(member) && isPossiblyAliasedThisProperty(member, assignmentKind) |
| 57849 | || assignmentKind === 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */ |
| 57850 | || assignmentKind === 6 /* AssignmentDeclarationKind.Prototype */; // A straight `Prototype` assignment probably can never have a computed name |
| 57851 | if (isStatic_1 === !isInstanceMember && hasLateBindableName(member)) { |
| 57852 | lateBindMember(symbol, earlySymbols, lateSymbols, member); |
| 57853 | } |
| 57854 | } |
| 57855 | } |
| 57856 | links[resolutionKind] = combineSymbolTables(earlySymbols, lateSymbols) || emptySymbols; |
| 57857 | } |
| 57858 | return links[resolutionKind]; |
| 57859 | } |
| 57860 | /** |
| 57861 | * Gets a SymbolTable containing both the early- and late-bound members of a symbol. |
| 57862 | * |
no test coverage detected