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

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

Issue 574683002: Use ConstExp for storing constants. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove ConstExpBuilder. Created 6 years, 3 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 tree_ir_nodes; 5 library tree_ir_nodes;
6 6
7 import '../dart2jslib.dart' as dart2js; 7 import '../dart2jslib.dart' as dart2js;
8 import '../elements/elements.dart'; 8 import '../elements/elements.dart';
9 import '../universe/universe.dart'; 9 import '../universe/universe.dart';
10 import '../cps_ir/cps_ir_nodes.dart' as cps_ir; 10 import '../cps_ir/cps_ir_nodes.dart' as cps_ir;
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 ConcatenateStrings(this.arguments, [this.constant]); 184 ConcatenateStrings(this.arguments, [this.constant]);
185 185
186 accept(ExpressionVisitor visitor) => visitor.visitConcatenateStrings(this); 186 accept(ExpressionVisitor visitor) => visitor.visitConcatenateStrings(this);
187 } 187 }
188 188
189 /** 189 /**
190 * A constant. 190 * A constant.
191 */ 191 */
192 class Constant extends Expression { 192 class Constant extends Expression {
193 final ConstExp expression; 193 final ConstExp expression;
194 final dart2js.Constant value;
195 194
196 Constant(this.expression, this.value); 195 Constant(this.expression);
197 196
198 Constant.primitive(dart2js.PrimitiveConstant primitiveValue) 197 Constant.primitive(dart2js.PrimitiveConstant primitiveValue)
199 : expression = new PrimitiveConstExp(primitiveValue), 198 : expression = new PrimitiveConstExp(primitiveValue);
200 value = primitiveValue;
201 199
202 accept(ExpressionVisitor visitor) => visitor.visitConstant(this); 200 accept(ExpressionVisitor visitor) => visitor.visitConstant(this);
201
202 dart2js.Constant get value => expression.value;
203 } 203 }
204 204
205 class This extends Expression { 205 class This extends Expression {
206 accept(ExpressionVisitor visitor) => visitor.visitThis(this); 206 accept(ExpressionVisitor visitor) => visitor.visitThis(this);
207 } 207 }
208 208
209 class ReifyTypeVar extends Expression { 209 class ReifyTypeVar extends Expression {
210 TypeVariableElement typeVariable; 210 TypeVariableElement typeVariable;
211 211
212 ReifyTypeVar(this.typeVariable); 212 ReifyTypeVar(this.typeVariable);
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 visitFunctionDeclaration(FunctionDeclaration node) { 646 visitFunctionDeclaration(FunctionDeclaration node) {
647 visitFunctionDefinition(node.definition); 647 visitFunctionDefinition(node.definition);
648 visitStatement(node.next); 648 visitStatement(node.next);
649 } 649 }
650 650
651 visitExpressionStatement(ExpressionStatement node) { 651 visitExpressionStatement(ExpressionStatement node) {
652 visitExpression(node.expression); 652 visitExpression(node.expression);
653 visitStatement(node.next); 653 visitStatement(node.next);
654 } 654 }
655 } 655 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698