| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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.js_helpers.impact; | 5 library dart2js.js_helpers.impact; |
| 6 | 6 |
| 7 import '../common/names.dart'; | 7 import '../common/names.dart'; |
| 8 import '../compiler.dart' show Compiler; | 8 import '../compiler.dart' show Compiler; |
| 9 import '../core_types.dart' show CommonElements; | 9 import '../core_types.dart' show CommonElements; |
| 10 import '../dart_types.dart' show InterfaceType; | 10 import '../dart_types.dart' show InterfaceType; |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 | 154 |
| 155 BackendImpact get asCheck { | 155 BackendImpact get asCheck { |
| 156 return _asCheck ??= | 156 return _asCheck ??= |
| 157 new BackendImpact(staticUses: [helpers.throwRuntimeError]); | 157 new BackendImpact(staticUses: [helpers.throwRuntimeError]); |
| 158 } | 158 } |
| 159 | 159 |
| 160 BackendImpact _throwNoSuchMethod; | 160 BackendImpact _throwNoSuchMethod; |
| 161 | 161 |
| 162 BackendImpact get throwNoSuchMethod { | 162 BackendImpact get throwNoSuchMethod { |
| 163 return _throwNoSuchMethod ??= new BackendImpact( | 163 return _throwNoSuchMethod ??= new BackendImpact( |
| 164 instantiatedClasses: compiler.options.useKernel |
| 165 ? [ |
| 166 commonElements.symbolClass, |
| 167 ] |
| 168 : [], |
| 164 staticUses: compiler.options.useKernel | 169 staticUses: compiler.options.useKernel |
| 165 ? [ | 170 ? [ |
| 166 helpers.genericNoSuchMethod, | 171 helpers.genericNoSuchMethod, |
| 167 helpers.unresolvedConstructorError, | 172 helpers.unresolvedConstructorError, |
| 173 commonElements.symbolConstructor.declaration, |
| 168 ] | 174 ] |
| 169 : [ | 175 : [ |
| 170 helpers.throwNoSuchMethod, | 176 helpers.throwNoSuchMethod, |
| 171 ], | 177 ], |
| 172 otherImpacts: [ | 178 otherImpacts: [ |
| 173 // Also register the types of the arguments passed to this method. | 179 // Also register the types of the arguments passed to this method. |
| 174 _needsList( | 180 _needsList( |
| 175 'Needed to encode the arguments for throw NoSuchMethodError.'), | 181 'Needed to encode the arguments for throw NoSuchMethodError.'), |
| 176 _needsString('Needed to encode the name for throw NoSuchMethodError.') | 182 _needsString('Needed to encode the name for throw NoSuchMethodError.') |
| 177 ]); | 183 ]); |
| (...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 715 | 721 |
| 716 BackendImpact _staticClosure; | 722 BackendImpact _staticClosure; |
| 717 | 723 |
| 718 /// Backend impact for performing closurization of a top-level or static | 724 /// Backend impact for performing closurization of a top-level or static |
| 719 /// function. | 725 /// function. |
| 720 BackendImpact get staticClosure { | 726 BackendImpact get staticClosure { |
| 721 return _staticClosure ??= | 727 return _staticClosure ??= |
| 722 new BackendImpact(globalClasses: [helpers.closureClass]); | 728 new BackendImpact(globalClasses: [helpers.closureClass]); |
| 723 } | 729 } |
| 724 } | 730 } |
| OLD | NEW |