| 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 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 } | 242 } |
| 243 | 243 |
| 244 abstract class AnalyzableElementMixin implements AnalyzableElement, ElementZ { | 244 abstract class AnalyzableElementMixin implements AnalyzableElement, ElementZ { |
| 245 @override | 245 @override |
| 246 bool get hasTreeElements => _unsupported('hasTreeElements'); | 246 bool get hasTreeElements => _unsupported('hasTreeElements'); |
| 247 | 247 |
| 248 @override | 248 @override |
| 249 TreeElements get treeElements => _unsupported('treeElements'); | 249 TreeElements get treeElements => _unsupported('treeElements'); |
| 250 } | 250 } |
| 251 | 251 |
| 252 abstract class AstElementMixin implements AstElement, ElementZ { | 252 abstract class AstElementMixinZ implements AstElement, ElementZ { |
| 253 ResolvedAst _resolvedAst; |
| 254 |
| 253 // TODO(johnniwinther): This is needed for the token invariant assertion. Find | 255 // TODO(johnniwinther): This is needed for the token invariant assertion. Find |
| 254 // another way to bypass the test for modelz. | 256 // another way to bypass the test for modelz. |
| 255 @override | 257 @override |
| 256 bool get hasNode => false; | 258 bool get hasNode => false; |
| 257 | 259 |
| 258 @override | 260 @override |
| 259 bool get hasResolvedAst => _unsupported('hasResolvedAst'); | 261 bool get hasResolvedAst => _resolvedAst != null; |
| 260 | 262 |
| 261 @override | 263 @override |
| 262 get node => _unsupported('node'); | 264 get node => _unsupported('node'); |
| 263 | 265 |
| 264 @override | 266 @override |
| 265 ResolvedAst get resolvedAst => _unsupported('resolvedAst'); | 267 ResolvedAst get resolvedAst { |
| 268 assert(invariant(this, _resolvedAst != null, |
| 269 message: "ResolvedAst has not been set for $this.")); |
| 270 return _resolvedAst; |
| 271 } |
| 272 |
| 273 void set resolvedAst(ResolvedAst value) { |
| 274 assert(invariant(this, _resolvedAst == null, |
| 275 message: "ResolvedAst has already been set for $this.")); |
| 276 _resolvedAst = value; |
| 277 } |
| 266 } | 278 } |
| 267 | 279 |
| 268 abstract class ContainerMixin | 280 abstract class ContainerMixin |
| 269 implements DeserializedElementZ, ScopeContainerElement { | 281 implements DeserializedElementZ, ScopeContainerElement { |
| 270 MappedContainer _membersMap = new MappedContainer(); | 282 MappedContainer _membersMap = new MappedContainer(); |
| 271 | 283 |
| 272 @override | 284 @override |
| 273 Element localLookup(String name) { | 285 Element localLookup(String name) { |
| 274 return _membersMap.lookup( | 286 return _membersMap.lookup( |
| 275 name, _decoder.getMap(Key.MEMBERS, isOptional: true)); | 287 name, _decoder.getMap(Key.MEMBERS, isOptional: true)); |
| (...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 794 | 806 |
| 795 @override | 807 @override |
| 796 void ensureResolved(Resolution resolution) { | 808 void ensureResolved(Resolution resolution) { |
| 797 resolution.registerClass(this); | 809 resolution.registerClass(this); |
| 798 } | 810 } |
| 799 } | 811 } |
| 800 | 812 |
| 801 class ClassElementZ extends DeserializedElementZ | 813 class ClassElementZ extends DeserializedElementZ |
| 802 with | 814 with |
| 803 AnalyzableElementMixin, | 815 AnalyzableElementMixin, |
| 804 AstElementMixin, | 816 AstElementMixinZ, |
| 805 ClassElementCommon, | 817 ClassElementCommon, |
| 806 class_members.ClassMemberMixin, | 818 class_members.ClassMemberMixin, |
| 807 ContainerMixin, | 819 ContainerMixin, |
| 808 LibraryMemberMixin, | 820 LibraryMemberMixin, |
| 809 TypeDeclarationMixin<InterfaceType>, | 821 TypeDeclarationMixin<InterfaceType>, |
| 810 ClassElementMixin | 822 ClassElementMixin |
| 811 implements ClassElement { | 823 implements ClassElement { |
| 812 bool _isObject; | 824 bool _isObject; |
| 813 DartType _supertype; | 825 DartType _supertype; |
| 814 OrderedTypeSet _allSupertypesAndSelf; | 826 OrderedTypeSet _allSupertypesAndSelf; |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 915 InterfaceType get mixinType => _mixinType ??= _decoder.getType(Key.MIXIN); | 927 InterfaceType get mixinType => _mixinType ??= _decoder.getType(Key.MIXIN); |
| 916 } | 928 } |
| 917 | 929 |
| 918 class UnnamedMixinApplicationElementZ extends ElementZ | 930 class UnnamedMixinApplicationElementZ extends ElementZ |
| 919 with | 931 with |
| 920 ClassElementCommon, | 932 ClassElementCommon, |
| 921 ClassElementMixin, | 933 ClassElementMixin, |
| 922 class_members.ClassMemberMixin, | 934 class_members.ClassMemberMixin, |
| 923 TypeDeclarationMixin<InterfaceType>, | 935 TypeDeclarationMixin<InterfaceType>, |
| 924 AnalyzableElementMixin, | 936 AnalyzableElementMixin, |
| 925 AstElementMixin, | 937 AstElementMixinZ, |
| 926 MixinApplicationElementCommon, | 938 MixinApplicationElementCommon, |
| 927 MixinApplicationElementMixin { | 939 MixinApplicationElementMixin { |
| 928 final String name; | 940 final String name; |
| 929 final ClassElement _subclass; | 941 final ClassElement _subclass; |
| 930 final InterfaceType supertype; | 942 final InterfaceType supertype; |
| 931 final Link<DartType> interfaces; | 943 final Link<DartType> interfaces; |
| 932 OrderedTypeSet _allSupertypesAndSelf; | 944 OrderedTypeSet _allSupertypesAndSelf; |
| 933 Link<ConstructorElement> _constructors; | 945 Link<ConstructorElement> _constructors; |
| 934 | 946 |
| 935 UnnamedMixinApplicationElementZ( | 947 UnnamedMixinApplicationElementZ( |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1036 if (_enumValues == null) { | 1048 if (_enumValues == null) { |
| 1037 _enumValues = _decoder.getElements(Key.FIELDS); | 1049 _enumValues = _decoder.getElements(Key.FIELDS); |
| 1038 } | 1050 } |
| 1039 return _enumValues; | 1051 return _enumValues; |
| 1040 } | 1052 } |
| 1041 } | 1053 } |
| 1042 | 1054 |
| 1043 abstract class ConstructorElementZ extends DeserializedElementZ | 1055 abstract class ConstructorElementZ extends DeserializedElementZ |
| 1044 with | 1056 with |
| 1045 AnalyzableElementMixin, | 1057 AnalyzableElementMixin, |
| 1046 AstElementMixin, | 1058 AstElementMixinZ, |
| 1047 ClassMemberMixin, | 1059 ClassMemberMixin, |
| 1048 FunctionTypedElementMixin, | 1060 FunctionTypedElementMixin, |
| 1049 ParametersMixin, | 1061 ParametersMixin, |
| 1050 TypedElementMixin, | 1062 TypedElementMixin, |
| 1051 MemberElementMixin | 1063 MemberElementMixin |
| 1052 implements | 1064 implements |
| 1053 ConstructorElement, | 1065 ConstructorElement, |
| 1054 // TODO(johnniwinther): Sort out whether a constructor is a method. | 1066 // TODO(johnniwinther): Sort out whether a constructor is a method. |
| 1055 MethodElement { | 1067 MethodElement { |
| 1056 ConstantConstructor _constantConstructor; | 1068 ConstantConstructor _constantConstructor; |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1217 } | 1229 } |
| 1218 | 1230 |
| 1219 @override | 1231 @override |
| 1220 PrefixElement get redirectionDeferredPrefix { | 1232 PrefixElement get redirectionDeferredPrefix { |
| 1221 _ensureRedirection(); | 1233 _ensureRedirection(); |
| 1222 return _redirectionDeferredPrefix; | 1234 return _redirectionDeferredPrefix; |
| 1223 } | 1235 } |
| 1224 } | 1236 } |
| 1225 | 1237 |
| 1226 class ForwardingConstructorElementZ extends ElementZ | 1238 class ForwardingConstructorElementZ extends ElementZ |
| 1227 with AnalyzableElementMixin, AstElementMixin | 1239 with AnalyzableElementMixin, AstElementMixinZ |
| 1228 implements ConstructorElement { | 1240 implements ConstructorElement { |
| 1229 final MixinApplicationElement enclosingClass; | 1241 final MixinApplicationElement enclosingClass; |
| 1230 final ConstructorElement definingConstructor; | 1242 final ConstructorElement definingConstructor; |
| 1231 | 1243 |
| 1232 ForwardingConstructorElementZ(this.enclosingClass, this.definingConstructor); | 1244 ForwardingConstructorElementZ(this.enclosingClass, this.definingConstructor); |
| 1233 | 1245 |
| 1234 @override | 1246 @override |
| 1235 CompilationUnitElement get compilationUnit => enclosingClass.compilationUnit; | 1247 CompilationUnitElement get compilationUnit => enclosingClass.compilationUnit; |
| 1236 | 1248 |
| 1237 @override | 1249 @override |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1352 @override | 1364 @override |
| 1353 Name get memberName => new Name(name, library); | 1365 Name get memberName => new Name(name, library); |
| 1354 | 1366 |
| 1355 @override | 1367 @override |
| 1356 List<FunctionElement> get nestedClosures => <FunctionElement>[]; | 1368 List<FunctionElement> get nestedClosures => <FunctionElement>[]; |
| 1357 } | 1369 } |
| 1358 | 1370 |
| 1359 abstract class FieldElementZ extends DeserializedElementZ | 1371 abstract class FieldElementZ extends DeserializedElementZ |
| 1360 with | 1372 with |
| 1361 AnalyzableElementMixin, | 1373 AnalyzableElementMixin, |
| 1362 AstElementMixin, | 1374 AstElementMixinZ, |
| 1363 TypedElementMixin, | 1375 TypedElementMixin, |
| 1364 MemberElementMixin | 1376 MemberElementMixin |
| 1365 implements FieldElement { | 1377 implements FieldElement { |
| 1366 bool _isConst; | 1378 bool _isConst; |
| 1367 ConstantExpression _constant; | 1379 ConstantExpression _constant; |
| 1368 | 1380 |
| 1369 FieldElementZ(ObjectDecoder decoder) : super(decoder); | 1381 FieldElementZ(ObjectDecoder decoder) : super(decoder); |
| 1370 | 1382 |
| 1371 @override | 1383 @override |
| 1372 ElementKind get kind => ElementKind.FIELD; | 1384 ElementKind get kind => ElementKind.FIELD; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1419 } | 1431 } |
| 1420 | 1432 |
| 1421 class InstanceFieldElementZ extends FieldElementZ | 1433 class InstanceFieldElementZ extends FieldElementZ |
| 1422 with ClassMemberMixin, InstanceMemberMixin { | 1434 with ClassMemberMixin, InstanceMemberMixin { |
| 1423 InstanceFieldElementZ(ObjectDecoder decoder) : super(decoder); | 1435 InstanceFieldElementZ(ObjectDecoder decoder) : super(decoder); |
| 1424 } | 1436 } |
| 1425 | 1437 |
| 1426 abstract class FunctionElementZ extends DeserializedElementZ | 1438 abstract class FunctionElementZ extends DeserializedElementZ |
| 1427 with | 1439 with |
| 1428 AnalyzableElementMixin, | 1440 AnalyzableElementMixin, |
| 1429 AstElementMixin, | 1441 AstElementMixinZ, |
| 1430 ParametersMixin, | 1442 ParametersMixin, |
| 1431 FunctionTypedElementMixin, | 1443 FunctionTypedElementMixin, |
| 1432 TypedElementMixin, | 1444 TypedElementMixin, |
| 1433 MemberElementMixin | 1445 MemberElementMixin |
| 1434 implements MethodElement { | 1446 implements MethodElement { |
| 1435 FunctionElementZ(ObjectDecoder decoder) : super(decoder); | 1447 FunctionElementZ(ObjectDecoder decoder) : super(decoder); |
| 1436 | 1448 |
| 1437 @override | 1449 @override |
| 1438 ElementKind get kind => ElementKind.FUNCTION; | 1450 ElementKind get kind => ElementKind.FUNCTION; |
| 1439 | 1451 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1498 @override | 1510 @override |
| 1499 bool get hasTreeElements => memberContext.hasTreeElements; | 1511 bool get hasTreeElements => memberContext.hasTreeElements; |
| 1500 | 1512 |
| 1501 @override | 1513 @override |
| 1502 TreeElements get treeElements => memberContext.treeElements; | 1514 TreeElements get treeElements => memberContext.treeElements; |
| 1503 } | 1515 } |
| 1504 | 1516 |
| 1505 class LocalFunctionElementZ extends DeserializedElementZ | 1517 class LocalFunctionElementZ extends DeserializedElementZ |
| 1506 with | 1518 with |
| 1507 LocalExecutableMixin, | 1519 LocalExecutableMixin, |
| 1508 AstElementMixin, | 1520 AstElementMixinZ, |
| 1509 ParametersMixin, | 1521 ParametersMixin, |
| 1510 FunctionTypedElementMixin, | 1522 FunctionTypedElementMixin, |
| 1511 TypedElementMixin | 1523 TypedElementMixin |
| 1512 implements LocalFunctionElement { | 1524 implements LocalFunctionElement { |
| 1513 LocalFunctionElementZ(ObjectDecoder decoder) : super(decoder); | 1525 LocalFunctionElementZ(ObjectDecoder decoder) : super(decoder); |
| 1514 | 1526 |
| 1515 @override | 1527 @override |
| 1516 accept(ElementVisitor visitor, arg) { | 1528 accept(ElementVisitor visitor, arg) { |
| 1517 return visitor.visitLocalFunctionElement(this, arg); | 1529 return visitor.visitLocalFunctionElement(this, arg); |
| 1518 } | 1530 } |
| 1519 | 1531 |
| 1520 @override | 1532 @override |
| 1521 ElementKind get kind => ElementKind.FUNCTION; | 1533 ElementKind get kind => ElementKind.FUNCTION; |
| 1522 | 1534 |
| 1523 @override | 1535 @override |
| 1524 AsyncMarker get asyncMarker { | 1536 AsyncMarker get asyncMarker { |
| 1525 return _decoder.getEnum(Key.ASYNC_MARKER, AsyncMarker.values); | 1537 return _decoder.getEnum(Key.ASYNC_MARKER, AsyncMarker.values); |
| 1526 } | 1538 } |
| 1527 } | 1539 } |
| 1528 | 1540 |
| 1529 abstract class GetterElementZ extends DeserializedElementZ | 1541 abstract class GetterElementZ extends DeserializedElementZ |
| 1530 with | 1542 with |
| 1531 AnalyzableElementMixin, | 1543 AnalyzableElementMixin, |
| 1532 AstElementMixin, | 1544 AstElementMixinZ, |
| 1533 FunctionTypedElementMixin, | 1545 FunctionTypedElementMixin, |
| 1534 ParametersMixin, | 1546 ParametersMixin, |
| 1535 TypedElementMixin, | 1547 TypedElementMixin, |
| 1536 MemberElementMixin | 1548 MemberElementMixin |
| 1537 implements GetterElement { | 1549 implements GetterElement { |
| 1538 AbstractFieldElement abstractField; | 1550 AbstractFieldElement abstractField; |
| 1539 SetterElement setter; | 1551 SetterElement setter; |
| 1540 | 1552 |
| 1541 GetterElementZ(ObjectDecoder decoder) : super(decoder); | 1553 GetterElementZ(ObjectDecoder decoder) : super(decoder); |
| 1542 | 1554 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1562 } | 1574 } |
| 1563 | 1575 |
| 1564 class InstanceGetterElementZ extends GetterElementZ | 1576 class InstanceGetterElementZ extends GetterElementZ |
| 1565 with ClassMemberMixin, InstanceMemberMixin { | 1577 with ClassMemberMixin, InstanceMemberMixin { |
| 1566 InstanceGetterElementZ(ObjectDecoder decoder) : super(decoder); | 1578 InstanceGetterElementZ(ObjectDecoder decoder) : super(decoder); |
| 1567 } | 1579 } |
| 1568 | 1580 |
| 1569 abstract class SetterElementZ extends DeserializedElementZ | 1581 abstract class SetterElementZ extends DeserializedElementZ |
| 1570 with | 1582 with |
| 1571 AnalyzableElementMixin, | 1583 AnalyzableElementMixin, |
| 1572 AstElementMixin, | 1584 AstElementMixinZ, |
| 1573 FunctionTypedElementMixin, | 1585 FunctionTypedElementMixin, |
| 1574 ParametersMixin, | 1586 ParametersMixin, |
| 1575 TypedElementMixin, | 1587 TypedElementMixin, |
| 1576 MemberElementMixin | 1588 MemberElementMixin |
| 1577 implements SetterElement { | 1589 implements SetterElement { |
| 1578 AbstractFieldElement abstractField; | 1590 AbstractFieldElement abstractField; |
| 1579 GetterElement getter; | 1591 GetterElement getter; |
| 1580 | 1592 |
| 1581 SetterElementZ(ObjectDecoder decoder) : super(decoder); | 1593 SetterElementZ(ObjectDecoder decoder) : super(decoder); |
| 1582 | 1594 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1654 @override | 1666 @override |
| 1655 T computeType(Resolution resolution) => thisType; | 1667 T computeType(Resolution resolution) => thisType; |
| 1656 | 1668 |
| 1657 @override | 1669 @override |
| 1658 bool get isResolved => true; | 1670 bool get isResolved => true; |
| 1659 } | 1671 } |
| 1660 | 1672 |
| 1661 class TypedefElementZ extends DeserializedElementZ | 1673 class TypedefElementZ extends DeserializedElementZ |
| 1662 with | 1674 with |
| 1663 AnalyzableElementMixin, | 1675 AnalyzableElementMixin, |
| 1664 AstElementMixin, | 1676 AstElementMixinZ, |
| 1665 LibraryMemberMixin, | 1677 LibraryMemberMixin, |
| 1666 ParametersMixin, | 1678 ParametersMixin, |
| 1667 TypeDeclarationMixin<TypedefType> | 1679 TypeDeclarationMixin<TypedefType> |
| 1668 implements TypedefElement { | 1680 implements TypedefElement { |
| 1669 DartType _alias; | 1681 DartType _alias; |
| 1670 | 1682 |
| 1671 TypedefElementZ(ObjectDecoder decoder) : super(decoder); | 1683 TypedefElementZ(ObjectDecoder decoder) : super(decoder); |
| 1672 | 1684 |
| 1673 TypedefType _createType(List<DartType> typeArguments) { | 1685 TypedefType _createType(List<DartType> typeArguments) { |
| 1674 return new TypedefType(this, typeArguments); | 1686 return new TypedefType(this, typeArguments); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1696 } | 1708 } |
| 1697 | 1709 |
| 1698 @override | 1710 @override |
| 1699 void ensureResolved(Resolution resolution) {} | 1711 void ensureResolved(Resolution resolution) {} |
| 1700 | 1712 |
| 1701 @override | 1713 @override |
| 1702 void checkCyclicReference(Resolution resolution) {} | 1714 void checkCyclicReference(Resolution resolution) {} |
| 1703 } | 1715 } |
| 1704 | 1716 |
| 1705 class TypeVariableElementZ extends DeserializedElementZ | 1717 class TypeVariableElementZ extends DeserializedElementZ |
| 1706 with AnalyzableElementMixin, AstElementMixin, TypedElementMixin | 1718 with AnalyzableElementMixin, AstElementMixinZ, TypedElementMixin |
| 1707 implements TypeVariableElement { | 1719 implements TypeVariableElement { |
| 1708 TypeDeclarationElement _typeDeclaration; | 1720 TypeDeclarationElement _typeDeclaration; |
| 1709 TypeVariableType _type; | 1721 TypeVariableType _type; |
| 1710 DartType _bound; | 1722 DartType _bound; |
| 1711 Name _memberName; | 1723 Name _memberName; |
| 1712 | 1724 |
| 1713 TypeVariableElementZ(ObjectDecoder decoder) : super(decoder); | 1725 TypeVariableElementZ(ObjectDecoder decoder) : super(decoder); |
| 1714 | 1726 |
| 1715 Name get memberName { | 1727 Name get memberName { |
| 1716 if (_memberName == null) { | 1728 if (_memberName == null) { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1754 _bound = _decoder.getType(Key.BOUND); | 1766 _bound = _decoder.getType(Key.BOUND); |
| 1755 } | 1767 } |
| 1756 return _bound; | 1768 return _bound; |
| 1757 } | 1769 } |
| 1758 | 1770 |
| 1759 @override | 1771 @override |
| 1760 LibraryElement get library => typeDeclaration.library; | 1772 LibraryElement get library => typeDeclaration.library; |
| 1761 } | 1773 } |
| 1762 | 1774 |
| 1763 class SyntheticTypeVariableElementZ extends ElementZ | 1775 class SyntheticTypeVariableElementZ extends ElementZ |
| 1764 with AnalyzableElementMixin, AstElementMixin | 1776 with AnalyzableElementMixin, AstElementMixinZ |
| 1765 implements TypeVariableElement { | 1777 implements TypeVariableElement { |
| 1766 final TypeDeclarationElement typeDeclaration; | 1778 final TypeDeclarationElement typeDeclaration; |
| 1767 final int index; | 1779 final int index; |
| 1768 final String name; | 1780 final String name; |
| 1769 TypeVariableType _type; | 1781 TypeVariableType _type; |
| 1770 DartType _bound; | 1782 DartType _bound; |
| 1771 Name _memberName; | 1783 Name _memberName; |
| 1772 | 1784 |
| 1773 SyntheticTypeVariableElementZ(this.typeDeclaration, this.index, this.name); | 1785 SyntheticTypeVariableElementZ(this.typeDeclaration, this.index, this.name); |
| 1774 | 1786 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1818 LibraryElement get library => typeDeclaration.library; | 1830 LibraryElement get library => typeDeclaration.library; |
| 1819 | 1831 |
| 1820 @override | 1832 @override |
| 1821 int get sourceOffset => typeDeclaration.sourceOffset; | 1833 int get sourceOffset => typeDeclaration.sourceOffset; |
| 1822 | 1834 |
| 1823 @override | 1835 @override |
| 1824 SourceSpan get sourcePosition => typeDeclaration.sourcePosition; | 1836 SourceSpan get sourcePosition => typeDeclaration.sourcePosition; |
| 1825 } | 1837 } |
| 1826 | 1838 |
| 1827 abstract class ParameterElementZ extends DeserializedElementZ | 1839 abstract class ParameterElementZ extends DeserializedElementZ |
| 1828 with AnalyzableElementMixin, AstElementMixin, TypedElementMixin | 1840 with AnalyzableElementMixin, AstElementMixinZ, TypedElementMixin |
| 1829 implements ParameterElement { | 1841 implements ParameterElement { |
| 1830 FunctionElement _functionDeclaration; | 1842 FunctionElement _functionDeclaration; |
| 1831 ConstantExpression _constant; | 1843 ConstantExpression _constant; |
| 1832 DartType _type; | 1844 DartType _type; |
| 1833 | 1845 |
| 1834 ParameterElementZ(ObjectDecoder decoder) : super(decoder); | 1846 ParameterElementZ(ObjectDecoder decoder) : super(decoder); |
| 1835 | 1847 |
| 1836 @override | 1848 @override |
| 1837 bool get isFinal => _decoder.getBool(Key.IS_FINAL); | 1849 bool get isFinal => _decoder.getBool(Key.IS_FINAL); |
| 1838 | 1850 |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1931 return visitor.visitFieldParameterElement(this, arg); | 1943 return visitor.visitFieldParameterElement(this, arg); |
| 1932 } | 1944 } |
| 1933 | 1945 |
| 1934 @override | 1946 @override |
| 1935 ElementKind get kind => ElementKind.INITIALIZING_FORMAL; | 1947 ElementKind get kind => ElementKind.INITIALIZING_FORMAL; |
| 1936 } | 1948 } |
| 1937 | 1949 |
| 1938 class LocalVariableElementZ extends DeserializedElementZ | 1950 class LocalVariableElementZ extends DeserializedElementZ |
| 1939 with | 1951 with |
| 1940 AnalyzableElementMixin, | 1952 AnalyzableElementMixin, |
| 1941 AstElementMixin, | 1953 AstElementMixinZ, |
| 1942 LocalExecutableMixin, | 1954 LocalExecutableMixin, |
| 1943 TypedElementMixin | 1955 TypedElementMixin |
| 1944 implements LocalVariableElement { | 1956 implements LocalVariableElement { |
| 1945 bool _isConst; | 1957 bool _isConst; |
| 1946 ConstantExpression _constant; | 1958 ConstantExpression _constant; |
| 1947 | 1959 |
| 1948 LocalVariableElementZ(ObjectDecoder decoder) : super(decoder); | 1960 LocalVariableElementZ(ObjectDecoder decoder) : super(decoder); |
| 1949 | 1961 |
| 1950 @override | 1962 @override |
| 1951 accept(ElementVisitor visitor, arg) { | 1963 accept(ElementVisitor visitor, arg) { |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2109 } | 2121 } |
| 2110 | 2122 |
| 2111 @override | 2123 @override |
| 2112 ElementKind get kind => ElementKind.PREFIX; | 2124 ElementKind get kind => ElementKind.PREFIX; |
| 2113 | 2125 |
| 2114 @override | 2126 @override |
| 2115 Element lookupLocalMember(String memberName) { | 2127 Element lookupLocalMember(String memberName) { |
| 2116 return _unsupported('lookupLocalMember'); | 2128 return _unsupported('lookupLocalMember'); |
| 2117 } | 2129 } |
| 2118 } | 2130 } |
| OLD | NEW |