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

Unified Diff: pkg/compiler/lib/src/js_emitter/program_builder/collector.dart

Issue 1221333015: dart2js: Move field-visiting code to the program-builder. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Remove bad show line. Created 5 years, 5 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/compiler/lib/src/js_emitter/program_builder/collector.dart
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart b/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
index eb8326de31aba227af0bf448c7ba72c31b05e72d..293825233ed82a72653100f86efc6eafc1fd57bd 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
@@ -16,12 +16,9 @@ class Collector {
final Compiler compiler;
final Set<ClassElement> rtiNeededClasses;
final Emitter emitter;
- // TODO(floitsch): remove this field.
- // The field is untyped, because we don't want to import the full emitter
- // class.
- final oldEmitter;
final Set<ClassElement> neededClasses = new Set<ClassElement>();
+ // This field is set in [computeNeededDeclarations].
Set<ClassElement> classesOnlyNeededForRti;
final Map<OutputUnit, List<ClassElement>> outputClassLists =
new Map<OutputUnit, List<ClassElement>>();
@@ -45,8 +42,7 @@ class Collector {
JavaScriptBackend get backend => compiler.backend;
- Collector(this.compiler, this.namer, this.rtiNeededClasses,
- this.emitter, this.oldEmitter);
+ Collector(this.compiler, this.namer, this.rtiNeededClasses, this.emitter);
Set<ClassElement> computeInterceptorsReferencedFromConstants() {
Set<ClassElement> classes = new Set<ClassElement>();
@@ -129,7 +125,7 @@ class Collector {
final onlyForRti = classesOnlyNeededForRti.contains(cls);
if (!onlyForRti) {
backend.retainMetadataOf(cls);
- oldEmitter.classEmitter.visitFields(cls, false,
+ new FieldVisitor(compiler, namer).visitFields(cls, false,
(Element member,
js.Name name,
js.Name accessorName,

Powered by Google App Engine
This is Rietveld 408576698