| 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.container_builder; | 5 library dart2js.js_emitter.full_emitter.container_builder; |
| 6 | 6 |
| 7 import '../../constants/values.dart'; | 7 import '../../constants/values.dart'; |
| 8 import '../../elements/elements.dart' | 8 import '../../elements/elements.dart' |
| 9 show Element, Elements, MetadataAnnotation, MethodElement; | 9 show Element, MetadataAnnotation, MethodElement; |
| 10 import '../../elements/entities.dart'; | 10 import '../../elements/entities.dart'; |
| 11 import '../../elements/entity_utils.dart' as utils; |
| 11 import '../../elements/names.dart'; | 12 import '../../elements/names.dart'; |
| 12 import '../../js/js.dart' as jsAst; | 13 import '../../js/js.dart' as jsAst; |
| 13 import '../../js/js.dart' show js; | 14 import '../../js/js.dart' show js; |
| 14 import '../js_emitter.dart' hide Emitter, EmitterFactory; | 15 import '../js_emitter.dart' hide Emitter, EmitterFactory; |
| 15 import '../model.dart'; | 16 import '../model.dart'; |
| 16 import 'emitter.dart'; | 17 import 'emitter.dart'; |
| 17 | 18 |
| 18 /// This class should morph into something that makes it easy to build | 19 /// This class should morph into something that makes it easy to build |
| 19 /// JavaScript representations of libraries, class-sides, and instance-sides. | 20 /// JavaScript representations of libraries, class-sides, and instance-sides. |
| 20 /// Initially, it is just a placeholder for code that is moved from | 21 /// Initially, it is just a placeholder for code that is moved from |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 }); | 164 }); |
| 164 } | 165 } |
| 165 Name memberName = new Name(member.name, member.library); | 166 Name memberName = new Name(member.name, member.library); |
| 166 if (canBeReflected) { | 167 if (canBeReflected) { |
| 167 jsAst.LiteralString reflectionName; | 168 jsAst.LiteralString reflectionName; |
| 168 if (member.isConstructor) { | 169 if (member.isConstructor) { |
| 169 // TODO(herhut): This registers name as a mangled name. Do we need this | 170 // TODO(herhut): This registers name as a mangled name. Do we need this |
| 170 // given that we use a different name below? | 171 // given that we use a different name below? |
| 171 emitter.getReflectionName(member, name); | 172 emitter.getReflectionName(member, name); |
| 172 reflectionName = new jsAst.LiteralString( | 173 reflectionName = new jsAst.LiteralString( |
| 173 '"new ${Elements.reconstructConstructorName(member)}"'); | 174 '"new ${utils.reconstructConstructorName(member)}"'); |
| 174 } else { | 175 } else { |
| 175 reflectionName = js.string(namer.privateName(memberName)); | 176 reflectionName = js.string(namer.privateName(memberName)); |
| 176 } | 177 } |
| 177 expressions | 178 expressions |
| 178 ..add(reflectionName) | 179 ..add(reflectionName) |
| 179 ..addAll(task.metadataCollector.computeMetadata(member)); | 180 ..addAll(task.metadataCollector.computeMetadata(member)); |
| 180 } else if (isClosure && canBeApplied) { | 181 } else if (isClosure && canBeApplied) { |
| 181 expressions.add(js.string(namer.privateName(memberName))); | 182 expressions.add(js.string(namer.privateName(memberName))); |
| 182 } | 183 } |
| 183 | 184 |
| 184 jsAst.ArrayInitializer arrayInit = | 185 jsAst.ArrayInitializer arrayInit = |
| 185 new jsAst.ArrayInitializer(expressions.toList()); | 186 new jsAst.ArrayInitializer(expressions.toList()); |
| 186 compiler.dumpInfoTask | 187 compiler.dumpInfoTask |
| 187 .registerElementAst(member, builder.addProperty(name, arrayInit)); | 188 .registerElementAst(member, builder.addProperty(name, arrayInit)); |
| 188 } | 189 } |
| 189 | 190 |
| 190 void addMemberField(Field field, ClassBuilder builder) { | 191 void addMemberField(Field field, ClassBuilder builder) { |
| 191 // For now, do nothing. | 192 // For now, do nothing. |
| 192 } | 193 } |
| 193 } | 194 } |
| OLD | NEW |