@@ -15826,7 +15826,7 @@ namespace ts {
15826
15826
}
15827
15827
const iife = getImmediatelyInvokedFunctionExpression(func);
15828
15828
if (iife && iife.arguments) {
15829
- const args = getEffectiveCallArguments(iife)! ;
15829
+ const args = getEffectiveCallArguments(iife);
15830
15830
const indexOfParameter = func.parameters.indexOf(parameter);
15831
15831
if (parameter.dotDotDotToken) {
15832
15832
return getSpreadArgumentType(args, indexOfParameter, args.length, anyType, /*context*/ undefined);
@@ -15955,7 +15955,7 @@ namespace ts {
15955
15955
15956
15956
// In a typed function call, an argument or substitution expression is contextually typed by the type of the corresponding parameter.
15957
15957
function getContextualTypeForArgument(callTarget: CallLikeExpression, arg: Expression): Type | undefined {
15958
- const args = getEffectiveCallArguments(callTarget)!; // TODO: GH#18217
15958
+ const args = getEffectiveCallArguments(callTarget);
15959
15959
const argIndex = args.indexOf(arg); // -1 for e.g. the expression of a CallExpression, or the tag of a TaggedTemplateExpression
15960
15960
return argIndex === -1 ? undefined : getContextualTypeForArgumentAtIndex(callTarget, argIndex);
15961
15961
}
@@ -18461,7 +18461,7 @@ namespace ts {
18461
18461
}
18462
18462
}
18463
18463
else if (node.kind === SyntaxKind.Decorator) {
18464
- argCount = getDecoratorArgumentCount(<Decorator> node, signature);
18464
+ argCount = getDecoratorArgumentCount(node, signature);
18465
18465
}
18466
18466
else {
18467
18467
if (!node.arguments) {
@@ -18783,7 +18783,7 @@ namespace ts {
18783
18783
return args;
18784
18784
}
18785
18785
if (node.kind === SyntaxKind.Decorator) {
18786
- return getEffectiveDecoratorArguments(<Decorator> node);
18786
+ return getEffectiveDecoratorArguments(node);
18787
18787
}
18788
18788
if (isJsxOpeningLikeElement(node)) {
18789
18789
return node.attributes.properties.length > 0 ? [node.attributes] : emptyArray;
0 commit comments