Convert ShadowExpressionStatement to ExpressionStatementJudgment.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I3baf1367c40d30f192fce13c1e7dcdadae6328bc
Reviewed-on: https://dart-review.googlesource.com/61081
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
This commit is contained in:
Konstantin Shcheglov
2018-06-20 20:18:55 +00:00
parent 2f664c141f
commit 80a8bfe657
4 changed files with 11 additions and 9 deletions
@@ -3911,14 +3911,14 @@ abstract class BodyBuilder<Expression, Statement, Arguments>
kernel.Statement deprecated_buildCompileTimeErrorStatement(error,
[int charOffset = -1]) {
return new ShadowExpressionStatement(toKernelExpression(
return new ExpressionStatementJudgment(toKernelExpression(
deprecated_buildCompileTimeError(error, charOffset)));
}
kernel.Statement buildCompileTimeErrorStatement(
Message message, int charOffset,
{List<LocatedMessage> context}) {
return new ShadowExpressionStatement(toKernelExpression(
return new ExpressionStatementJudgment(toKernelExpression(
buildCompileTimeError(message, charOffset, noLength,
context: context)));
}
@@ -86,7 +86,7 @@ import 'kernel_shadow_ast.dart'
LabeledStatementJudgment,
LoadLibraryJudgment,
NullJudgment,
ShadowExpressionStatement,
ExpressionStatementJudgment,
ShadowForStatement,
IfJudgment,
ShadowListLiteral,
@@ -378,7 +378,7 @@ class Fangorn extends Forest<Expression, Statement, Token, Arguments> {
}
Statement expressionStatement(Expression expression, Token semicolon) {
return new ShadowExpressionStatement(expression);
return new ExpressionStatementJudgment(expression);
}
@override
@@ -450,7 +450,7 @@ class Fangorn extends Forest<Expression, Statement, Token, Arguments> {
@override
Statement rethrowStatement(Token rethrowKeyword, Token semicolon) {
return new ShadowExpressionStatement(
return new ExpressionStatementJudgment(
new ShadowRethrow()..fileOffset = offsetForToken(rethrowKeyword));
}
@@ -72,7 +72,7 @@ export 'kernel_shadow_ast.dart'
ShadowConstructorInvocation,
ContinueSwitchJudgment,
ShadowDeferredCheck,
ShadowExpressionStatement,
ExpressionStatementJudgment,
ShadowFactoryConstructorInvocation,
ShadowFieldInitializer,
ShadowForInStatement,
@@ -916,16 +916,18 @@ class EmptyStatementJudgment extends EmptyStatement
}
/// Concrete shadow object representing an expression statement in kernel form.
class ShadowExpressionStatement extends ExpressionStatement
class ExpressionStatementJudgment extends ExpressionStatement
implements StatementJudgment {
ShadowExpressionStatement(Expression expression) : super(expression);
ExpressionStatementJudgment(Expression expression) : super(expression);
Expression get judgment => expression;
@override
void infer<Expression, Statement, Initializer, Type>(
ShadowTypeInferrer inferrer,
Factory<Expression, Statement, Initializer, Type> factory) {
inferrer.listener.expressionStatementEnter(fileOffset);
inferrer.inferExpression(factory, expression, const UnknownType(), false);
inferrer.inferExpression(factory, judgment, const UnknownType(), false);
inferrer.listener.expressionStatementExit(fileOffset);
}
}