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

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

Issue 2827283002: Implement subtype relation for kernel based elements. (Closed)
Patch Set: Add remaining checks of BackendUsage 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 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 /// Implementation of the element model used for deserialiation. 5 /// Implementation of the element model used for deserialiation.
6 /// 6 ///
7 /// These classes are created by [ElementDeserializer] triggered by the 7 /// These classes are created by [ElementDeserializer] triggered by the
8 /// [Deserializer]. 8 /// [Deserializer].
9 9
10 library dart2js.serialization.modelz; 10 library dart2js.serialization.modelz;
(...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after
958 toLink(_decoder.getTypes(Key.INTERFACES, isOptional: true)); 958 toLink(_decoder.getTypes(Key.INTERFACES, isOptional: true));
959 List<ResolutionInterfaceType> mixins = 959 List<ResolutionInterfaceType> mixins =
960 _decoder.getTypes(Key.MIXINS, isOptional: true); 960 _decoder.getTypes(Key.MIXINS, isOptional: true);
961 for (ResolutionInterfaceType mixin in mixins) { 961 for (ResolutionInterfaceType mixin in mixins) {
962 MixinApplicationElement mixinElement = 962 MixinApplicationElement mixinElement =
963 new UnnamedMixinApplicationElementZ(this, supertype, mixin); 963 new UnnamedMixinApplicationElementZ(this, supertype, mixin);
964 supertype = mixinElement.thisType 964 supertype = mixinElement.thisType
965 .subst(typeVariables, mixinElement.typeVariables); 965 .subst(typeVariables, mixinElement.typeVariables);
966 } 966 }
967 _supertype = supertype; 967 _supertype = supertype;
968 _allSupertypesAndSelf = new OrderedTypeSetBuilder(this) 968 _allSupertypesAndSelf = new ResolutionOrderedTypeSetBuilder(this)
969 .createOrderedTypeSet(_supertype, _interfaces); 969 .createOrderedTypeSet(_supertype, _interfaces);
970 _callType = _decoder.getType(Key.CALL_TYPE, isOptional: true); 970 _callType = _decoder.getType(Key.CALL_TYPE, isOptional: true);
971 } 971 }
972 } 972 }
973 } 973 }
974 974
975 @override 975 @override
976 accept(ElementVisitor visitor, arg) { 976 accept(ElementVisitor visitor, arg) {
977 return visitor.visitClassElement(this, arg); 977 return visitor.visitClassElement(this, arg);
978 } 978 }
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
1166 } 1166 }
1167 1167
1168 @override 1168 @override
1169 accept(ElementVisitor visitor, arg) { 1169 accept(ElementVisitor visitor, arg) {
1170 return visitor.visitMixinApplicationElement(this, arg); 1170 return visitor.visitMixinApplicationElement(this, arg);
1171 } 1171 }
1172 1172
1173 @override 1173 @override
1174 OrderedTypeSet get allSupertypesAndSelf { 1174 OrderedTypeSet get allSupertypesAndSelf {
1175 if (_allSupertypesAndSelf == null) { 1175 if (_allSupertypesAndSelf == null) {
1176 _allSupertypesAndSelf = new OrderedTypeSetBuilder(this) 1176 _allSupertypesAndSelf = new ResolutionOrderedTypeSetBuilder(this)
1177 .createOrderedTypeSet(supertype, interfaces); 1177 .createOrderedTypeSet(supertype, interfaces);
1178 } 1178 }
1179 return _allSupertypesAndSelf; 1179 return _allSupertypesAndSelf;
1180 } 1180 }
1181 1181
1182 @override 1182 @override
1183 Element get enclosingElement => subclass.enclosingElement; 1183 Element get enclosingElement => subclass.enclosingElement;
1184 1184
1185 @override 1185 @override
1186 bool get isObject => false; 1186 bool get isObject => false;
(...skipping 1224 matching lines...) Expand 10 before | Expand all | Expand 10 after
2411 } 2411 }
2412 2412
2413 @override 2413 @override
2414 Node get node => throw new UnsupportedError('${this}.node'); 2414 Node get node => throw new UnsupportedError('${this}.node');
2415 2415
2416 @override 2416 @override
2417 bool get hasNode => false; 2417 bool get hasNode => false;
2418 2418
2419 String toString() => 'MetadataAnnotationZ(${constant.toDartText()})'; 2419 String toString() => 'MetadataAnnotationZ(${constant.toDartText()})';
2420 } 2420 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698