Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1184)

Unified Diff: pkg/compiler/lib/src/ssa/switch_continue_analysis.dart

Issue 2648443004: Implement complex switch statement (switch with continue). (Closed)
Patch Set: . Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart ('k') | tests/compiler/dart2js/kernel/switch_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/ssa/switch_continue_analysis.dart
diff --git a/pkg/compiler/lib/src/ssa/switch_continue_analysis.dart b/pkg/compiler/lib/src/ssa/switch_continue_analysis.dart
index fd67da6bb974d206530d19c45159a956164b5128..ea06f8b36c637d6e13ee71459c98a11ed132e6a1 100644
--- a/pkg/compiler/lib/src/ssa/switch_continue_analysis.dart
+++ b/pkg/compiler/lib/src/ssa/switch_continue_analysis.dart
@@ -4,7 +4,6 @@ import 'package:kernel/ast.dart' as ir;
/// continue statements in the body of any switch cases (having continue
/// statements results in a more complex generated code).
class SwitchContinueAnalysis extends ir.Visitor<bool> {
-
SwitchContinueAnalysis._();
static bool containsContinue(ir.Statement switchCaseBody) {
@@ -86,8 +85,7 @@ class SwitchContinueAnalysis extends ir.Visitor<bool> {
}
bool visitTryFinally(ir.TryFinally tryFinally) {
- return tryFinally.body.accept(this) &&
- tryFinally.finalizer.accept(this);
+ return tryFinally.body.accept(this) && tryFinally.finalizer.accept(this);
}
bool visitFunctionDeclaration(ir.FunctionDeclaration declaration) {
@@ -99,10 +97,14 @@ class SwitchContinueAnalysis extends ir.Visitor<bool> {
}
bool defaultStatement(ir.Statement node) {
- if (node is ir.ExpressionStatement || node is ir.EmptyStatement ||
- node is ir.InvalidStatement || node is ir.BreakStatement ||
- node is ir.ReturnStatement || node is ir.AssertStatement ||
- node is ir.YieldStatement || node is ir.VariableDeclaration) {
+ if (node is ir.ExpressionStatement ||
+ node is ir.EmptyStatement ||
+ node is ir.InvalidStatement ||
+ node is ir.BreakStatement ||
+ node is ir.ReturnStatement ||
+ node is ir.AssertStatement ||
+ node is ir.YieldStatement ||
+ node is ir.VariableDeclaration) {
return false;
}
throw 'Statement type ${node.runtimeType} not handled in '
« no previous file with comments | « pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart ('k') | tests/compiler/dart2js/kernel/switch_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698