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

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

Issue 2815513007: Remove Compiler and JavaScriptBackend from main_call_stub_generator and runtime_type_generator (Closed)
Patch Set: Add getter Created 3 years, 8 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/program_builder.dart
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
index 0212336df6582da43697e5fb8b06c2cfec880812..bf4cb7df21d04b0bba75980b9fa1b2791dd165b6 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
@@ -4,7 +4,7 @@
library dart2js.js_emitter.program_builder;
-import '../../closure.dart' show ClosureFieldElement;
+import '../../closure.dart' show ClosureTask, ClosureFieldElement;
import '../../common.dart';
import '../../common/names.dart' show Names, Selectors;
import '../../compiler.dart' show Compiler;
@@ -36,8 +36,10 @@ import '../../js/js.dart' as js;
import '../../js_backend/backend.dart'
show
JavaScriptBackend,
- RuntimeTypesEncoder,
+ RuntimeTypesChecks,
RuntimeTypesNeed,
+ RuntimeTypesEncoder,
+ RuntimeTypesSubstitutions,
SuperMemberData;
import '../../js_backend/backend_usage.dart';
import '../../js_backend/constant_handler_javascript.dart'
@@ -47,6 +49,7 @@ import '../../js_backend/namer.dart' show Namer, StringBackedName;
import '../../js_backend/native_data.dart';
import '../../js_backend/interceptor_data.dart';
import '../../js_backend/mirrors_data.dart';
+import '../../js_backend/js_interop_analysis.dart';
import '../../native/enqueue.dart' show NativeCodegenEnqueuer;
import '../../options.dart';
import '../../universe/selector.dart' show Selector;
@@ -105,17 +108,20 @@ class ProgramBuilder {
Types get _types => _compiler.types;
CommonElements get _commonElements => _compiler.commonElements;
CompilerOptions get _options => _compiler.options;
+ ClosureTask get _closureToClassMapper => _compiler.closureToClassMapper;
NativeCodegenEnqueuer get _nativeCodegenEnqueuer =>
_backend.nativeCodegenEnqueuer;
BackendUsage get _backendUsage => _backend.backendUsage;
- CodeEmitterTask get _emitter => _backend.emitter;
JavaScriptConstantCompiler get _constantHandler => _backend.constants;
NativeData get _nativeData => _backend.nativeData;
RuntimeTypesNeed get _rtiNeed => _backend.rtiNeed;
MirrorsData get _mirrorsData => _backend.mirrorsData;
InterceptorData get _interceptorData => _backend.interceptorData;
SuperMemberData get _superMemberData => _backend.superMemberData;
+ RuntimeTypesChecks get _rtiChecks => _backend.rtiChecks;
RuntimeTypesEncoder get _rtiEncoder => _backend.rtiEncoder;
+ RuntimeTypesSubstitutions get _rtiSubstitutions => _backend.rtiSubstitutions;
+ JsInteropAnalysis get _jsInteropAnalysis => _backend.jsInteropAnalysis;
OneShotInterceptorData get _oneShotInterceptorData =>
_backend.oneShotInterceptorData;
CustomElementsCodegenAnalysis get _customElementsCodegenAnalysis =>
@@ -245,7 +251,7 @@ class ProgramBuilder {
InterceptorStubGenerator stubGenerator = new InterceptorStubGenerator(
_options,
_commonElements,
- _emitter,
+ _task,
_nativeCodegenEnqueuer,
_constantHandler,
_namer,
@@ -275,8 +281,8 @@ class ProgramBuilder {
js.Statement _buildInvokeMain() {
if (_compiler.isMockCompilation) return js.js.comment("Mock compilation");
- MainCallStubGenerator generator =
- new MainCallStubGenerator(_backend, _emitter);
+ MainCallStubGenerator generator = new MainCallStubGenerator(
+ _commonElements, _task.emitter, _backendUsage);
return generator.generateInvokeMain(_compiler.mainFunction);
}
@@ -552,8 +558,17 @@ class ProgramBuilder {
ClassStubGenerator classStubGenerator = new ClassStubGenerator(
_namer, _backend, _worldBuilder, _closedWorld,
enableMinification: _options.enableMinification);
- RuntimeTypeGenerator runtimeTypeGenerator =
- new RuntimeTypeGenerator(_compiler, _task, _namer);
+ RuntimeTypeGenerator runtimeTypeGenerator = new RuntimeTypeGenerator(
+ _commonElements,
+ _closureToClassMapper,
+ _task,
+ _namer,
+ _nativeData,
+ _rtiChecks,
+ _rtiEncoder,
+ _rtiNeed,
+ _rtiSubstitutions,
+ _jsInteropAnalysis);
void visitMember(ClassElement enclosing, MemberElement member) {
assert(invariant(element, member.isDeclaration));
@@ -820,11 +835,9 @@ class ProgramBuilder {
ResolutionDartType type, OutputUnit outputUnit) {
if (type.containsTypeVariables) {
js.Expression thisAccess = js.js(r'this.$receiver');
- return _rtiEncoder.getSignatureEncoding(
- _emitter.emitter, type, thisAccess);
+ return _rtiEncoder.getSignatureEncoding(_task.emitter, type, thisAccess);
} else {
- return _emitter.metadataCollector
- .reifyTypeForOutputUnit(type, outputUnit);
+ return _task.metadataCollector.reifyTypeForOutputUnit(type, outputUnit);
}
}
@@ -865,7 +878,7 @@ class ProgramBuilder {
InterceptorStubGenerator stubGenerator = new InterceptorStubGenerator(
_options,
_commonElements,
- _emitter,
+ _task,
_nativeCodegenEnqueuer,
_constantHandler,
_namer,
@@ -944,7 +957,7 @@ class ProgramBuilder {
InterceptorStubGenerator stubGenerator = new InterceptorStubGenerator(
_options,
_commonElements,
- _emitter,
+ _task,
_nativeCodegenEnqueuer,
_constantHandler,
_namer,

Powered by Google App Engine
This is Rietveld 408576698