(node *ast.Node)
| 2968 | } |
| 2969 | |
| 2970 | func (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 | |
| 2986 | func (c *Checker) checkTypeReferenceOrImport(node *ast.Node) { |
| 2987 | t := c.getTypeFromTypeNode(node) |
no test coverage detected