(kind, input, baseType, outputKind)
| 55186 | return serializePropertySymbolForInterfaceWorker(p, /*isStatic*/ false, baseType); |
| 55187 | } |
| 55188 | function serializeSignatures(kind, input, baseType, outputKind) { |
| 55189 | var signatures = getSignaturesOfType(input, kind); |
| 55190 | if (kind === 1 /* SignatureKind.Construct */) { |
| 55191 | if (!baseType && ts.every(signatures, function (s) { return ts.length(s.parameters) === 0; })) { |
| 55192 | return []; // No base type, every constructor is empty - elide the extraneous `constructor()` |
| 55193 | } |
| 55194 | if (baseType) { |
| 55195 | // If there is a base type, if every signature in the class is identical to a signature in the baseType, elide all the declarations |
| 55196 | var baseSigs = getSignaturesOfType(baseType, 1 /* SignatureKind.Construct */); |
| 55197 | if (!ts.length(baseSigs) && ts.every(signatures, function (s) { return ts.length(s.parameters) === 0; })) { |
| 55198 | return []; // Base had no explicit signatures, if all our signatures are also implicit, return an empty list |
| 55199 | } |
| 55200 | if (baseSigs.length === signatures.length) { |
| 55201 | var failed = false; |
| 55202 | for (var i = 0; i < baseSigs.length; i++) { |
| 55203 | if (!compareSignaturesIdentical(signatures[i], baseSigs[i], /*partialMatch*/ false, /*ignoreThisTypes*/ false, /*ignoreReturnTypes*/ true, compareTypesIdentical)) { |
| 55204 | failed = true; |
| 55205 | break; |
| 55206 | } |
| 55207 | } |
| 55208 | if (!failed) { |
| 55209 | return []; // Every signature was identical - elide constructor list as it is inherited |
| 55210 | } |
| 55211 | } |
| 55212 | } |
| 55213 | var privateProtected = 0; |
| 55214 | for (var _i = 0, signatures_4 = signatures; _i < signatures_4.length; _i++) { |
| 55215 | var s = signatures_4[_i]; |
| 55216 | if (s.declaration) { |
| 55217 | privateProtected |= ts.getSelectedEffectiveModifierFlags(s.declaration, 8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */); |
| 55218 | } |
| 55219 | } |
| 55220 | if (privateProtected) { |
| 55221 | return [ts.setTextRange(ts.factory.createConstructorDeclaration( |
| 55222 | /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(privateProtected), |
| 55223 | /*parameters*/ [], |
| 55224 | /*body*/ undefined), signatures[0].declaration)]; |
| 55225 | } |
| 55226 | } |
| 55227 | var results = []; |
| 55228 | for (var _a = 0, signatures_5 = signatures; _a < signatures_5.length; _a++) { |
| 55229 | var sig = signatures_5[_a]; |
| 55230 | // Each overload becomes a separate constructor declaration, in order |
| 55231 | var decl = signatureToSignatureDeclarationHelper(sig, outputKind, context); |
| 55232 | results.push(ts.setTextRange(decl, sig.declaration)); |
| 55233 | } |
| 55234 | return results; |
| 55235 | } |
| 55236 | function serializeIndexSignatures(input, baseType) { |
| 55237 | var results = []; |
| 55238 | for (var _i = 0, _a = getIndexInfosOfType(input); _i < _a.length; _i++) { |
no test coverage detected