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

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

Issue 2756103003: Split NativeBasicDataImpl (Closed)
Patch Set: Created 3 years, 9 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_serialization.dart
diff --git a/pkg/compiler/lib/src/js_backend/backend_serialization.dart b/pkg/compiler/lib/src/js_backend/backend_serialization.dart
index 1354b9ec833a275d4cd7062e10a05e394e9961b7..60cf714f5d1d063b31ad182ff5f7243c6dd5afe9 100644
--- a/pkg/compiler/lib/src/js_backend/backend_serialization.dart
+++ b/pkg/compiler/lib/src/js_backend/backend_serialization.dart
@@ -34,12 +34,9 @@ class JavaScriptBackendSerialization implements BackendSerialization {
final JavaScriptBackendSerializer serializer;
final JavaScriptBackendDeserializer deserializer;
- JavaScriptBackendSerialization(
- NativeBasicData nativeBaseData, NativeData nativeData)
- : serializer =
- new JavaScriptBackendSerializer(nativeBaseData, nativeData),
- deserializer =
- new JavaScriptBackendDeserializer(nativeBaseData, nativeData);
+ JavaScriptBackendSerialization(JavaScriptBackend backend)
+ : serializer = new JavaScriptBackendSerializer(backend),
+ deserializer = new JavaScriptBackendDeserializer(backend);
}
const Key JS_INTEROP_LIBRARY_NAME = const Key('jsInteropLibraryName');
@@ -52,10 +49,12 @@ const Key NATIVE_FIELD_LOAD_BEHAVIOR = const Key('nativeFieldLoadBehavior');
const Key NATIVE_FIELD_STORE_BEHAVIOR = const Key('nativeFieldStoreBehavior');
class JavaScriptBackendSerializer implements SerializerPlugin {
- final NativeBasicDataImpl nativeBaseData;
- final NativeDataImpl nativeData;
+ final JavaScriptBackend _backend;
- JavaScriptBackendSerializer(this.nativeBaseData, this.nativeData);
+ JavaScriptBackendSerializer(this._backend);
+
+ NativeBasicDataImpl get nativeBasicData => _backend.nativeBasicData;
+ NativeDataImpl get nativeData => _backend.nativeData;
@override
void onElement(Element element, ObjectEncoder createEncoder(String tag)) {
@@ -81,7 +80,7 @@ class JavaScriptBackendSerializer implements SerializerPlugin {
getEncoder().setString(NATIVE_MEMBER_NAME, nativeMemberName);
}
NativeClassTag nativeClassTagInfo =
- nativeBaseData.nativeClassTagInfo[element];
+ nativeBasicData.nativeClassTagInfo[element];
if (nativeClassTagInfo != null) {
getEncoder().setString(NATIVE_CLASS_TAG_INFO, nativeClassTagInfo.text);
}
@@ -114,10 +113,13 @@ class JavaScriptBackendSerializer implements SerializerPlugin {
}
class JavaScriptBackendDeserializer implements DeserializerPlugin {
- final NativeBasicDataImpl nativeBaseData;
- final NativeDataImpl nativeData;
+ final JavaScriptBackend _backend;
+
+ JavaScriptBackendDeserializer(this._backend);
- JavaScriptBackendDeserializer(this.nativeBaseData, this.nativeData);
+ NativeBasicDataBuilderImpl get nativeBasicData =>
+ _backend.nativeBasicDataBuilder;
+ NativeDataImpl get nativeData => _backend.nativeData;
@override
void onElement(Element element, ObjectDecoder getDecoder(String tag)) {
@@ -138,7 +140,7 @@ class JavaScriptBackendDeserializer implements DeserializerPlugin {
String nativeClassTagInfo =
decoder.getString(NATIVE_CLASS_TAG_INFO, isOptional: true);
if (nativeClassTagInfo != null) {
- nativeBaseData.nativeClassTagInfo[element] =
+ nativeBasicData.nativeClassTagInfo[element] =
new NativeClassTag(nativeClassTagInfo);
}
} else if (element is MemberElement) {
« no previous file with comments | « pkg/compiler/lib/src/js_backend/backend.dart ('k') | pkg/compiler/lib/src/js_backend/impact_transformer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698