| OLD | NEW |
| 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 dart2js.constants.expressions; | 5 library dart2js.constants.expressions; |
| 6 | 6 |
| 7 import '../constants/constant_system.dart'; | 7 import '../constants/constant_system.dart'; |
| 8 import '../core_types.dart'; | 8 import '../core_types.dart'; |
| 9 import '../dart2jslib.dart' show assertDebugMode, Compiler; | 9 import '../dart2jslib.dart' show assertDebugMode, Compiler; |
| 10 import '../dart_types.dart'; | 10 import '../dart_types.dart'; |
| (...skipping 1513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1524 R visitIntFromEnvironment(IntFromEnvironmentConstantExpression exp, | 1524 R visitIntFromEnvironment(IntFromEnvironmentConstantExpression exp, |
| 1525 A context); | 1525 A context); |
| 1526 R visitStringFromEnvironment(StringFromEnvironmentConstantExpression exp, | 1526 R visitStringFromEnvironment(StringFromEnvironmentConstantExpression exp, |
| 1527 A context); | 1527 A context); |
| 1528 R visitDeferred(DeferredConstantExpression exp, A context); | 1528 R visitDeferred(DeferredConstantExpression exp, A context); |
| 1529 | 1529 |
| 1530 R visitPositional(PositionalArgumentReference exp, A context); | 1530 R visitPositional(PositionalArgumentReference exp, A context); |
| 1531 R visitNamed(NamedArgumentReference exp, A context); | 1531 R visitNamed(NamedArgumentReference exp, A context); |
| 1532 } | 1532 } |
| 1533 | 1533 |
| 1534 /// Represents the declaration of a constant [element] with value [expression]. |
| 1535 // TODO(johnniwinther): Where does this class belong? |
| 1536 class ConstDeclaration { |
| 1537 final VariableElement element; |
| 1538 final ConstantExpression expression; |
| 1539 |
| 1540 ConstDeclaration(this.element, this.expression); |
| 1541 } |
| 1542 |
| 1534 class ConstExpPrinter extends ConstantExpressionVisitor { | 1543 class ConstExpPrinter extends ConstantExpressionVisitor { |
| 1535 final StringBuffer sb = new StringBuffer(); | 1544 final StringBuffer sb = new StringBuffer(); |
| 1536 | 1545 |
| 1537 void write(ConstantExpression parent, | 1546 void write(ConstantExpression parent, |
| 1538 ConstantExpression child, | 1547 ConstantExpression child, |
| 1539 {bool leftAssociative: true}) { | 1548 {bool leftAssociative: true}) { |
| 1540 if (child.precedence < parent.precedence || | 1549 if (child.precedence < parent.precedence || |
| 1541 !leftAssociative && child.precedence == parent.precedence) { | 1550 !leftAssociative && child.precedence == parent.precedence) { |
| 1542 sb.write('('); | 1551 sb.write('('); |
| 1543 child.accept(this); | 1552 child.accept(this); |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1795 visit(exp.name); | 1804 visit(exp.name); |
| 1796 if (exp.defaultValue != null) { | 1805 if (exp.defaultValue != null) { |
| 1797 sb.write(', defaultValue: '); | 1806 sb.write(', defaultValue: '); |
| 1798 visit(exp.defaultValue); | 1807 visit(exp.defaultValue); |
| 1799 } | 1808 } |
| 1800 sb.write(')'); | 1809 sb.write(')'); |
| 1801 } | 1810 } |
| 1802 | 1811 |
| 1803 String toString() => sb.toString(); | 1812 String toString() => sb.toString(); |
| 1804 } | 1813 } |
| OLD | NEW |