| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 js_backend.backend.resolution_listener; | 5 library js_backend.backend.resolution_listener; |
| 6 | 6 |
| 7 import '../common/names.dart' show Identifiers, Uris; | 7 import '../common/names.dart' show Identifiers, Uris; |
| 8 import '../common_elements.dart' show CommonElements, ElementEnvironment; | 8 import '../common_elements.dart' show CommonElements, ElementEnvironment; |
| 9 import '../constants/values.dart'; | 9 import '../constants/values.dart'; |
| 10 import '../deferred_load.dart'; | 10 import '../deferred_load.dart'; |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 _backendUsage.processBackendImpact(_impacts.isolateSupport); | 146 _backendUsage.processBackendImpact(_impacts.isolateSupport); |
| 147 _impacts.isolateSupportForResolution | 147 _impacts.isolateSupportForResolution |
| 148 .registerImpact(impactBuilder, _elementEnvironment); | 148 .registerImpact(impactBuilder, _elementEnvironment); |
| 149 _backendUsage.processBackendImpact(_impacts.isolateSupportForResolution); | 149 _backendUsage.processBackendImpact(_impacts.isolateSupportForResolution); |
| 150 return impactBuilder; | 150 return impactBuilder; |
| 151 } | 151 } |
| 152 | 152 |
| 153 /// Computes the [WorldImpact] of calling [mainMethod] as the entry point. | 153 /// Computes the [WorldImpact] of calling [mainMethod] as the entry point. |
| 154 WorldImpact _computeMainImpact(FunctionEntity mainMethod) { | 154 WorldImpact _computeMainImpact(FunctionEntity mainMethod) { |
| 155 WorldImpactBuilderImpl mainImpact = new WorldImpactBuilderImpl(); | 155 WorldImpactBuilderImpl mainImpact = new WorldImpactBuilderImpl(); |
| 156 ParameterStructure parameterStructure = mainMethod.parameterStructure; | 156 CallStructure callStructure = mainMethod.parameterStructure.callStructure; |
| 157 CallStructure callStructure = new CallStructure( | |
| 158 parameterStructure.positionalParameters + | |
| 159 parameterStructure.namedParameters.length, | |
| 160 parameterStructure.namedParameters); | |
| 161 if (callStructure.argumentCount > 0) { | 157 if (callStructure.argumentCount > 0) { |
| 162 _impacts.mainWithArguments | 158 _impacts.mainWithArguments |
| 163 .registerImpact(mainImpact, _elementEnvironment); | 159 .registerImpact(mainImpact, _elementEnvironment); |
| 164 _backendUsage.processBackendImpact(_impacts.mainWithArguments); | 160 _backendUsage.processBackendImpact(_impacts.mainWithArguments); |
| 165 mainImpact.registerStaticUse( | 161 mainImpact.registerStaticUse( |
| 166 new StaticUse.staticInvoke(mainMethod, callStructure)); | 162 new StaticUse.staticInvoke(mainMethod, callStructure)); |
| 167 // If the main method takes arguments, this compilation could be the | 163 // If the main method takes arguments, this compilation could be the |
| 168 // target of Isolate.spawnUri. Strictly speaking, that can happen also if | 164 // target of Isolate.spawnUri. Strictly speaking, that can happen also if |
| 169 // main takes no arguments, but in this case the spawned isolate can't | 165 // main takes no arguments, but in this case the spawned isolate can't |
| 170 // communicate with the spawning isolate. | 166 // communicate with the spawning isolate. |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 } | 499 } |
| 504 _registerBackendImpact( | 500 _registerBackendImpact( |
| 505 impactBuilder, new BackendImpact(globalUses: staticUses)); | 501 impactBuilder, new BackendImpact(globalUses: staticUses)); |
| 506 } | 502 } |
| 507 | 503 |
| 508 @override | 504 @override |
| 509 void logSummary(void log(String message)) { | 505 void logSummary(void log(String message)) { |
| 510 _nativeEnqueuer.logSummary(log); | 506 _nativeEnqueuer.logSummary(log); |
| 511 } | 507 } |
| 512 } | 508 } |
| OLD | NEW |