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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/dart_backend/logical_rewriter.dart

Issue 614993002: Rename Constant to ConstantValue and ConstExp to ConstantExpression. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 6 years, 2 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 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 logical_rewriter; 5 library logical_rewriter;
6 6
7 import '../constants/values.dart' as values; 7 import '../constants/values.dart' as values;
8 import 'tree_ir_nodes.dart'; 8 import 'tree_ir_nodes.dart';
9 9
10 /// Rewrites logical expressions to be more compact in the Tree IR. 10 /// Rewrites logical expressions to be more compact in the Tree IR.
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 if (e.thenExpression is Not && e.elseExpression is Not && liftNots) { 401 if (e.thenExpression is Not && e.elseExpression is Not && liftNots) {
402 e.thenExpression = (e.thenExpression as Not).operand; 402 e.thenExpression = (e.thenExpression as Not).operand;
403 e.elseExpression = (e.elseExpression as Not).operand; 403 e.elseExpression = (e.elseExpression as Not).operand;
404 return new Not(e); 404 return new Not(e);
405 } 405 }
406 return e; 406 return e;
407 } 407 }
408 if (e is Constant && e.value.isBool) { 408 if (e is Constant && e.value.isBool) {
409 // !true ==> false 409 // !true ==> false
410 if (!polarity) { 410 if (!polarity) {
411 values.BoolConstant value = e.value; 411 values.BoolConstantValue value = e.value;
412 return new Constant.primitive(value.negate()); 412 return new Constant.primitive(value.negate());
413 } 413 }
414 return e; 414 return e;
415 } 415 }
416 e = visitExpression(e); 416 e = visitExpression(e);
417 return polarity ? e : new Not(e); 417 return polarity ? e : new Not(e);
418 } 418 }
419 419
420 bool isTrue(Expression e) { 420 bool isTrue(Expression e) {
421 return e is Constant && e.value.isTrue; 421 return e is Constant && e.value.isTrue;
(...skipping 20 matching lines...) Expand all
442 } 442 }
443 443
444 /// Destructively updates each entry of [l] with the result of visiting it. 444 /// Destructively updates each entry of [l] with the result of visiting it.
445 void _rewriteList(List<Expression> l) { 445 void _rewriteList(List<Expression> l) {
446 for (int i = 0; i < l.length; i++) { 446 for (int i = 0; i < l.length; i++) {
447 l[i] = visitExpression(l[i]); 447 l[i] = visitExpression(l[i]);
448 } 448 }
449 } 449 }
450 } 450 }
451 451
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698