| OLD | NEW |
| 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 729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 740 FunctionElement asFunctionElement() => this; | 740 FunctionElement asFunctionElement() => this; |
| 741 | 741 |
| 742 @override | 742 @override |
| 743 bool get isExternal { | 743 bool get isExternal { |
| 744 return _decoder.getBool( | 744 return _decoder.getBool( |
| 745 Key.IS_EXTERNAL, isOptional: true, defaultValue: false); | 745 Key.IS_EXTERNAL, isOptional: true, defaultValue: false); |
| 746 } | 746 } |
| 747 } | 747 } |
| 748 | 748 |
| 749 abstract class ClassElementMixin implements ElementZ, ClassElement { | 749 abstract class ClassElementMixin implements ElementZ, ClassElement { |
| 750 | |
| 751 InterfaceType _createType(List<DartType> typeArguments) { | 750 InterfaceType _createType(List<DartType> typeArguments) { |
| 752 return new InterfaceType(this, typeArguments); | 751 return new InterfaceType(this, typeArguments); |
| 753 } | 752 } |
| 754 | 753 |
| 755 @override | 754 @override |
| 756 ElementKind get kind => ElementKind.CLASS; | 755 ElementKind get kind => ElementKind.CLASS; |
| 757 | 756 |
| 758 @override | 757 @override |
| 759 void addBackendMember(Element element) => _unsupported('addBackendMember'); | 758 void addBackendMember(Element element) => _unsupported('addBackendMember'); |
| 760 | 759 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 772 @override | 771 @override |
| 773 bool hasFieldShadowedBy(Element fieldMember) => _unsupported(''); | 772 bool hasFieldShadowedBy(Element fieldMember) => _unsupported(''); |
| 774 | 773 |
| 775 @override | 774 @override |
| 776 bool get hasIncompleteHierarchy => _unsupported('hasIncompleteHierarchy'); | 775 bool get hasIncompleteHierarchy => _unsupported('hasIncompleteHierarchy'); |
| 777 | 776 |
| 778 @override | 777 @override |
| 779 bool get hasLocalScopeMembers => _unsupported('hasLocalScopeMembers'); | 778 bool get hasLocalScopeMembers => _unsupported('hasLocalScopeMembers'); |
| 780 | 779 |
| 781 @override | 780 @override |
| 782 bool implementsFunction(CoreClasses coreClasses) { | |
| 783 return _unsupported('implementsFunction'); | |
| 784 } | |
| 785 | |
| 786 @override | |
| 787 bool get isEnumClass => false; | 781 bool get isEnumClass => false; |
| 788 | 782 |
| 789 @override | 783 @override |
| 790 Element lookupBackendMember(String memberName) { | 784 Element lookupBackendMember(String memberName) { |
| 791 return _unsupported('lookupBackendMember'); | 785 return _unsupported('lookupBackendMember'); |
| 792 } | 786 } |
| 793 | 787 |
| 794 @override | 788 @override |
| 795 ConstructorElement lookupDefaultConstructor() { | 789 ConstructorElement lookupDefaultConstructor() { |
| 796 ConstructorElement constructor = lookupConstructor(""); | 790 ConstructorElement constructor = lookupConstructor(""); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 820 class_members.ClassMemberMixin, | 814 class_members.ClassMemberMixin, |
| 821 ContainerMixin, | 815 ContainerMixin, |
| 822 LibraryMemberMixin, | 816 LibraryMemberMixin, |
| 823 TypeDeclarationMixin<InterfaceType>, | 817 TypeDeclarationMixin<InterfaceType>, |
| 824 ClassElementMixin | 818 ClassElementMixin |
| 825 implements ClassElement { | 819 implements ClassElement { |
| 826 bool _isObject; | 820 bool _isObject; |
| 827 DartType _supertype; | 821 DartType _supertype; |
| 828 OrderedTypeSet _allSupertypesAndSelf; | 822 OrderedTypeSet _allSupertypesAndSelf; |
| 829 Link<DartType> _interfaces; | 823 Link<DartType> _interfaces; |
| 824 FunctionType _callType; |
| 830 | 825 |
| 831 ClassElementZ(ObjectDecoder decoder) | 826 ClassElementZ(ObjectDecoder decoder) |
| 832 : super(decoder); | 827 : super(decoder); |
| 833 | 828 |
| 834 @override | 829 @override |
| 835 List<DartType> _getTypeVariables() { | 830 List<DartType> _getTypeVariables() { |
| 836 return _decoder.getTypes(Key.TYPE_VARIABLES, isOptional: true); | 831 return _decoder.getTypes(Key.TYPE_VARIABLES, isOptional: true); |
| 837 } | 832 } |
| 838 | 833 |
| 839 void _ensureSuperHierarchy() { | 834 void _ensureSuperHierarchy() { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 853 for (InterfaceType mixin in mixins) { | 848 for (InterfaceType mixin in mixins) { |
| 854 MixinApplicationElement mixinElement = | 849 MixinApplicationElement mixinElement = |
| 855 new UnnamedMixinApplicationElementZ(this, supertype, mixin); | 850 new UnnamedMixinApplicationElementZ(this, supertype, mixin); |
| 856 supertype = mixinElement.thisType.subst( | 851 supertype = mixinElement.thisType.subst( |
| 857 typeVariables, mixinElement.typeVariables); | 852 typeVariables, mixinElement.typeVariables); |
| 858 } | 853 } |
| 859 _supertype = supertype; | 854 _supertype = supertype; |
| 860 _allSupertypesAndSelf = | 855 _allSupertypesAndSelf = |
| 861 new OrderedTypeSetBuilder(this) | 856 new OrderedTypeSetBuilder(this) |
| 862 .createOrderedTypeSet(_supertype, _interfaces); | 857 .createOrderedTypeSet(_supertype, _interfaces); |
| 858 _callType = _decoder.getType(Key.CALL_TYPE, isOptional: true); |
| 863 } | 859 } |
| 864 } | 860 } |
| 865 } | 861 } |
| 866 | 862 |
| 867 @override | 863 @override |
| 868 accept(ElementVisitor visitor, arg) { | 864 accept(ElementVisitor visitor, arg) { |
| 869 return visitor.visitClassElement(this, arg); | 865 return visitor.visitClassElement(this, arg); |
| 870 } | 866 } |
| 871 | 867 |
| 872 @override | 868 @override |
| (...skipping 21 matching lines...) Expand all Loading... |
| 894 Link<DartType> get interfaces { | 890 Link<DartType> get interfaces { |
| 895 _ensureSuperHierarchy(); | 891 _ensureSuperHierarchy(); |
| 896 return _interfaces; | 892 return _interfaces; |
| 897 } | 893 } |
| 898 | 894 |
| 899 @override | 895 @override |
| 900 bool get isProxy => _decoder.getBool(Key.IS_PROXY); | 896 bool get isProxy => _decoder.getBool(Key.IS_PROXY); |
| 901 | 897 |
| 902 @override | 898 @override |
| 903 bool get isUnnamedMixinApplication => false; | 899 bool get isUnnamedMixinApplication => false; |
| 900 |
| 901 @override |
| 902 FunctionType get callType { |
| 903 _ensureSuperHierarchy(); |
| 904 return _callType; |
| 905 } |
| 904 } | 906 } |
| 905 | 907 |
| 906 abstract class MixinApplicationElementMixin | 908 abstract class MixinApplicationElementMixin |
| 907 implements ElementZ, MixinApplicationElement { | 909 implements ElementZ, MixinApplicationElement { |
| 908 Link<ConstructorElement> _constructors; | 910 Link<ConstructorElement> _constructors; |
| 909 | 911 |
| 910 @override | 912 @override |
| 911 bool get isMixinApplication => false; | 913 bool get isMixinApplication => false; |
| 912 | 914 |
| 913 @override | 915 @override |
| (...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1962 } | 1964 } |
| 1963 | 1965 |
| 1964 @override | 1966 @override |
| 1965 ElementKind get kind => ElementKind.PREFIX; | 1967 ElementKind get kind => ElementKind.PREFIX; |
| 1966 | 1968 |
| 1967 @override | 1969 @override |
| 1968 Element lookupLocalMember(String memberName) { | 1970 Element lookupLocalMember(String memberName) { |
| 1969 return _unsupported('lookupLocalMember'); | 1971 return _unsupported('lookupLocalMember'); |
| 1970 } | 1972 } |
| 1971 } | 1973 } |
| OLD | NEW |