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

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

Issue 2731173002: Add ClassEntity.library, MemberEntity.library and FunctionEntity.isExternal (Closed)
Patch Set: Updated cf. comments. 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 eacdf1bcdf311e2a3bc5a4a27675e48fe6d2f453..eb4bd6da55b8811f2e3688f99c6fb158ca9dc434 100644
--- a/pkg/compiler/lib/src/js_backend/backend_serialization.dart
+++ b/pkg/compiler/lib/src/js_backend/backend_serialization.dart
@@ -117,50 +117,59 @@ class JavaScriptBackendDeserializer implements DeserializerPlugin {
void onElement(Element element, ObjectDecoder getDecoder(String tag)) {
ObjectDecoder decoder = getDecoder(_BACKEND_DATA_TAG);
if (decoder != null) {
- String jsInteropLibraryName =
- decoder.getString(JS_INTEROP_LIBRARY_NAME, isOptional: true);
- if (jsInteropLibraryName != null) {
- nativeData.jsInteropLibraryNames[element] = jsInteropLibraryName;
- }
- String jsInteropClassName =
- decoder.getString(JS_INTEROP_CLASS_NAME, isOptional: true);
- if (jsInteropClassName != null) {
- nativeData.jsInteropClassNames[element] = jsInteropClassName;
- }
- String jsInteropMemberName =
- decoder.getString(JS_INTEROP_MEMBER_NAME, isOptional: true);
- if (jsInteropMemberName != null) {
- nativeData.jsInteropMemberNames[element] = jsInteropMemberName;
- }
- String nativeMemberName =
- decoder.getString(NATIVE_MEMBER_NAME, isOptional: true);
- if (nativeMemberName != null) {
- nativeData.nativeMemberName[element] = nativeMemberName;
- }
- String nativeClassTagInfo =
- decoder.getString(NATIVE_CLASS_TAG_INFO, isOptional: true);
- if (nativeClassTagInfo != null) {
- nativeData.nativeClassTagInfo[element] = nativeClassTagInfo;
- }
- ObjectDecoder nativeMethodBehavior =
- decoder.getObject(NATIVE_METHOD_BEHAVIOR, isOptional: true);
- if (nativeMethodBehavior != null) {
- nativeData.nativeMethodBehavior[element] = NativeBehaviorSerialization
- .deserializeNativeBehavior(nativeMethodBehavior);
- }
- ObjectDecoder nativeFieldLoadBehavior =
- decoder.getObject(NATIVE_FIELD_LOAD_BEHAVIOR, isOptional: true);
- if (nativeFieldLoadBehavior != null) {
- nativeData.nativeFieldLoadBehavior[element] =
- NativeBehaviorSerialization
- .deserializeNativeBehavior(nativeFieldLoadBehavior);
- }
- ObjectDecoder nativeFieldStoreBehavior =
- decoder.getObject(NATIVE_FIELD_STORE_BEHAVIOR, isOptional: true);
- if (nativeFieldStoreBehavior != null) {
- nativeData.nativeFieldStoreBehavior[element] =
- NativeBehaviorSerialization
- .deserializeNativeBehavior(nativeFieldStoreBehavior);
+ if (element is LibraryElement) {
+ String jsInteropLibraryName =
+ decoder.getString(JS_INTEROP_LIBRARY_NAME, isOptional: true);
+ if (jsInteropLibraryName != null) {
+ nativeData.jsInteropLibraryNames[element] = jsInteropLibraryName;
+ }
+ } else if (element is ClassElement) {
+ String jsInteropClassName =
+ decoder.getString(JS_INTEROP_CLASS_NAME, isOptional: true);
+ if (jsInteropClassName != null) {
+ nativeData.jsInteropClassNames[element] = jsInteropClassName;
+ }
+ String nativeClassTagInfo =
+ decoder.getString(NATIVE_CLASS_TAG_INFO, isOptional: true);
+ if (nativeClassTagInfo != null) {
+ nativeData.nativeClassTagInfo[element] = nativeClassTagInfo;
+ }
+ } else if (element is MemberElement) {
+ String jsInteropMemberName =
+ decoder.getString(JS_INTEROP_MEMBER_NAME, isOptional: true);
+ if (jsInteropMemberName != null) {
+ nativeData.jsInteropMemberNames[element] = jsInteropMemberName;
+ }
+ String nativeMemberName =
+ decoder.getString(NATIVE_MEMBER_NAME, isOptional: true);
+ if (nativeMemberName != null) {
+ nativeData.nativeMemberName[element] = nativeMemberName;
+ }
+
+ if (element is MethodElement) {
+ ObjectDecoder nativeMethodBehavior =
+ decoder.getObject(NATIVE_METHOD_BEHAVIOR, isOptional: true);
+ if (nativeMethodBehavior != null) {
+ nativeData.nativeMethodBehavior[element] =
+ NativeBehaviorSerialization
+ .deserializeNativeBehavior(nativeMethodBehavior);
+ }
+ } else if (element is FieldElement) {
+ ObjectDecoder nativeFieldLoadBehavior =
+ decoder.getObject(NATIVE_FIELD_LOAD_BEHAVIOR, isOptional: true);
+ if (nativeFieldLoadBehavior != null) {
+ nativeData.nativeFieldLoadBehavior[element] =
+ NativeBehaviorSerialization
+ .deserializeNativeBehavior(nativeFieldLoadBehavior);
+ }
+ ObjectDecoder nativeFieldStoreBehavior =
+ decoder.getObject(NATIVE_FIELD_STORE_BEHAVIOR, isOptional: true);
+ if (nativeFieldStoreBehavior != null) {
+ nativeData.nativeFieldStoreBehavior[element] =
+ NativeBehaviorSerialization
+ .deserializeNativeBehavior(nativeFieldStoreBehavior);
+ }
+ }
}
}
}
« no previous file with comments | « pkg/compiler/lib/src/inferrer/type_graph_nodes.dart ('k') | pkg/compiler/lib/src/js_backend/js_interop_analysis.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698