(declaration)
| 156953 | return combineTypes(inferTypesFromReferencesSingle(references)); |
| 156954 | } |
| 156955 | function parameters(declaration) { |
| 156956 | if (references.length === 0 || !declaration.parameters) { |
| 156957 | return undefined; |
| 156958 | } |
| 156959 | var usage = createEmptyUsage(); |
| 156960 | for (var _i = 0, references_3 = references; _i < references_3.length; _i++) { |
| 156961 | var reference = references_3[_i]; |
| 156962 | cancellationToken.throwIfCancellationRequested(); |
| 156963 | calculateUsageOfNode(reference, usage); |
| 156964 | } |
| 156965 | var calls = __spreadArray(__spreadArray([], usage.constructs || [], true), usage.calls || [], true); |
| 156966 | return declaration.parameters.map(function (parameter, parameterIndex) { |
| 156967 | var types = []; |
| 156968 | var isRest = ts.isRestParameter(parameter); |
| 156969 | var isOptional = false; |
| 156970 | for (var _i = 0, calls_1 = calls; _i < calls_1.length; _i++) { |
| 156971 | var call = calls_1[_i]; |
| 156972 | if (call.argumentTypes.length <= parameterIndex) { |
| 156973 | isOptional = ts.isInJSFile(declaration); |
| 156974 | types.push(checker.getUndefinedType()); |
| 156975 | } |
| 156976 | else if (isRest) { |
| 156977 | for (var i = parameterIndex; i < call.argumentTypes.length; i++) { |
| 156978 | types.push(checker.getBaseTypeOfLiteralType(call.argumentTypes[i])); |
| 156979 | } |
| 156980 | } |
| 156981 | else { |
| 156982 | types.push(checker.getBaseTypeOfLiteralType(call.argumentTypes[parameterIndex])); |
| 156983 | } |
| 156984 | } |
| 156985 | if (ts.isIdentifier(parameter.name)) { |
| 156986 | var inferred = inferTypesFromReferencesSingle(getReferences(parameter.name, program, cancellationToken)); |
| 156987 | types.push.apply(types, (isRest ? ts.mapDefined(inferred, checker.getElementTypeOfArrayType) : inferred)); |
| 156988 | } |
| 156989 | var type = combineTypes(types); |
| 156990 | return { |
| 156991 | type: isRest ? checker.createArrayType(type) : type, |
| 156992 | isOptional: isOptional && !isRest, |
| 156993 | declaration: parameter |
| 156994 | }; |
| 156995 | }); |
| 156996 | } |
| 156997 | function thisParameter() { |
| 156998 | var usage = createEmptyUsage(); |
| 156999 | for (var _i = 0, references_4 = references; _i < references_4.length; _i++) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…