Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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_emitter.program_builder; | 5 library dart2js.js_emitter.program_builder; |
| 6 | 6 |
| 7 import 'model.dart'; | 7 import 'model.dart'; |
| 8 import '../common.dart'; | 8 import '../common.dart'; |
| 9 import '../js/js.dart' as js; | 9 import '../js/js.dart' as js; |
| 10 | 10 |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 257 } | 257 } |
| 258 } | 258 } |
| 259 | 259 |
| 260 ClassElement implementation = element.implementation; | 260 ClassElement implementation = element.implementation; |
| 261 if (isInstantiated) { | 261 if (isInstantiated) { |
| 262 implementation.forEachMember(visitMember, includeBackendMembers: true); | 262 implementation.forEachMember(visitMember, includeBackendMembers: true); |
| 263 } | 263 } |
| 264 String name = namer.getNameOfClass(element); | 264 String name = namer.getNameOfClass(element); |
| 265 String holderName = namer.globalObjectFor(element); | 265 String holderName = namer.globalObjectFor(element); |
| 266 Holder holder = _registry.registerHolder(holderName); | 266 Holder holder = _registry.registerHolder(holderName); |
| 267 Class result = new Class(name, holder, methods, fields); | 267 bool onlyForRti = |
| 268 _task.typeTestEmitter.rtiNeededClasses.contains(element); | |
|
sigurdm
2014/11/25 15:01:43
Add a comment on `rtiNeededClasses` that it is the
| |
| 269 Class result = new Class(name, holder, methods, fields, | |
| 270 onlyForRti: onlyForRti); | |
| 268 _classes[element] = result; | 271 _classes[element] = result; |
| 269 return result; | 272 return result; |
| 270 } | 273 } |
| 271 | 274 |
| 272 Method _buildMethod(FunctionElement element, js.Expression code) { | 275 Method _buildMethod(FunctionElement element, js.Expression code) { |
| 273 String name = namer.getNameOfInstanceMember(element); | 276 String name = namer.getNameOfInstanceMember(element); |
| 274 return new Method(name, code); | 277 return new Method(name, code); |
| 275 } | 278 } |
| 276 | 279 |
| 277 // The getInterceptor methods directly access the prototype of classes. | 280 // The getInterceptor methods directly access the prototype of classes. |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 396 for (ConstantValue constantValue in constantValues) { | 399 for (ConstantValue constantValue in constantValues) { |
| 397 assert(!_constants.containsKey(constantValue)); | 400 assert(!_constants.containsKey(constantValue)); |
| 398 String name = namer.constantName(constantValue); | 401 String name = namer.constantName(constantValue); |
| 399 String constantObject = namer.globalObjectForConstant(constantValue); | 402 String constantObject = namer.globalObjectForConstant(constantValue); |
| 400 Holder holder = _registry.registerHolder(constantObject); | 403 Holder holder = _registry.registerHolder(constantObject); |
| 401 Constant constant = new Constant(name, holder, constantValue); | 404 Constant constant = new Constant(name, holder, constantValue); |
| 402 _constants[constantValue] = constant; | 405 _constants[constantValue] = constant; |
| 403 }; | 406 }; |
| 404 } | 407 } |
| 405 } | 408 } |
| OLD | NEW |