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

Side by Side Diff: pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart

Issue 737353002: cps-ir: Implement boolean conversion in and use it to implement '&&', '||', and '?:'. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library tree_ir_nodes; 5 library tree_ir_nodes;
6 6
7 import '../constants/expressions.dart'; 7 import '../constants/expressions.dart';
8 import '../constants/values.dart' as values; 8 import '../constants/values.dart' as values;
9 import '../cps_ir/cps_ir_nodes.dart' as cps_ir; 9 import '../cps_ir/cps_ir_nodes.dart' as cps_ir;
10 import '../dart_types.dart' show DartType, GenericType; 10 import '../dart_types.dart' show DartType, GenericType;
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 S visitReturn(Return node); 535 S visitReturn(Return node);
536 S visitBreak(Break node); 536 S visitBreak(Break node);
537 S visitContinue(Continue node); 537 S visitContinue(Continue node);
538 S visitIf(If node); 538 S visitIf(If node);
539 S visitWhileTrue(WhileTrue node); 539 S visitWhileTrue(WhileTrue node);
540 S visitWhileCondition(WhileCondition node); 540 S visitWhileCondition(WhileCondition node);
541 S visitFunctionDeclaration(FunctionDeclaration node); 541 S visitFunctionDeclaration(FunctionDeclaration node);
542 S visitExpressionStatement(ExpressionStatement node); 542 S visitExpressionStatement(ExpressionStatement node);
543 } 543 }
544 544
545 abstract class Visitor<S,E> implements ExpressionVisitor<E>, 545 abstract class Visitor<S, E> implements ExpressionVisitor<E>,
546 StatementVisitor<S> { 546 StatementVisitor<S> {
547 E visitExpression(Expression e) => e.accept(this); 547 E visitExpression(Expression e) => e.accept(this);
548 S visitStatement(Statement s) => s.accept(this); 548 S visitStatement(Statement s) => s.accept(this);
549 } 549 }
550 550
551 class RecursiveVisitor extends Visitor { 551 class RecursiveVisitor extends Visitor {
552 visitFunctionDefinition(FunctionDefinition node) { 552 visitFunctionDefinition(FunctionDefinition node) {
553 visitStatement(node.body); 553 visitStatement(node.body);
554 } 554 }
555 555
556 visitVariable(Variable node) {} 556 visitVariable(Variable node) {}
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 visitFunctionDeclaration(FunctionDeclaration node) { 654 visitFunctionDeclaration(FunctionDeclaration node) {
655 visitFunctionDefinition(node.definition); 655 visitFunctionDefinition(node.definition);
656 visitStatement(node.next); 656 visitStatement(node.next);
657 } 657 }
658 658
659 visitExpressionStatement(ExpressionStatement node) { 659 visitExpressionStatement(ExpressionStatement node) {
660 visitExpression(node.expression); 660 visitExpression(node.expression);
661 visitStatement(node.next); 661 visitStatement(node.next);
662 } 662 }
663 } 663 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698