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

Unified Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 2387353002: Eagerly compute closure classes (Closed)
Patch Set: Add comments. Created 4 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/js_backend/backend.dart
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
index 3e4fcdfcff2c097760da0c86469d12968a7a05b5..256150251841b11be36f98f3574764d7f46c841a 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -2166,9 +2166,15 @@ class JavaScriptBackend extends Backend {
});
// 3) all members, including fields via getter/setters (if resolved)
cls.forEachClassMember((Member member) {
- if (resolution.hasBeenProcessed(member.element)) {
+ MemberElement element = member.element;
+ if (resolution.hasBeenProcessed(element)) {
memberNames.add(member.name);
- reflectableMembers.add(member.element);
+ reflectableMembers.add(element);
+ element.nestedClosures
+ .forEach((SynthesizedCallMethodElementX callFunction) {
+ reflectableMembers.add(callFunction);
+ reflectableMembers.add(callFunction.closureClass);
+ });
}
});
// 4) all overriding members of subclasses/subtypes (should be resolved)
« no previous file with comments | « pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart ('k') | pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698