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

Side by Side Diff: pkg/compiler/lib/src/js_emitter/full_emitter/container_builder.dart

Issue 3008793002: Use the entity model for dump_info. (Closed)
Patch Set: use codegen enqueuer Created 3 years, 3 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
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 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, MetadataAnnotation, MethodElement; 9 show Element, MetadataAnnotation, MethodElement;
10 import '../../elements/entities.dart'; 10 import '../../elements/entities.dart';
(...skipping 25 matching lines...) Expand all
36 bool hasSuperAlias = superAlias != null; 36 bool hasSuperAlias = superAlias != null;
37 jsAst.Expression memberTypeExpression = method.functionType; 37 jsAst.Expression memberTypeExpression = method.functionType;
38 38
39 bool needStructuredInfo = 39 bool needStructuredInfo =
40 canTearOff || canBeReflected || canBeApplied || hasSuperAlias; 40 canTearOff || canBeReflected || canBeApplied || hasSuperAlias;
41 41
42 emitter.interceptorEmitter.recordMangledNameOfMemberMethod(member, name); 42 emitter.interceptorEmitter.recordMangledNameOfMemberMethod(member, name);
43 43
44 if (!needStructuredInfo) { 44 if (!needStructuredInfo) {
45 compiler.dumpInfoTask 45 compiler.dumpInfoTask
46 .registerElementAst(member, builder.addProperty(name, code)); 46 .registerEntityAst(member, builder.addProperty(name, code));
47 47
48 for (ParameterStubMethod stub in method.parameterStubs) { 48 for (ParameterStubMethod stub in method.parameterStubs) {
49 assert(stub.callName == null); 49 assert(stub.callName == null);
50 jsAst.Property property = builder.addProperty(stub.name, stub.code); 50 jsAst.Property property = builder.addProperty(stub.name, stub.code);
51 compiler.dumpInfoTask.registerElementAst(member, property); 51 compiler.dumpInfoTask.registerEntityAst(member, property);
52 emitter.interceptorEmitter 52 emitter.interceptorEmitter
53 .recordMangledNameOfMemberMethod(member, stub.name); 53 .recordMangledNameOfMemberMethod(member, stub.name);
54 } 54 }
55 return; 55 return;
56 } 56 }
57 emitter.needsStructuredMemberInfo = true; 57 emitter.needsStructuredMemberInfo = true;
58 58
59 // This element is needed for reflection or needs additional stubs or has a 59 // This element is needed for reflection or needs additional stubs or has a
60 // super alias. So we need to retain additional information. 60 // super alias. So we need to retain additional information.
61 61
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 expressions.add(code); 94 expressions.add(code);
95 95
96 bool onlyNeedsSuperAlias = 96 bool onlyNeedsSuperAlias =
97 !(canTearOff || canBeReflected || canBeApplied || needsStubs); 97 !(canTearOff || canBeReflected || canBeApplied || needsStubs);
98 98
99 if (onlyNeedsSuperAlias) { 99 if (onlyNeedsSuperAlias) {
100 jsAst.ArrayInitializer arrayInit = 100 jsAst.ArrayInitializer arrayInit =
101 new jsAst.ArrayInitializer(expressions); 101 new jsAst.ArrayInitializer(expressions);
102 compiler.dumpInfoTask 102 compiler.dumpInfoTask
103 .registerElementAst(member, builder.addProperty(name, arrayInit)); 103 .registerEntityAst(member, builder.addProperty(name, arrayInit));
104 return; 104 return;
105 } 105 }
106 106
107 jsAst.Literal callSelectorString; 107 jsAst.Literal callSelectorString;
108 if (method.callName == null) { 108 if (method.callName == null) {
109 callSelectorString = new jsAst.LiteralNull(); 109 callSelectorString = new jsAst.LiteralNull();
110 } else { 110 } else {
111 callSelectorString = js.quoteName(method.callName); 111 callSelectorString = js.quoteName(method.callName);
112 } 112 }
113 113
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 expressions 179 expressions
180 ..add(reflectionName) 180 ..add(reflectionName)
181 ..addAll(task.metadataCollector.computeMetadata(member)); 181 ..addAll(task.metadataCollector.computeMetadata(member));
182 } else if (isClosure && canBeApplied) { 182 } else if (isClosure && canBeApplied) {
183 expressions.add(js.string(namer.privateName(memberName))); 183 expressions.add(js.string(namer.privateName(memberName)));
184 } 184 }
185 185
186 jsAst.ArrayInitializer arrayInit = 186 jsAst.ArrayInitializer arrayInit =
187 new jsAst.ArrayInitializer(expressions.toList()); 187 new jsAst.ArrayInitializer(expressions.toList());
188 compiler.dumpInfoTask 188 compiler.dumpInfoTask
189 .registerElementAst(member, builder.addProperty(name, arrayInit)); 189 .registerEntityAst(member, builder.addProperty(name, arrayInit));
190 } 190 }
191 191
192 void addMemberField(Field field, ClassBuilder builder) { 192 void addMemberField(Field field, ClassBuilder builder) {
193 // For now, do nothing. 193 // For now, do nothing.
194 } 194 }
195 } 195 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698