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

Side by Side Diff: pkg/compiler/lib/src/serialization/element_serialization.dart

Issue 2150493002: Serialize prefix members. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dart2js.serialization.elements; 5 library dart2js.serialization.elements;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../common/names.dart'; 8 import '../common/names.dart';
9 import '../constants/constructors.dart'; 9 import '../constants/constructors.dart';
10 import '../constants/expressions.dart'; 10 import '../constants/expressions.dart';
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 } 720 }
721 return null; 721 return null;
722 } 722 }
723 723
724 void serialize(PrefixElement element, ObjectEncoder encoder, 724 void serialize(PrefixElement element, ObjectEncoder encoder,
725 SerializedElementKind kind) { 725 SerializedElementKind kind) {
726 encoder.setString(Key.NAME, element.name); 726 encoder.setString(Key.NAME, element.name);
727 encoder.setElement(Key.LIBRARY, element.library); 727 encoder.setElement(Key.LIBRARY, element.library);
728 encoder.setElement(Key.COMPILATION_UNIT, element.compilationUnit); 728 encoder.setElement(Key.COMPILATION_UNIT, element.compilationUnit);
729 encoder.setBool(Key.IS_DEFERRED, element.isDeferred); 729 encoder.setBool(Key.IS_DEFERRED, element.isDeferred);
730 Set<Element> members = new Set<Element>();
731 element.forEachLocalMember(SerializerUtil.flattenElements(members));
732 encoder.setElements(Key.MEMBERS, members);
730 if (element.isDeferred) { 733 if (element.isDeferred) {
731 encoder.setElement(Key.IMPORT, element.deferredImport); 734 encoder.setElement(Key.IMPORT, element.deferredImport);
732 encoder.setElement(Key.GETTER, element.loadLibrary); 735 encoder.setElement(Key.GETTER, element.loadLibrary);
733 } 736 }
734 } 737 }
735 } 738 }
736 739
737 class DeferredLoadLibrarySerializer implements ElementSerializer { 740 class DeferredLoadLibrarySerializer implements ElementSerializer {
738 const DeferredLoadLibrarySerializer(); 741 const DeferredLoadLibrarySerializer();
739 742
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 return new WarnOnUseElementX(warning, info, enclosing, element); 871 return new WarnOnUseElementX(warning, info, enclosing, element);
869 case SerializedElementKind.EXTERNAL_LIBRARY: 872 case SerializedElementKind.EXTERNAL_LIBRARY:
870 case SerializedElementKind.EXTERNAL_LIBRARY_MEMBER: 873 case SerializedElementKind.EXTERNAL_LIBRARY_MEMBER:
871 case SerializedElementKind.EXTERNAL_CLASS_MEMBER: 874 case SerializedElementKind.EXTERNAL_CLASS_MEMBER:
872 case SerializedElementKind.EXTERNAL_CONSTRUCTOR: 875 case SerializedElementKind.EXTERNAL_CONSTRUCTOR:
873 break; 876 break;
874 } 877 }
875 throw new UnsupportedError("Unexpected element kind '${elementKind}."); 878 throw new UnsupportedError("Unexpected element kind '${elementKind}.");
876 } 879 }
877 } 880 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/elements/modelx.dart ('k') | pkg/compiler/lib/src/serialization/modelz.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698