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

Unified Diff: pkg/compiler/lib/src/js_emitter/model.dart

Issue 835233003: dart2js: Temporarily store output unit in Fragment. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 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/js_emitter/program_builder.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/js_emitter/model.dart
diff --git a/pkg/compiler/lib/src/js_emitter/model.dart b/pkg/compiler/lib/src/js_emitter/model.dart
index 75ad0f1e9b7d2b7ed6b3140e6eca4c8c7eb77ffc..bd091b310b9ae2387cb31700a5c56b481db20c60 100644
--- a/pkg/compiler/lib/src/js_emitter/model.dart
+++ b/pkg/compiler/lib/src/js_emitter/model.dart
@@ -7,6 +7,8 @@ library dart2js.new_js_emitter.model;
import '../js/js.dart' as js show Expression;
import '../constants/values.dart' show ConstantValue;
+import '../deferred_load.dart' show OutputUnit;
+
import '../common.dart';
class Program {
@@ -35,8 +37,10 @@ class Holder {
* [MainFragment].
*/
abstract class Fragment {
- bool get isMainFragment => mainFragment == this;
- MainFragment get mainFragment;
+ /// The outputUnit should only be used during the transition to the new model.
+ /// Uses indicate missing information in the model.
+ final OutputUnit outputUnit;
+
final List<Library> libraries;
final List<Constant> constants;
// TODO(floitsch): should we move static fields into libraries or classes?
@@ -47,11 +51,15 @@ abstract class Fragment {
/// Output file name without extension.
final String outputFileName;
- Fragment(this.outputFileName,
+ Fragment(this.outputUnit,
+ this.outputFileName,
this.libraries,
this.staticNonFinalFields,
this.staticLazilyInitializedFields,
this.constants);
+
+ bool get isMainFragment => mainFragment == this;
+ MainFragment get mainFragment;
}
/**
@@ -64,14 +72,16 @@ class MainFragment extends Fragment {
final js.Expression main;
final List<Holder> holders;
- MainFragment(String outputFileName,
+ MainFragment(OutputUnit outputUnit,
+ String outputFileName,
this.main,
List<Library> libraries,
List<StaticField> staticNonFinalFields,
List<StaticField> staticLazilyInitializedFields,
List<Constant> constants,
this.holders)
- : super(outputFileName,
+ : super(outputUnit,
+ outputFileName,
libraries,
staticNonFinalFields,
staticLazilyInitializedFields,
@@ -89,14 +99,16 @@ class DeferredFragment extends Fragment {
List<Holder> get holders => mainFragment.holders;
- DeferredFragment(String outputFileName,
+ DeferredFragment(OutputUnit outputUnit,
+ String outputFileName,
this.name,
this.mainFragment,
List<Library> libraries,
List<StaticField> staticNonFinalFields,
List<StaticField> staticLazilyInitializedFields,
List<Constant> constants)
- : super(outputFileName,
+ : super(outputUnit,
+ outputFileName,
libraries,
staticNonFinalFields,
staticLazilyInitializedFields,
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_emitter/program_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698