Move grammar checking: yieldExpression; there are still error from incomplete grammar migration.

This commit is contained in:
Yui T 2014-12-15 10:47:42 -08:00
parent 896f172d72
commit aa59b4d3f1
2 changed files with 14 additions and 1 deletions

View File

@ -6936,6 +6936,16 @@ module ts {
}
}
function checkYieldExpression(node: YieldExpression): void {
// Grammar checking
if (!(node.parserContextFlags & ParserContextFlags.Yield)) {
grammarErrorOnFirstToken(node, Diagnostics.yield_expression_must_be_contained_within_a_generator_declaration);
}
else {
grammarErrorOnFirstToken(node, Diagnostics.yield_expressions_are_not_currently_supported);
}
}
function checkConditionalExpression(node: ConditionalExpression, contextualMapper?: TypeMapper): Type {
checkExpression(node.condition);
var type1 = checkExpression(node.whenTrue, contextualMapper);
@ -7103,6 +7113,9 @@ module ts {
return checkConditionalExpression(<ConditionalExpression>node, contextualMapper);
case SyntaxKind.OmittedExpression:
return undefinedType;
case SyntaxKind.YieldExpression:
checkYieldExpression(<YieldExpression>node);
return unknownType;
}
return unknownType;
}

View File

@ -4676,7 +4676,7 @@ module ts {
case SyntaxKind.VariableDeclaration: return checkVariableDeclaration(<VariableDeclaration>node);
case SyntaxKind.VariableStatement: return checkVariableStatement(<VariableStatement>node);
//case SyntaxKind.WithStatement: return checkWithStatement(<WithStatement>node);
case SyntaxKind.YieldExpression: return checkYieldExpression(<YieldExpression>node);
//case SyntaxKind.YieldExpression: return checkYieldExpression(<YieldExpression>node);
}
}