| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import 'dart:math' as math; | 5 import 'dart:math' as math; |
| 6 import 'dart:collection' show Queue; | 6 import 'dart:collection' show Queue; |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem; | 8 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem; |
| 9 import '../common/tasks.dart' show CompilerTask; | 9 import '../common/tasks.dart' show CompilerTask; |
| 10 import '../constants/constant_system.dart'; | 10 import '../constants/constant_system.dart'; |
| (...skipping 1743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1754 .withSourceInformation(node.sourceInformation)); | 1754 .withSourceInformation(node.sourceInformation)); |
| 1755 _registry.registerStaticUse(new StaticUse.constructorBodyInvoke( | 1755 _registry.registerStaticUse(new StaticUse.constructorBodyInvoke( |
| 1756 node.element, new CallStructure.unnamed(arguments.length))); | 1756 node.element, new CallStructure.unnamed(arguments.length))); |
| 1757 } | 1757 } |
| 1758 | 1758 |
| 1759 void visitOneShotInterceptor(HOneShotInterceptor node) { | 1759 void visitOneShotInterceptor(HOneShotInterceptor node) { |
| 1760 List<js.Expression> arguments = visitArguments(node.inputs); | 1760 List<js.Expression> arguments = visitArguments(node.inputs); |
| 1761 var isolate = new js.VariableUse( | 1761 var isolate = new js.VariableUse( |
| 1762 _namer.globalObjectForLibrary(_commonElements.interceptorsLibrary)); | 1762 _namer.globalObjectForLibrary(_commonElements.interceptorsLibrary)); |
| 1763 Selector selector = node.selector; | 1763 Selector selector = node.selector; |
| 1764 js.Name methodName = | 1764 js.Name methodName = _oneShotInterceptorData.registerOneShotInterceptor( |
| 1765 _oneShotInterceptorData.registerOneShotInterceptor(selector, _namer); | 1765 selector, _namer, _closedWorld); |
| 1766 push(js | 1766 push(js |
| 1767 .propertyCall(isolate, methodName, arguments) | 1767 .propertyCall(isolate, methodName, arguments) |
| 1768 .withSourceInformation(node.sourceInformation)); | 1768 .withSourceInformation(node.sourceInformation)); |
| 1769 if (selector.isGetter) { | 1769 if (selector.isGetter) { |
| 1770 registerGetter(node); | 1770 registerGetter(node); |
| 1771 } else if (selector.isSetter) { | 1771 } else if (selector.isSetter) { |
| 1772 registerSetter(node); | 1772 registerSetter(node); |
| 1773 } else { | 1773 } else { |
| 1774 registerMethodInvoke(node); | 1774 registerMethodInvoke(node); |
| 1775 } | 1775 } |
| (...skipping 1265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3041 return _closedWorld.anyStrictSubclassOf(cls, (ClassEntity subclass) { | 3041 return _closedWorld.anyStrictSubclassOf(cls, (ClassEntity subclass) { |
| 3042 return !_rtiSubstitutions.isTrivialSubstitution(subclass, cls); | 3042 return !_rtiSubstitutions.isTrivialSubstitution(subclass, cls); |
| 3043 }); | 3043 }); |
| 3044 } | 3044 } |
| 3045 | 3045 |
| 3046 @override | 3046 @override |
| 3047 void visitRef(HRef node) { | 3047 void visitRef(HRef node) { |
| 3048 visit(node.value); | 3048 visit(node.value); |
| 3049 } | 3049 } |
| 3050 } | 3050 } |
| OLD | NEW |