MCPcopy Create free account
hub / github.com/microsoft/typescript-go / checkTypeReferenceNode

Method checkTypeReferenceNode

internal/checker/checker.go:2970–2984  ·  view source on GitHub ↗
(node *ast.Node)

Source from the content-addressed store, hash-verified

2968}
2969
2970func (c *Checker) checkTypeReferenceNode(node *ast.Node) {
2971 c.checkGrammarTypeArguments(node, node.TypeArgumentList())
2972 if ast.IsTypeReferenceNode(node) && node.Flags&ast.NodeFlagsJSDoc == 0 {
2973 data := node.AsTypeReferenceNode()
2974 if data.TypeArguments != nil && data.TypeName.End() != data.TypeArguments.Pos() {
2975 // If there was a token between the type name and the type arguments, check if it was a DotToken
2976 sourceFile := ast.GetSourceFileOfNode(node)
2977 if scanner.ScanTokenAtPosition(sourceFile, data.TypeName.End()) == ast.KindDotToken {
2978 c.grammarErrorAtPos(node, scanner.SkipTrivia(sourceFile.Text(), data.TypeName.End()), 1, diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)
2979 }
2980 }
2981 }
2982 c.checkSourceElements(node.TypeArguments())
2983 c.checkTypeReferenceOrImport(node)
2984}
2985
2986func (c *Checker) checkTypeReferenceOrImport(node *ast.Node) {
2987 t := c.getTypeFromTypeNode(node)

Callers 3

Calls 14

grammarErrorAtPosMethod · 0.95
checkSourceElementsMethod · 0.95
IsTypeReferenceNodeFunction · 0.92
GetSourceFileOfNodeFunction · 0.92
ScanTokenAtPositionFunction · 0.92
SkipTriviaFunction · 0.92
TypeArgumentListMethod · 0.80
AsTypeReferenceNodeMethod · 0.80
EndMethod · 0.65
PosMethod · 0.65

Tested by

no test coverage detected