Movev grammar checking: typeReference; there are still errors from incomplet grammar migration

This commit is contained in:
Yui T 2014-12-15 10:15:12 -08:00
parent 98cb805f13
commit 5d91394713
2 changed files with 6 additions and 3 deletions

View File

@ -7363,6 +7363,9 @@ module ts {
}
function checkTypeReference(node: TypeReferenceNode) {
// Grammar checking
checkGrammarTypeArguments(node, node.typeArguments);
var type = getTypeFromTypeReferenceNode(node);
if (type !== unknownType && node.typeArguments) {
// Do type argument local checks only if referenced type is successfully resolved
@ -10082,7 +10085,7 @@ module ts {
checkGrammarModifiers(node) || checkGrammarIndexSignatureParameters(node) || checkGrammarForIndexSignatureModifier(node);
}
function checkGrammarForAtLeastOneTypeArgument(node: CallExpression, typeArguments: NodeArray<TypeNode>): boolean {
function checkGrammarForAtLeastOneTypeArgument(node: Node, typeArguments: NodeArray<TypeNode>): boolean {
if (typeArguments && typeArguments.length === 0) {
var sourceFile = getSourceFileOfNode(node);
var start = typeArguments.pos - "<".length;
@ -10091,7 +10094,7 @@ module ts {
}
}
function checkGrammarTypeArguments(node: CallExpression, typeArguments: NodeArray<TypeNode>): boolean {
function checkGrammarTypeArguments(node: Node, typeArguments: NodeArray<TypeNode>): boolean {
return checkGrammarForDisallowedTrailingComma(typeArguments) ||
checkGrammarForAtLeastOneTypeArgument(node, typeArguments);
}

View File

@ -4672,7 +4672,7 @@ module ts {
//case SyntaxKind.SwitchStatement: return checkSwitchStatement(<SwitchStatement>node);
//case SyntaxKind.TaggedTemplateExpression: return checkTaggedTemplateExpression(<TaggedTemplateExpression>node);
//case SyntaxKind.ThrowStatement: return checkThrowStatement(<ThrowStatement>node);
case SyntaxKind.TypeReference: return checkTypeReference(<TypeReferenceNode>node);
//case SyntaxKind.TypeReference: return checkTypeReference(<TypeReferenceNode>node);
case SyntaxKind.VariableDeclaration: return checkVariableDeclaration(<VariableDeclaration>node);
case SyntaxKind.VariableStatement: return checkVariableStatement(<VariableStatement>node);
case SyntaxKind.WithStatement: return checkWithStatement(<WithStatement>node);