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 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 AsyncMarker get asyncMarker => _unsupported('asyncMarker'); | 727 AsyncMarker get asyncMarker => _unsupported('asyncMarker'); |
728 | 728 |
729 @override | 729 @override |
730 FunctionElement asFunctionElement() => this; | 730 FunctionElement asFunctionElement() => this; |
731 | 731 |
732 @override | 732 @override |
733 bool get isExternal { | 733 bool get isExternal { |
734 return _decoder.getBool(Key.IS_EXTERNAL, | 734 return _decoder.getBool(Key.IS_EXTERNAL, |
735 isOptional: true, defaultValue: false); | 735 isOptional: true, defaultValue: false); |
736 } | 736 } |
| 737 |
| 738 @override |
| 739 List<DartType> get typeVariables => functionSignature.typeVariables; |
737 } | 740 } |
738 | 741 |
739 abstract class ClassElementMixin implements ElementZ, ClassElement { | 742 abstract class ClassElementMixin implements ElementZ, ClassElement { |
740 InterfaceType _createType(List<DartType> typeArguments) { | 743 InterfaceType _createType(List<DartType> typeArguments) { |
741 return new InterfaceType(this, typeArguments); | 744 return new InterfaceType(this, typeArguments); |
742 } | 745 } |
743 | 746 |
744 @override | 747 @override |
745 ElementKind get kind => ElementKind.CLASS; | 748 ElementKind get kind => ElementKind.CLASS; |
746 | 749 |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1243 | 1246 |
1244 @override | 1247 @override |
1245 SourceSpan get sourcePosition => enclosingClass.sourcePosition; | 1248 SourceSpan get sourcePosition => enclosingClass.sourcePosition; |
1246 | 1249 |
1247 @override | 1250 @override |
1248 FunctionType get type { | 1251 FunctionType get type { |
1249 // TODO(johnniwinther): Ensure that the function type substitutes type | 1252 // TODO(johnniwinther): Ensure that the function type substitutes type |
1250 // variables correctly. | 1253 // variables correctly. |
1251 return definingConstructor.type; | 1254 return definingConstructor.type; |
1252 } | 1255 } |
| 1256 |
| 1257 @override |
| 1258 List<DartType> get typeVariables => _unsupported("typeVariables"); |
1253 } | 1259 } |
1254 | 1260 |
1255 abstract class MemberElementMixin | 1261 abstract class MemberElementMixin |
1256 implements DeserializedElementZ, MemberElement { | 1262 implements DeserializedElementZ, MemberElement { |
1257 @override | 1263 @override |
1258 MemberElement get memberContext => this; | 1264 MemberElement get memberContext => this; |
1259 | 1265 |
1260 @override | 1266 @override |
1261 Name get memberName => new Name(name, library); | 1267 Name get memberName => new Name(name, library); |
1262 | 1268 |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1770 bool get isNamed => _decoder.getBool(Key.IS_NAMED); | 1776 bool get isNamed => _decoder.getBool(Key.IS_NAMED); |
1771 | 1777 |
1772 @override | 1778 @override |
1773 bool get isOptional => _decoder.getBool(Key.IS_OPTIONAL); | 1779 bool get isOptional => _decoder.getBool(Key.IS_OPTIONAL); |
1774 | 1780 |
1775 @override | 1781 @override |
1776 LibraryElement get library => executableContext.library; | 1782 LibraryElement get library => executableContext.library; |
1777 | 1783 |
1778 @override | 1784 @override |
1779 MemberElement get memberContext => executableContext.memberContext; | 1785 MemberElement get memberContext => executableContext.memberContext; |
| 1786 |
| 1787 @override |
| 1788 List<DartType> get typeVariables => functionSignature.typeVariables; |
1780 } | 1789 } |
1781 | 1790 |
1782 class LocalParameterElementZ extends ParameterElementZ | 1791 class LocalParameterElementZ extends ParameterElementZ |
1783 implements LocalParameterElement { | 1792 implements LocalParameterElement { |
1784 LocalParameterElementZ(ObjectDecoder decoder) : super(decoder); | 1793 LocalParameterElementZ(ObjectDecoder decoder) : super(decoder); |
1785 | 1794 |
1786 @override | 1795 @override |
1787 accept(ElementVisitor visitor, arg) { | 1796 accept(ElementVisitor visitor, arg) { |
1788 return visitor.visitParameterElement(this, arg); | 1797 return visitor.visitParameterElement(this, arg); |
1789 } | 1798 } |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1989 } | 1998 } |
1990 | 1999 |
1991 @override | 2000 @override |
1992 ElementKind get kind => ElementKind.PREFIX; | 2001 ElementKind get kind => ElementKind.PREFIX; |
1993 | 2002 |
1994 @override | 2003 @override |
1995 Element lookupLocalMember(String memberName) { | 2004 Element lookupLocalMember(String memberName) { |
1996 return _unsupported('lookupLocalMember'); | 2005 return _unsupported('lookupLocalMember'); |
1997 } | 2006 } |
1998 } | 2007 } |
OLD | NEW |