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 import '../common_elements.dart'; | 5 import '../common_elements.dart'; |
6 import '../constants/constant_system.dart'; | 6 import '../constants/constant_system.dart'; |
7 import '../constants/values.dart'; | 7 import '../constants/values.dart'; |
8 import '../elements/entities.dart'; | 8 import '../elements/entities.dart'; |
9 import '../elements/types.dart'; | 9 import '../elements/types.dart'; |
10 import '../universe/call_structure.dart'; | 10 import '../universe/call_structure.dart'; |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 Iterable<ConstructorEntity> escapingConstructors = | 198 Iterable<ConstructorEntity> escapingConstructors = |
199 computeEscapingConstructors(cls); | 199 computeEscapingConstructors(cls); |
200 for (ConstructorEntity constructor in escapingConstructors) { | 200 for (ConstructorEntity constructor in escapingConstructors) { |
201 impactBuilder.registerStaticUse(new StaticUse.constructorInvoke( | 201 impactBuilder.registerStaticUse(new StaticUse.constructorInvoke( |
202 constructor, CallStructure.NO_ARGS)); | 202 constructor, CallStructure.NO_ARGS)); |
203 } | 203 } |
204 if (forResolution) { | 204 if (forResolution) { |
205 escapingConstructors | 205 escapingConstructors |
206 .forEach(_backendUsageBuilder.registerGlobalFunctionDependency); | 206 .forEach(_backendUsageBuilder.registerGlobalFunctionDependency); |
207 } | 207 } |
208 // Force the generaton of the type constant that is the key to an entry | 208 // Force the generation of the type constant that is the key to an entry |
209 // in the generated table. | 209 // in the generated table. |
210 ConstantValue constant = _makeTypeConstant(cls); | 210 ConstantValue constant = _makeTypeConstant(cls); |
211 impactBuilder | 211 impactBuilder |
212 .registerConstantUse(new ConstantUse.customElements(constant)); | 212 .registerConstantUse(new ConstantUse.customElements(constant)); |
213 } | 213 } |
214 } | 214 } |
215 activeClasses.addAll(newActiveClasses); | 215 activeClasses.addAll(newActiveClasses); |
216 instantiatedClasses.removeAll(newActiveClasses); | 216 instantiatedClasses.removeAll(newActiveClasses); |
217 return impactBuilder.flush(); | 217 return impactBuilder.flush(); |
218 } | 218 } |
(...skipping 18 matching lines...) Expand all Loading... |
237 _elementEnvironment.getFunctionType(constructor); | 237 _elementEnvironment.getFunctionType(constructor); |
238 // Ignore constructors that cannot be called with zero arguments. | 238 // Ignore constructors that cannot be called with zero arguments. |
239 if (constructor.parameterStructure.requiredParameters == 0) { | 239 if (constructor.parameterStructure.requiredParameters == 0) { |
240 result.add(constructor); | 240 result.add(constructor); |
241 } | 241 } |
242 } | 242 } |
243 }); | 243 }); |
244 return result; | 244 return result; |
245 } | 245 } |
246 } | 246 } |
OLD | NEW |