Chromium Code Reviews| Index: pkg/dart2js_incremental/lib/library_updater.dart |
| diff --git a/pkg/dart2js_incremental/lib/library_updater.dart b/pkg/dart2js_incremental/lib/library_updater.dart |
| index f0dc55abea331536a5c129e68096c2a6ef3164fb..26be578c6b13cc0178db78cf3c2f9577c7b8386c 100644 |
| --- a/pkg/dart2js_incremental/lib/library_updater.dart |
| +++ b/pkg/dart2js_incremental/lib/library_updater.dart |
| @@ -67,7 +67,8 @@ import 'package:compiler/src/js_emitter/js_emitter.dart' show |
| computeMixinClass; |
| import 'package:compiler/src/js_emitter/model.dart' show |
| - Class; |
| + Class, |
| + Member; |
| import 'package:compiler/src/js_emitter/program_builder.dart' show |
| ProgramBuilder; |
| @@ -931,17 +932,17 @@ if (this.pendingStubs) { |
| } |
| jsAst.Node computeMethodUpdateJs(Element element) { |
| - MemberInfo info = containerBuilder.analyzeMemberMethod(element); |
| - if (info == null) { |
| + Member member = programBuilder.buildMethodForTry(element); |
| + if (member == null) { |
| compiler.internalError(element, '${element.runtimeType}'); |
| } |
| ClassBuilder builder = new ClassBuilder(element, namer); |
| - containerBuilder.addMemberMethodFromInfo(info, builder); |
| + containerBuilder.addMemberMethod(member, builder); |
| jsAst.Node partialDescriptor = |
| builder.toObjectInitializer(emitClassDescriptor: false); |
| - String name = info.name; |
| - jsAst.Node function = info.code; |
| + String name = member.name; |
| + jsAst.Node function = member.code; |
| bool isStatic = !element.isInstanceMember; |
| /// Either a global object (non-instance members) or a prototype (instance |
| @@ -1464,6 +1465,10 @@ abstract class JsFeatures { |
| ContainerBuilder get containerBuilder => emitter.oldEmitter.containerBuilder; |
| EnqueueTask get enqueuer => compiler.enqueuer; |
| + |
| + ProgramBuilder get programBuilder { |
|
floitsch
2015/01/28 16:10:39
I wouldn't do this. The calls to the programBuilde
herhut
2015/01/29 10:24:21
Done.
|
| + return new ProgramBuilder(compiler, namer, emitter); |
| + } |
| } |
| class EmitterHelper extends JsFeatures { |
| @@ -1474,8 +1479,7 @@ class EmitterHelper extends JsFeatures { |
| ClassEmitter get classEmitter => backend.emitter.oldEmitter.classEmitter; |
| List<String> computeFields(ClassElement classElement) { |
| - Class cls = new ProgramBuilder(compiler, namer, emitter) |
| - .buildClassWithFieldsForTry(classElement); |
| + Class cls = programBuilder.buildClassWithFieldsForTry(classElement); |
| // TODO(ahe): Rewrite for new emitter. |
| ClassBuilder builder = new ClassBuilder(classElement, namer); |
| classEmitter.emitFields(cls, builder); |