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

Side by Side Diff: dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_builder.dart

Issue 25657008: Only have one method for generating a method. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 part of dart2js.js_emitter; 5 part of dart2js.js_emitter;
6 6
7 /** 7 /**
8 * A data structure for collecting fragments of a class definition. 8 * A data structure for collecting fragments of a class definition.
9 */ 9 */
10 class ClassBuilder { 10 class ClassBuilder {
11 final List<jsAst.Property> properties = <jsAst.Property>[]; 11 final List<jsAst.Property> properties = <jsAst.Property>[];
12 12
13 /// Set to true by user if class is indistinguishable from its superclass. 13 /// Set to true by user if class is indistinguishable from its superclass.
14 bool isTrivial = false; 14 bool isTrivial = false;
15 15
16 // Has the same signature as [DefineStubFunction]. 16 // Has the same signature as [DefineStubFunction].
17 void addProperty(String name, jsAst.Expression value) { 17 void addProperty(String name, jsAst.Expression value) {
18 properties.add(new jsAst.Property(js.string(name), value)); 18 properties.add(new jsAst.Property(js.string(name), value));
19 } 19 }
20 20
21 jsAst.Expression toObjectInitializer() { 21 jsAst.Expression toObjectInitializer() {
22 return new jsAst.ObjectInitializer(properties); 22 return new jsAst.ObjectInitializer(properties);
23 } 23 }
24
25 void writeOn(CodeBuffer buffer, Compiler compiler, String separatedBy) {
sra1 2013/10/02 16:10:52 I'm not sure I like writeOn - we have missing sour
ahe 2013/10/02 16:58:05 Agreed. I should add a comment making it clear tha
26 for (jsAst.Property property in properties) {
27 if (!buffer.isEmpty) buffer.write(separatedBy);
28 buffer.write(jsAst.prettyPrint(property, compiler));
29 }
30 }
24 } 31 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698