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

Unified Diff: pkg/compiler/lib/src/common/codegen.dart

Issue 2871583002: Pass InterceptorData through ResolutionWorldBuilder and access it through ClosedWorld (Closed)
Patch Set: Created 3 years, 7 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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/frontend_strategy.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/common/codegen.dart
diff --git a/pkg/compiler/lib/src/common/codegen.dart b/pkg/compiler/lib/src/common/codegen.dart
index ce72cfc586bb5b7f6c1215ec01b8ae673feef2c8..478085c7de66dbe75fb9e0f8d2b9f83f8bebd316 100644
--- a/pkg/compiler/lib/src/common/codegen.dart
+++ b/pkg/compiler/lib/src/common/codegen.dart
@@ -20,6 +20,7 @@ import '../universe/world_impact.dart'
show WorldImpact, WorldImpactBuilderImpl, WorldImpactVisitor;
import '../util/enumset.dart';
import '../util/util.dart' show Pair, Setlet;
+import '../world.dart' show ClosedWorld;
import 'work.dart' show WorkItem;
class CodegenImpact extends WorldImpact {
@@ -183,9 +184,11 @@ class CodegenRegistry {
class CodegenWorkItem extends WorkItem {
CodegenRegistry registry;
final ResolvedAst resolvedAst;
- final JavaScriptBackend backend;
+ final JavaScriptBackend _backend;
+ final ClosedWorld _closedWorld;
- factory CodegenWorkItem(JavaScriptBackend backend, MemberElement element) {
+ factory CodegenWorkItem(JavaScriptBackend backend, ClosedWorld closedWorld,
+ MemberElement element) {
// If this assertion fails, the resolution callbacks of the backend may be
// missing call of form registry.registerXXX. Alternatively, the code
// generation could spuriously be adding dependencies on things we know we
@@ -193,17 +196,16 @@ class CodegenWorkItem extends WorkItem {
assert(invariant(element, element.hasResolvedAst,
message: "$element has no resolved ast."));
ResolvedAst resolvedAst = element.resolvedAst;
- return new CodegenWorkItem.internal(resolvedAst, backend);
+ return new CodegenWorkItem.internal(resolvedAst, backend, closedWorld);
}
- CodegenWorkItem.internal(ResolvedAst resolvedAst, this.backend)
- : this.resolvedAst = resolvedAst;
+ CodegenWorkItem.internal(this.resolvedAst, this._backend, this._closedWorld);
MemberElement get element => resolvedAst.element;
WorldImpact run() {
registry = new CodegenRegistry(element);
- return backend.codegen(this);
+ return _backend.codegen(this, _closedWorld);
}
String toString() => 'CodegenWorkItem(${resolvedAst.element})';
« no previous file with comments | « no previous file | pkg/compiler/lib/src/frontend_strategy.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698