| Index: pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
|
| index ff7b30d7c1d1579daf2c1652d5f22d9c91600958..e438e7a6e738a9359b9656a494477939994e8cd7 100644
|
| --- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
|
| +++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
|
| @@ -552,6 +552,21 @@ class KernelDirectPropertyGet extends DirectPropertyGet
|
| }
|
| }
|
|
|
| +/// Concrete shadow object representing a do loop in kernel form.
|
| +class KernelDoStatement extends DoStatement implements KernelStatement {
|
| + KernelDoStatement(Statement body, Expression condition)
|
| + : super(body, condition);
|
| +
|
| + @override
|
| + void _inferStatement(KernelTypeInferrer inferrer) {
|
| + inferrer.listener.doStatementEnter(this);
|
| + inferrer.inferStatement(body);
|
| + inferrer.inferExpression(
|
| + condition, inferrer.coreTypes.boolClass.rawType, false);
|
| + inferrer.listener.doStatementExit(this);
|
| + }
|
| +}
|
| +
|
| /// Concrete shadow object representing a double literal in kernel form.
|
| class KernelDoubleLiteral extends DoubleLiteral implements KernelExpression {
|
| KernelDoubleLiteral(double value) : super(value);
|
| @@ -2175,6 +2190,21 @@ class KernelVariableGet extends VariableGet implements KernelExpression {
|
| }
|
| }
|
|
|
| +/// Concrete shadow object representing a while loop in kernel form.
|
| +class KernelWhileStatement extends WhileStatement implements KernelStatement {
|
| + KernelWhileStatement(Expression condition, Statement body)
|
| + : super(condition, body);
|
| +
|
| + @override
|
| + void _inferStatement(KernelTypeInferrer inferrer) {
|
| + inferrer.listener.whileStatementEnter(this);
|
| + inferrer.inferExpression(
|
| + condition, inferrer.coreTypes.boolClass.rawType, false);
|
| + inferrer.inferStatement(body);
|
| + inferrer.listener.whileStatementExit(this);
|
| + }
|
| +}
|
| +
|
| /// Concrete shadow object representing a yield statement in kernel form.
|
| class KernelYieldStatement extends YieldStatement implements KernelStatement {
|
| KernelYieldStatement(Expression expression, {bool isYieldStar: false})
|
|
|