(classType)
| 58033 | } |
| 58034 | } |
| 58035 | function getDefaultConstructSignatures(classType) { |
| 58036 | var baseConstructorType = getBaseConstructorTypeOfClass(classType); |
| 58037 | var baseSignatures = getSignaturesOfType(baseConstructorType, 1 /* SignatureKind.Construct */); |
| 58038 | var declaration = ts.getClassLikeDeclarationOfSymbol(classType.symbol); |
| 58039 | var isAbstract = !!declaration && ts.hasSyntacticModifier(declaration, 128 /* ModifierFlags.Abstract */); |
| 58040 | if (baseSignatures.length === 0) { |
| 58041 | return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, isAbstract ? 4 /* SignatureFlags.Abstract */ : 0 /* SignatureFlags.None */)]; |
| 58042 | } |
| 58043 | var baseTypeNode = getBaseTypeNodeOfClass(classType); |
| 58044 | var isJavaScript = ts.isInJSFile(baseTypeNode); |
| 58045 | var typeArguments = typeArgumentsFromTypeReferenceNode(baseTypeNode); |
| 58046 | var typeArgCount = ts.length(typeArguments); |
| 58047 | var result = []; |
| 58048 | for (var _i = 0, baseSignatures_1 = baseSignatures; _i < baseSignatures_1.length; _i++) { |
| 58049 | var baseSig = baseSignatures_1[_i]; |
| 58050 | var minTypeArgumentCount = getMinTypeArgumentCount(baseSig.typeParameters); |
| 58051 | var typeParamCount = ts.length(baseSig.typeParameters); |
| 58052 | if (isJavaScript || typeArgCount >= minTypeArgumentCount && typeArgCount <= typeParamCount) { |
| 58053 | var sig = typeParamCount ? createSignatureInstantiation(baseSig, fillMissingTypeArguments(typeArguments, baseSig.typeParameters, minTypeArgumentCount, isJavaScript)) : cloneSignature(baseSig); |
| 58054 | sig.typeParameters = classType.localTypeParameters; |
| 58055 | sig.resolvedReturnType = classType; |
| 58056 | sig.flags = isAbstract ? sig.flags | 4 /* SignatureFlags.Abstract */ : sig.flags & ~4 /* SignatureFlags.Abstract */; |
| 58057 | result.push(sig); |
| 58058 | } |
| 58059 | } |
| 58060 | return result; |
| 58061 | } |
| 58062 | function findMatchingSignature(signatureList, signature, partialMatch, ignoreThisTypes, ignoreReturnTypes) { |
| 58063 | for (var _i = 0, signatureList_1 = signatureList; _i < signatureList_1.length; _i++) { |
| 58064 | var s = signatureList_1[_i]; |
no test coverage detected