| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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.ir_builder_task; | 5 library dart2js.ir_builder_task; |
| 6 | 6 |
| 7 import '../closure.dart' as closurelib; | 7 import '../closure.dart' as closurelib; |
| 8 import '../closure.dart' hide ClosureScope; | 8 import '../closure.dart' hide ClosureScope; |
| 9 import '../constants/expressions.dart'; | 9 import '../constants/expressions.dart'; |
| 10 import '../dart_types.dart'; | 10 import '../dart_types.dart'; |
| (...skipping 978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 989 ast.Node argument, | 989 ast.Node argument, |
| 990 _) { | 990 _) { |
| 991 return irBuilder.buildNegation( | 991 return irBuilder.buildNegation( |
| 992 translateSuperBinary(function, op.BinaryOperator.NOT_EQ, argument)); | 992 translateSuperBinary(function, op.BinaryOperator.NOT_EQ, argument)); |
| 993 } | 993 } |
| 994 | 994 |
| 995 @override | 995 @override |
| 996 ir.Primitive visitUnary(ast.Send node, | 996 ir.Primitive visitUnary(ast.Send node, |
| 997 op.UnaryOperator operator, ast.Node expression, _) { | 997 op.UnaryOperator operator, ast.Node expression, _) { |
| 998 // TODO(johnniwinther): Clean up the creation of selectors. | 998 // TODO(johnniwinther): Clean up the creation of selectors. |
| 999 Selector selector = new Selector( | 999 Selector selector = operator.selector; |
| 1000 SelectorKind.OPERATOR, | |
| 1001 new PublicName(operator.selectorName), | |
| 1002 CallStructure.NO_ARGS); | |
| 1003 ir.Primitive receiver = translateReceiver(expression); | 1000 ir.Primitive receiver = translateReceiver(expression); |
| 1004 return irBuilder.buildDynamicInvocation(receiver, selector, const []); | 1001 return irBuilder.buildDynamicInvocation(receiver, selector, const []); |
| 1005 } | 1002 } |
| 1006 | 1003 |
| 1007 @override | 1004 @override |
| 1008 ir.Primitive visitSuperUnary( | 1005 ir.Primitive visitSuperUnary( |
| 1009 ast.Send node, | 1006 ast.Send node, |
| 1010 op.UnaryOperator operator, | 1007 op.UnaryOperator operator, |
| 1011 FunctionElement function, | 1008 FunctionElement function, |
| 1012 _) { | 1009 _) { |
| (...skipping 2060 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3073 node.body = replacementFor(node.body); | 3070 node.body = replacementFor(node.body); |
| 3074 } | 3071 } |
| 3075 } | 3072 } |
| 3076 | 3073 |
| 3077 /// Visit a just-deleted subterm and unlink all [Reference]s in it. | 3074 /// Visit a just-deleted subterm and unlink all [Reference]s in it. |
| 3078 class RemovalVisitor extends ir.RecursiveVisitor { | 3075 class RemovalVisitor extends ir.RecursiveVisitor { |
| 3079 processReference(ir.Reference reference) { | 3076 processReference(ir.Reference reference) { |
| 3080 reference.unlink(); | 3077 reference.unlink(); |
| 3081 } | 3078 } |
| 3082 } | 3079 } |
| OLD | NEW |