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 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 AsyncMarker get asyncMarker => _unsupported('asyncMarker'); | 751 AsyncMarker get asyncMarker => _unsupported('asyncMarker'); |
752 | 752 |
753 @override | 753 @override |
754 FunctionElement asFunctionElement() => this; | 754 FunctionElement asFunctionElement() => this; |
755 | 755 |
756 @override | 756 @override |
757 bool get isExternal { | 757 bool get isExternal { |
758 return _decoder.getBool(Key.IS_EXTERNAL, | 758 return _decoder.getBool(Key.IS_EXTERNAL, |
759 isOptional: true, defaultValue: false); | 759 isOptional: true, defaultValue: false); |
760 } | 760 } |
| 761 |
| 762 @override |
| 763 List<DartType> get typeVariables => functionSignature.typeVariables; |
761 } | 764 } |
762 | 765 |
763 abstract class ClassElementMixin implements ElementZ, ClassElement { | 766 abstract class ClassElementMixin implements ElementZ, ClassElement { |
764 InterfaceType _createType(List<DartType> typeArguments) { | 767 InterfaceType _createType(List<DartType> typeArguments) { |
765 return new InterfaceType(this, typeArguments); | 768 return new InterfaceType(this, typeArguments); |
766 } | 769 } |
767 | 770 |
768 @override | 771 @override |
769 ElementKind get kind => ElementKind.CLASS; | 772 ElementKind get kind => ElementKind.CLASS; |
770 | 773 |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1322 | 1325 |
1323 @override | 1326 @override |
1324 SourceSpan get sourcePosition => enclosingClass.sourcePosition; | 1327 SourceSpan get sourcePosition => enclosingClass.sourcePosition; |
1325 | 1328 |
1326 @override | 1329 @override |
1327 FunctionType get type { | 1330 FunctionType get type { |
1328 // TODO(johnniwinther): Ensure that the function type substitutes type | 1331 // TODO(johnniwinther): Ensure that the function type substitutes type |
1329 // variables correctly. | 1332 // variables correctly. |
1330 return definingConstructor.type; | 1333 return definingConstructor.type; |
1331 } | 1334 } |
| 1335 |
| 1336 @override |
| 1337 List<DartType> get typeVariables => _unsupported("typeVariables"); |
1332 } | 1338 } |
1333 | 1339 |
1334 abstract class MemberElementMixin | 1340 abstract class MemberElementMixin |
1335 implements DeserializedElementZ, MemberElement { | 1341 implements DeserializedElementZ, MemberElement { |
1336 @override | 1342 @override |
1337 MemberElement get memberContext => this; | 1343 MemberElement get memberContext => this; |
1338 | 1344 |
1339 @override | 1345 @override |
1340 Name get memberName => new Name(name, library); | 1346 Name get memberName => new Name(name, library); |
1341 | 1347 |
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1861 bool get isNamed => _decoder.getBool(Key.IS_NAMED); | 1867 bool get isNamed => _decoder.getBool(Key.IS_NAMED); |
1862 | 1868 |
1863 @override | 1869 @override |
1864 bool get isOptional => _decoder.getBool(Key.IS_OPTIONAL); | 1870 bool get isOptional => _decoder.getBool(Key.IS_OPTIONAL); |
1865 | 1871 |
1866 @override | 1872 @override |
1867 LibraryElement get library => executableContext.library; | 1873 LibraryElement get library => executableContext.library; |
1868 | 1874 |
1869 @override | 1875 @override |
1870 MemberElement get memberContext => executableContext.memberContext; | 1876 MemberElement get memberContext => executableContext.memberContext; |
| 1877 |
| 1878 @override |
| 1879 List<DartType> get typeVariables => functionSignature.typeVariables; |
1871 } | 1880 } |
1872 | 1881 |
1873 class LocalParameterElementZ extends ParameterElementZ | 1882 class LocalParameterElementZ extends ParameterElementZ |
1874 implements LocalParameterElement { | 1883 implements LocalParameterElement { |
1875 LocalParameterElementZ(ObjectDecoder decoder) : super(decoder); | 1884 LocalParameterElementZ(ObjectDecoder decoder) : super(decoder); |
1876 | 1885 |
1877 @override | 1886 @override |
1878 accept(ElementVisitor visitor, arg) { | 1887 accept(ElementVisitor visitor, arg) { |
1879 return visitor.visitParameterElement(this, arg); | 1888 return visitor.visitParameterElement(this, arg); |
1880 } | 1889 } |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2080 } | 2089 } |
2081 | 2090 |
2082 @override | 2091 @override |
2083 ElementKind get kind => ElementKind.PREFIX; | 2092 ElementKind get kind => ElementKind.PREFIX; |
2084 | 2093 |
2085 @override | 2094 @override |
2086 Element lookupLocalMember(String memberName) { | 2095 Element lookupLocalMember(String memberName) { |
2087 return _unsupported('lookupLocalMember'); | 2096 return _unsupported('lookupLocalMember'); |
2088 } | 2097 } |
2089 } | 2098 } |
OLD | NEW |