Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Unified Diff: pkg/dart2js_incremental/lib/library_updater.dart

Issue 882713008: Move computation of method flags into model. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698