Skip to content

Commit 82e09c9

Browse files
Perform checking and resolution of tagged template type arguments.
1 parent 4785acb commit 82e09c9

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

src/compiler/checker.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17749,7 +17749,11 @@ namespace ts {
1774917749

1775017750
let typeArguments: NodeArray<TypeNode>;
1775117751

17752-
if (!isTaggedTemplate && !isDecorator && !isJsxOpeningOrSelfClosingElement) {
17752+
if (isTaggedTemplate) {
17753+
typeArguments = (node as TaggedTemplateExpression).typeArguments;
17754+
forEach(typeArguments, checkSourceElement);
17755+
}
17756+
else if (!isDecorator && !isJsxOpeningOrSelfClosingElement) {
1775317757
typeArguments = (<CallExpression>node).typeArguments;
1775417758

1775517759
// We already perform checking on the type arguments on the class declaration itself.
@@ -17866,7 +17870,7 @@ namespace ts {
1786617870
checkApplicableSignature(node, args, candidateForArgumentError, assignableRelation, /*excludeArgument*/ undefined, /*reportErrors*/ true);
1786717871
}
1786817872
else if (candidateForTypeArgumentError) {
17869-
checkTypeArguments(candidateForTypeArgumentError, (node as CallExpression).typeArguments, /*reportErrors*/ true, fallbackError);
17873+
checkTypeArguments(candidateForTypeArgumentError, (node as CallExpression | TaggedTemplateExpression).typeArguments, /*reportErrors*/ true, fallbackError);
1787017874
}
1787117875
else if (typeArguments && every(signatures, sig => length(sig.typeParameters) !== typeArguments.length)) {
1787217876
diagnostics.add(getTypeArgumentArityError(node, signatures, typeArguments));
@@ -18660,6 +18664,7 @@ namespace ts {
1866018664
}
1866118665

1866218666
function checkTaggedTemplateExpression(node: TaggedTemplateExpression): Type {
18667+
checkGrammarTypeArguments(node, node.typeArguments);
1866318668
if (languageVersion < ScriptTarget.ES2015) {
1866418669
checkExternalEmitHelpers(node, ExternalEmitHelpers.MakeTemplateObject);
1866518670
}

0 commit comments

Comments
 (0)