| 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 backend_ast_emitter; | 5 library backend_ast_emitter; |
| 6 | 6 |
| 7 import '../tree_ir/tree_ir_nodes.dart' as tree; | 7 import '../tree_ir/tree_ir_nodes.dart' as tree; |
| 8 import 'backend_ast_nodes.dart'; | 8 import 'backend_ast_nodes.dart'; |
| 9 import '../constants/expressions.dart'; | 9 import '../constants/expressions.dart'; |
| 10 import '../constants/values.dart'; | 10 import '../constants/values.dart'; |
| (...skipping 1261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1272 } else { | 1272 } else { |
| 1273 return exp.falseExp.accept(this); | 1273 return exp.falseExp.accept(this); |
| 1274 } | 1274 } |
| 1275 } | 1275 } |
| 1276 | 1276 |
| 1277 @override | 1277 @override |
| 1278 Expression visitUnary(UnaryConstantExpression exp, | 1278 Expression visitUnary(UnaryConstantExpression exp, |
| 1279 BuilderContext<Statement> context) { | 1279 BuilderContext<Statement> context) { |
| 1280 return handlePrimitiveConstant(exp.value); | 1280 return handlePrimitiveConstant(exp.value); |
| 1281 } | 1281 } |
| 1282 |
| 1283 @override |
| 1284 Expression visitDeferred(DeferredConstantExpression exp, |
| 1285 BuilderContext<Statement> context) { |
| 1286 return exp.expression.accept(this); |
| 1287 } |
| 1282 } | 1288 } |
| 1283 | 1289 |
| 1284 /// Moves function parameters into a separate variable if one of its uses is | 1290 /// Moves function parameters into a separate variable if one of its uses is |
| 1285 /// shadowed by an inner function parameter. | 1291 /// shadowed by an inner function parameter. |
| 1286 /// This artifact is necessary because function parameters cannot be renamed. | 1292 /// This artifact is necessary because function parameters cannot be renamed. |
| 1287 class UnshadowParameters extends tree.RecursiveVisitor { | 1293 class UnshadowParameters extends tree.RecursiveVisitor { |
| 1288 | 1294 |
| 1289 /// Maps parameter names to their bindings. | 1295 /// Maps parameter names to their bindings. |
| 1290 Map<String, tree.Variable> environment = <String, tree.Variable>{}; | 1296 Map<String, tree.Variable> environment = <String, tree.Variable>{}; |
| 1291 | 1297 |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1359 : super(name, ElementKind.VARIABLE, enclosingElement, variables, null); | 1365 : super(name, ElementKind.VARIABLE, enclosingElement, variables, null); |
| 1360 | 1366 |
| 1361 ExecutableElement get executableContext => enclosingElement; | 1367 ExecutableElement get executableContext => enclosingElement; |
| 1362 | 1368 |
| 1363 ExecutableElement get memberContext => executableContext.memberContext; | 1369 ExecutableElement get memberContext => executableContext.memberContext; |
| 1364 | 1370 |
| 1365 bool get isLocal => true; | 1371 bool get isLocal => true; |
| 1366 | 1372 |
| 1367 LibraryElement get implementationLibrary => enclosingElement.library; | 1373 LibraryElement get implementationLibrary => enclosingElement.library; |
| 1368 } | 1374 } |
| OLD | NEW |