| 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 library dart2js.js_emitter.full_emitter.class_emitter; | 5 library dart2js.js_emitter.full_emitter.class_emitter; |
| 6 | 6 |
| 7 import '../../common.dart'; | 7 import '../../common.dart'; |
| 8 import '../../common/names.dart' show Names; | 8 import '../../common/names.dart' show Names; |
| 9 import '../../common_elements.dart'; | 9 import '../../common_elements.dart'; |
| 10 import '../../elements/resolution_types.dart' show ResolutionDartType; | 10 import '../../elements/resolution_types.dart' show ResolutionDartType; |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 bool needsSetter = field.needsUncheckedSetter; | 137 bool needsSetter = field.needsUncheckedSetter; |
| 138 | 138 |
| 139 // Ignore needsCheckedSetter - that is handled below. | 139 // Ignore needsCheckedSetter - that is handled below. |
| 140 bool needsAccessor = (needsGetter || needsSetter); | 140 bool needsAccessor = (needsGetter || needsSetter); |
| 141 // We need to output the fields for non-native classes so we can auto- | 141 // We need to output the fields for non-native classes so we can auto- |
| 142 // generate the constructor. For native classes there are no | 142 // generate the constructor. For native classes there are no |
| 143 // constructors, so we don't need the fields unless we are generating | 143 // constructors, so we don't need the fields unless we are generating |
| 144 // accessors at runtime. | 144 // accessors at runtime. |
| 145 bool needsFieldsForConstructor = !emitStatics && !classIsNative; | 145 bool needsFieldsForConstructor = !emitStatics && !classIsNative; |
| 146 if (needsFieldsForConstructor || needsAccessor) { | 146 if (needsFieldsForConstructor || needsAccessor) { |
| 147 var metadata = | 147 dynamic metadata = |
| 148 task.metadataCollector.buildFieldMetadataFunction(fieldElement); | 148 task.metadataCollector.buildFieldMetadataFunction(fieldElement); |
| 149 if (metadata != null) { | 149 if (metadata != null) { |
| 150 hasMetadata = true; | 150 hasMetadata = true; |
| 151 } else { | 151 } else { |
| 152 metadata = new jsAst.LiteralNull(); | 152 metadata = new jsAst.LiteralNull(); |
| 153 } | 153 } |
| 154 fieldMetadata.add(metadata); | 154 fieldMetadata.add(metadata); |
| 155 recordMangledField(fieldElement, accessorName, | 155 recordMangledField(fieldElement, accessorName, |
| 156 namer.privateName(fieldElement.memberName)); | 156 namer.privateName(fieldElement.memberName)); |
| 157 List<jsAst.Literal> fieldNameParts = <jsAst.Literal>[]; | 157 List<jsAst.Literal> fieldNameParts = <jsAst.Literal>[]; |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 454 String reflectionName = emitter.getReflectionSelectorName(selector, name); | 454 String reflectionName = emitter.getReflectionSelectorName(selector, name); |
| 455 if (reflectionName != null) { | 455 if (reflectionName != null) { |
| 456 var reflectable = js( | 456 var reflectable = js( |
| 457 backend.mirrorsData.isMemberAccessibleByReflection(member) | 457 backend.mirrorsData.isMemberAccessibleByReflection(member) |
| 458 ? '1' | 458 ? '1' |
| 459 : '0'); | 459 : '0'); |
| 460 builder.addPropertyByName('+$reflectionName', reflectable); | 460 builder.addPropertyByName('+$reflectionName', reflectable); |
| 461 } | 461 } |
| 462 } | 462 } |
| 463 } | 463 } |
| OLD | NEW |