| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 // This code was auto-generated, is not intended to be edited, and is subject to | 5 // This code was auto-generated, is not intended to be edited, and is subject to |
| 6 // significant change. Please see the README file for more information. | 6 // significant change. Please see the README file for more information. |
| 7 | 7 |
| 8 library engine.element; | 8 library engine.element; |
| 9 | 9 |
| 10 import 'dart:collection'; | 10 import 'dart:collection'; |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 * | 210 * |
| 211 * <b>Note:</b> Because the element model represents the state of the code, it | 211 * <b>Note:</b> Because the element model represents the state of the code, it |
| 212 * is possible for it to be semantically invalid. In particular, it is not | 212 * is possible for it to be semantically invalid. In particular, it is not |
| 213 * safe to assume that the inheritance structure of a class does not contain a | 213 * safe to assume that the inheritance structure of a class does not contain a |
| 214 * cycle. Clients that traverse the inheritance structure must explicitly | 214 * cycle. Clients that traverse the inheritance structure must explicitly |
| 215 * guard against infinite loops. | 215 * guard against infinite loops. |
| 216 */ | 216 */ |
| 217 List<InterfaceType> get mixins; | 217 List<InterfaceType> get mixins; |
| 218 | 218 |
| 219 /** | 219 /** |
| 220 * Return the resolved [ClassDeclaration] node that declares this | 220 * Return the resolved [ClassDeclaration] or [EnumDeclaration] node that |
| 221 * [ClassElement]. | 221 * declares this [ClassElement]. |
| 222 * | 222 * |
| 223 * This method is expensive, because resolved AST might be evicted from cache, | 223 * This method is expensive, because resolved AST might be evicted from cache, |
| 224 * so parsing and resolving will be performed. | 224 * so parsing and resolving will be performed. |
| 225 */ | 225 */ |
| 226 @override | 226 @override |
| 227 ClassDeclaration get node; | 227 AstNode get node; |
| 228 | 228 |
| 229 /** | 229 /** |
| 230 * Return the superclass of this class, or `null` if the class represents the | 230 * Return the superclass of this class, or `null` if the class represents the |
| 231 * class 'Object'. All other classes will have a non-`null` superclass. If the | 231 * class 'Object'. All other classes will have a non-`null` superclass. If the |
| 232 * superclass was not explicitly declared then the implicit superclass | 232 * superclass was not explicitly declared then the implicit superclass |
| 233 * 'Object' will be returned. | 233 * 'Object' will be returned. |
| 234 * | 234 * |
| 235 * <b>Note:</b> Because the element model represents the state of the code, it | 235 * <b>Note:</b> Because the element model represents the state of the code, it |
| 236 * is possible for it to be semantically invalid. In particular, it is not | 236 * is possible for it to be semantically invalid. In particular, it is not |
| 237 * safe to assume that the inheritance structure of a class does not contain a | 237 * safe to assume that the inheritance structure of a class does not contain a |
| (...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 688 | 688 |
| 689 /** | 689 /** |
| 690 * Set whether an error has reported explaining why this class is an | 690 * Set whether an error has reported explaining why this class is an |
| 691 * invalid mixin application. | 691 * invalid mixin application. |
| 692 */ | 692 */ |
| 693 void set mixinErrorsReported(bool value) { | 693 void set mixinErrorsReported(bool value) { |
| 694 setModifier(Modifier.MIXIN_ERRORS_REPORTED, value); | 694 setModifier(Modifier.MIXIN_ERRORS_REPORTED, value); |
| 695 } | 695 } |
| 696 | 696 |
| 697 @override | 697 @override |
| 698 ClassDeclaration get node => | 698 AstNode get node { |
| 699 getNodeMatching((node) => node is ClassDeclaration); | 699 if (isEnum) { |
| 700 return getNodeMatching((node) => node is EnumDeclaration); |
| 701 } else { |
| 702 return getNodeMatching((node) => node is ClassDeclaration); |
| 703 } |
| 704 } |
| 700 | 705 |
| 701 /** | 706 /** |
| 702 * Set whether this class is defined by a typedef construct. | 707 * Set whether this class is defined by a typedef construct. |
| 703 */ | 708 */ |
| 704 void set typedef(bool isTypedef) { | 709 void set typedef(bool isTypedef) { |
| 705 setModifier(Modifier.TYPEDEF, isTypedef); | 710 setModifier(Modifier.TYPEDEF, isTypedef); |
| 706 } | 711 } |
| 707 | 712 |
| 708 @override | 713 @override |
| 709 List<TypeParameterElement> get typeParameters => _typeParameters; | 714 List<TypeParameterElement> get typeParameters => _typeParameters; |
| (...skipping 2966 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3676 | 3681 |
| 3677 /** | 3682 /** |
| 3678 * A field defined within a type. | 3683 * A field defined within a type. |
| 3679 */ | 3684 */ |
| 3680 abstract class FieldElement | 3685 abstract class FieldElement |
| 3681 implements ClassMemberElement, PropertyInducingElement { | 3686 implements ClassMemberElement, PropertyInducingElement { |
| 3682 /** | 3687 /** |
| 3683 * Return {@code true} if this element is an enum constant. | 3688 * Return {@code true} if this element is an enum constant. |
| 3684 */ | 3689 */ |
| 3685 bool get isEnumConstant; | 3690 bool get isEnumConstant; |
| 3691 |
| 3692 /** |
| 3693 * Return the resolved [VariableDeclaration] or [EnumConstantDeclaration] |
| 3694 * node that declares this [FieldElement]. |
| 3695 * |
| 3696 * This method is expensive, because resolved AST might be evicted from cache, |
| 3697 * so parsing and resolving will be performed. |
| 3698 */ |
| 3699 @override |
| 3700 AstNode get node; |
| 3686 } | 3701 } |
| 3687 | 3702 |
| 3688 /** | 3703 /** |
| 3689 * A concrete implementation of a [FieldElement]. | 3704 * A concrete implementation of a [FieldElement]. |
| 3690 */ | 3705 */ |
| 3691 class FieldElementImpl extends PropertyInducingElementImpl | 3706 class FieldElementImpl extends PropertyInducingElementImpl |
| 3692 implements FieldElement { | 3707 implements FieldElement { |
| 3693 /** | 3708 /** |
| 3694 * An empty list of field elements. | 3709 * An empty list of field elements. |
| 3695 */ | 3710 */ |
| (...skipping 16 matching lines...) Expand all Loading... |
| 3712 @override | 3727 @override |
| 3713 bool get isEnumConstant => | 3728 bool get isEnumConstant => |
| 3714 enclosingElement != null ? enclosingElement.isEnum : false; | 3729 enclosingElement != null ? enclosingElement.isEnum : false; |
| 3715 | 3730 |
| 3716 @override | 3731 @override |
| 3717 bool get isStatic => hasModifier(Modifier.STATIC); | 3732 bool get isStatic => hasModifier(Modifier.STATIC); |
| 3718 | 3733 |
| 3719 @override | 3734 @override |
| 3720 ElementKind get kind => ElementKind.FIELD; | 3735 ElementKind get kind => ElementKind.FIELD; |
| 3721 | 3736 |
| 3737 @override |
| 3738 AstNode get node { |
| 3739 if (isEnumConstant) { |
| 3740 return getNodeMatching((node) => node is EnumConstantDeclaration); |
| 3741 } else { |
| 3742 return getNodeMatching((node) => node is VariableDeclaration); |
| 3743 } |
| 3744 } |
| 3745 |
| 3722 /** | 3746 /** |
| 3723 * Set whether this field is static. | 3747 * Set whether this field is static. |
| 3724 */ | 3748 */ |
| 3725 void set static(bool isStatic) { | 3749 void set static(bool isStatic) { |
| 3726 setModifier(Modifier.STATIC, isStatic); | 3750 setModifier(Modifier.STATIC, isStatic); |
| 3727 } | 3751 } |
| 3728 | 3752 |
| 3729 @override | 3753 @override |
| 3730 accept(ElementVisitor visitor) => visitor.visitFieldElement(this); | 3754 accept(ElementVisitor visitor) => visitor.visitFieldElement(this); |
| 3731 } | 3755 } |
| (...skipping 1849 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5581 * The result of looking up getter (respectively setter) <i>m</i> in class | 5605 * The result of looking up getter (respectively setter) <i>m</i> in class |
| 5582 * <i>C</i> with respect to library <i>L</i> is: | 5606 * <i>C</i> with respect to library <i>L</i> is: |
| 5583 * * If <i>C</i> declares an instance getter (respectively setter) named | 5607 * * If <i>C</i> declares an instance getter (respectively setter) named |
| 5584 * <i>m</i> that is accessible to <i>L</i>, then that getter (respectively | 5608 * <i>m</i> that is accessible to <i>L</i>, then that getter (respectively |
| 5585 * setter) is the result of the lookup. Otherwise, if <i>C</i> has a | 5609 * setter) is the result of the lookup. Otherwise, if <i>C</i> has a |
| 5586 * superclass <i>S</i>, then the result of the lookup is the result of | 5610 * superclass <i>S</i>, then the result of the lookup is the result of |
| 5587 * looking up getter (respectively setter) <i>m</i> in <i>S</i> with respect | 5611 * looking up getter (respectively setter) <i>m</i> in <i>S</i> with respect |
| 5588 * to <i>L</i>. Otherwise, we say that the lookup has failed. | 5612 * to <i>L</i>. Otherwise, we say that the lookup has failed. |
| 5589 * </blockquote> | 5613 * </blockquote> |
| 5590 */ | 5614 */ |
| 5591 PropertyAccessorElement lookUpGetter( | 5615 PropertyAccessorElement lookUpGetter(String name, LibraryElement library); |
| 5592 String name, LibraryElement library); | |
| 5593 | 5616 |
| 5594 /** | 5617 /** |
| 5595 * Return the element representing the getter that results from looking up the | 5618 * Return the element representing the getter that results from looking up the |
| 5596 * getter with the given [name] in the superclass of this class with respect | 5619 * getter with the given [name] in the superclass of this class with respect |
| 5597 * to the given [library], or `null` if the look up fails. The behavior of | 5620 * to the given [library], or `null` if the look up fails. The behavior of |
| 5598 * this method is defined by the Dart Language Specification in section | 5621 * this method is defined by the Dart Language Specification in section |
| 5599 * 12.15.1: | 5622 * 12.15.1: |
| 5600 * <blockquote> | 5623 * <blockquote> |
| 5601 * The result of looking up getter (respectively setter) <i>m</i> in class | 5624 * The result of looking up getter (respectively setter) <i>m</i> in class |
| 5602 * <i>C</i> with respect to library <i>L</i> is: | 5625 * <i>C</i> with respect to library <i>L</i> is: |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5637 * <blockquote> | 5660 * <blockquote> |
| 5638 * The result of looking up method <i>m</i> in class <i>C</i> with respect to | 5661 * The result of looking up method <i>m</i> in class <i>C</i> with respect to |
| 5639 * library <i>L</i> is: | 5662 * library <i>L</i> is: |
| 5640 * * If <i>C</i> declares an instance method named <i>m</i> that is accessible | 5663 * * If <i>C</i> declares an instance method named <i>m</i> that is accessible |
| 5641 * to <i>L</i>, then that method is the result of the lookup. Otherwise, if | 5664 * to <i>L</i>, then that method is the result of the lookup. Otherwise, if |
| 5642 * <i>C</i> has a superclass <i>S</i>, then the result of the lookup is the | 5665 * <i>C</i> has a superclass <i>S</i>, then the result of the lookup is the |
| 5643 * result of looking up method <i>m</i> in <i>S</i> with respect to <i>L</i>. | 5666 * result of looking up method <i>m</i> in <i>S</i> with respect to <i>L</i>. |
| 5644 * Otherwise, we say that the lookup has failed. | 5667 * Otherwise, we say that the lookup has failed. |
| 5645 * </blockquote> | 5668 * </blockquote> |
| 5646 */ | 5669 */ |
| 5647 MethodElement lookUpMethodInSuperclass( | 5670 MethodElement lookUpMethodInSuperclass(String name, LibraryElement library); |
| 5648 String name, LibraryElement library); | |
| 5649 | 5671 |
| 5650 /** | 5672 /** |
| 5651 * Return the element representing the setter that results from looking up the | 5673 * Return the element representing the setter that results from looking up the |
| 5652 * setter with the given [name] in this class with respect to the given | 5674 * setter with the given [name] in this class with respect to the given |
| 5653 * [library], or `null` if the look up fails. The behavior of this method is | 5675 * [library], or `null` if the look up fails. The behavior of this method is |
| 5654 * defined by the Dart Language Specification in section 12.16: | 5676 * defined by the Dart Language Specification in section 12.16: |
| 5655 * <blockquote> | 5677 * <blockquote> |
| 5656 * The result of looking up getter (respectively setter) <i>m</i> in class | 5678 * The result of looking up getter (respectively setter) <i>m</i> in class |
| 5657 * <i>C</i> with respect to library <i>L</i> is: | 5679 * <i>C</i> with respect to library <i>L</i> is: |
| 5658 * * If <i>C</i> declares an instance getter (respectively setter) named | 5680 * * If <i>C</i> declares an instance getter (respectively setter) named |
| 5659 * <i>m</i> that is accessible to <i>L</i>, then that getter (respectively | 5681 * <i>m</i> that is accessible to <i>L</i>, then that getter (respectively |
| 5660 * setter) is the result of the lookup. Otherwise, if <i>C</i> has a | 5682 * setter) is the result of the lookup. Otherwise, if <i>C</i> has a |
| 5661 * superclass <i>S</i>, then the result of the lookup is the result of | 5683 * superclass <i>S</i>, then the result of the lookup is the result of |
| 5662 * looking up getter (respectively setter) <i>m</i> in <i>S</i> with respect | 5684 * looking up getter (respectively setter) <i>m</i> in <i>S</i> with respect |
| 5663 * to <i>L</i>. Otherwise, we say that the lookup has failed. | 5685 * to <i>L</i>. Otherwise, we say that the lookup has failed. |
| 5664 * </blockquote> | 5686 * </blockquote> |
| 5665 */ | 5687 */ |
| 5666 PropertyAccessorElement lookUpSetter( | 5688 PropertyAccessorElement lookUpSetter(String name, LibraryElement library); |
| 5667 String name, LibraryElement library); | |
| 5668 | 5689 |
| 5669 /** | 5690 /** |
| 5670 * Return the element representing the setter that results from looking up the | 5691 * Return the element representing the setter that results from looking up the |
| 5671 * setter with the given [name] in the superclass of this class with respect | 5692 * setter with the given [name] in the superclass of this class with respect |
| 5672 * to the given [library], or `null` if the look up fails. The behavior of | 5693 * to the given [library], or `null` if the look up fails. The behavior of |
| 5673 * this method is defined by the Dart Language Specification in section 12.16: | 5694 * this method is defined by the Dart Language Specification in section 12.16: |
| 5674 * <blockquote> | 5695 * <blockquote> |
| 5675 * The result of looking up getter (respectively setter) <i>m</i> in class | 5696 * The result of looking up getter (respectively setter) <i>m</i> in class |
| 5676 * <i>C</i> with respect to library <i>L</i> is: | 5697 * <i>C</i> with respect to library <i>L</i> is: |
| 5677 * * If <i>C</i> declares an instance getter (respectively setter) named | 5698 * * If <i>C</i> declares an instance getter (respectively setter) named |
| (...skipping 813 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6491 * given [type] to Object, where the given [depth] is the length of the | 6512 * given [type] to Object, where the given [depth] is the length of the |
| 6492 * longest path from the subtype to this type. The set of [visitedTypes] is | 6513 * longest path from the subtype to this type. The set of [visitedTypes] is |
| 6493 * used to prevent infinite recursion in the case of a cyclic type structure. | 6514 * used to prevent infinite recursion in the case of a cyclic type structure. |
| 6494 * | 6515 * |
| 6495 * See [computeLongestInheritancePathToObject], and [getLeastUpperBound]. | 6516 * See [computeLongestInheritancePathToObject], and [getLeastUpperBound]. |
| 6496 */ | 6517 */ |
| 6497 static int _computeLongestInheritancePathToObject( | 6518 static int _computeLongestInheritancePathToObject( |
| 6498 InterfaceType type, int depth, HashSet<ClassElement> visitedTypes) { | 6519 InterfaceType type, int depth, HashSet<ClassElement> visitedTypes) { |
| 6499 ClassElement classElement = type.element; | 6520 ClassElement classElement = type.element; |
| 6500 // Object case | 6521 // Object case |
| 6501 if (classElement.supertype == null || | 6522 if (classElement.supertype == null || visitedTypes.contains(classElement)) { |
| 6502 visitedTypes.contains(classElement)) { | |
| 6503 return depth; | 6523 return depth; |
| 6504 } | 6524 } |
| 6505 int longestPath = 1; | 6525 int longestPath = 1; |
| 6506 try { | 6526 try { |
| 6507 visitedTypes.add(classElement); | 6527 visitedTypes.add(classElement); |
| 6508 List<InterfaceType> superinterfaces = classElement.interfaces; | 6528 List<InterfaceType> superinterfaces = classElement.interfaces; |
| 6509 int pathLength; | 6529 int pathLength; |
| 6510 if (superinterfaces.length > 0) { | 6530 if (superinterfaces.length > 0) { |
| 6511 // loop through each of the superinterfaces recursively calling this | 6531 // loop through each of the superinterfaces recursively calling this |
| 6512 // method and keeping track of the longest path to return | 6532 // method and keeping track of the longest path to return |
| (...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7252 /** | 7272 /** |
| 7253 * The length of the visible range for this element, or `-1` if this element | 7273 * The length of the visible range for this element, or `-1` if this element |
| 7254 * does not have a visible range. | 7274 * does not have a visible range. |
| 7255 */ | 7275 */ |
| 7256 int _visibleRangeLength = -1; | 7276 int _visibleRangeLength = -1; |
| 7257 | 7277 |
| 7258 /** | 7278 /** |
| 7259 * Initialize a newly created method element to have the given [name] and | 7279 * Initialize a newly created method element to have the given [name] and |
| 7260 * [offset]. | 7280 * [offset]. |
| 7261 */ | 7281 */ |
| 7262 LocalVariableElementImpl(String name, int offset) | 7282 LocalVariableElementImpl(String name, int offset) : super(name, offset); |
| 7263 : super(name, offset); | |
| 7264 | 7283 |
| 7265 /** | 7284 /** |
| 7266 * Initialize a newly created local variable element to have the given [name]. | 7285 * Initialize a newly created local variable element to have the given [name]. |
| 7267 */ | 7286 */ |
| 7268 LocalVariableElementImpl.forNode(Identifier name) : super.forNode(name); | 7287 LocalVariableElementImpl.forNode(Identifier name) : super.forNode(name); |
| 7269 | 7288 |
| 7270 @override | 7289 @override |
| 7271 String get identifier { | 7290 String get identifier { |
| 7272 int enclosingOffset = | 7291 int enclosingOffset = |
| 7273 enclosingElement != null ? enclosingElement.nameOffset : 0; | 7292 enclosingElement != null ? enclosingElement.nameOffset : 0; |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7648 return buffer.toString(); | 7667 return buffer.toString(); |
| 7649 } | 7668 } |
| 7650 | 7669 |
| 7651 /** | 7670 /** |
| 7652 * If the given [method]'s type is different when any type parameters from the | 7671 * If the given [method]'s type is different when any type parameters from the |
| 7653 * defining type's declaration are replaced with the actual type arguments | 7672 * defining type's declaration are replaced with the actual type arguments |
| 7654 * from the [definingType], create a method member representing the given | 7673 * from the [definingType], create a method member representing the given |
| 7655 * method. Return the member that was created, or the base method if no member | 7674 * method. Return the member that was created, or the base method if no member |
| 7656 * was created. | 7675 * was created. |
| 7657 */ | 7676 */ |
| 7658 static MethodElement from( | 7677 static MethodElement from(MethodElement method, InterfaceType definingType) { |
| 7659 MethodElement method, InterfaceType definingType) { | |
| 7660 if (method == null || definingType.typeArguments.length == 0) { | 7678 if (method == null || definingType.typeArguments.length == 0) { |
| 7661 return method; | 7679 return method; |
| 7662 } | 7680 } |
| 7663 FunctionType baseType = method.type; | 7681 FunctionType baseType = method.type; |
| 7664 List<DartType> argumentTypes = definingType.typeArguments; | 7682 List<DartType> argumentTypes = definingType.typeArguments; |
| 7665 List<DartType> parameterTypes = definingType.element.type.typeArguments; | 7683 List<DartType> parameterTypes = definingType.element.type.typeArguments; |
| 7666 FunctionType substitutedType = | 7684 FunctionType substitutedType = |
| 7667 baseType.substitute2(argumentTypes, parameterTypes); | 7685 baseType.substitute2(argumentTypes, parameterTypes); |
| 7668 if (baseType == substitutedType) { | 7686 if (baseType == substitutedType) { |
| 7669 return method; | 7687 return method; |
| (...skipping 1262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8932 /** | 8950 /** |
| 8933 * The propagated type of this variable, or `null` if type propagation has not | 8951 * The propagated type of this variable, or `null` if type propagation has not |
| 8934 * been performed. | 8952 * been performed. |
| 8935 */ | 8953 */ |
| 8936 DartType propagatedType; | 8954 DartType propagatedType; |
| 8937 | 8955 |
| 8938 /** | 8956 /** |
| 8939 * Initialize a newly created synthetic element to have the given [name] and | 8957 * Initialize a newly created synthetic element to have the given [name] and |
| 8940 * [offset]. | 8958 * [offset]. |
| 8941 */ | 8959 */ |
| 8942 PropertyInducingElementImpl(String name, int offset) | 8960 PropertyInducingElementImpl(String name, int offset) : super(name, offset); |
| 8943 : super(name, offset); | |
| 8944 | 8961 |
| 8945 /** | 8962 /** |
| 8946 * Initialize a newly created element to have the given [name]. | 8963 * Initialize a newly created element to have the given [name]. |
| 8947 */ | 8964 */ |
| 8948 PropertyInducingElementImpl.forNode(Identifier name) : super.forNode(name); | 8965 PropertyInducingElementImpl.forNode(Identifier name) : super.forNode(name); |
| 8949 } | 8966 } |
| 8950 | 8967 |
| 8951 /** | 8968 /** |
| 8952 * A visitor that will recursively visit all of the element in an element model. | 8969 * A visitor that will recursively visit all of the element in an element model. |
| 8953 * For example, using an instance of this class to visit a | 8970 * For example, using an instance of this class to visit a |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9240 /** | 9257 /** |
| 9241 * An empty list of top-level variable elements. | 9258 * An empty list of top-level variable elements. |
| 9242 */ | 9259 */ |
| 9243 static const List<TopLevelVariableElement> EMPTY_ARRAY = | 9260 static const List<TopLevelVariableElement> EMPTY_ARRAY = |
| 9244 const <TopLevelVariableElement>[]; | 9261 const <TopLevelVariableElement>[]; |
| 9245 | 9262 |
| 9246 /** | 9263 /** |
| 9247 * Initialize a newly created synthetic top-level variable element to have the | 9264 * Initialize a newly created synthetic top-level variable element to have the |
| 9248 * given [name] and [offset]. | 9265 * given [name] and [offset]. |
| 9249 */ | 9266 */ |
| 9250 TopLevelVariableElementImpl(String name, int offset) | 9267 TopLevelVariableElementImpl(String name, int offset) : super(name, offset); |
| 9251 : super(name, offset); | |
| 9252 | 9268 |
| 9253 /** | 9269 /** |
| 9254 * Initialize a newly created top-level variable element to have the given | 9270 * Initialize a newly created top-level variable element to have the given |
| 9255 * [name]. | 9271 * [name]. |
| 9256 */ | 9272 */ |
| 9257 TopLevelVariableElementImpl.forNode(Identifier name) : super.forNode(name); | 9273 TopLevelVariableElementImpl.forNode(Identifier name) : super.forNode(name); |
| 9258 | 9274 |
| 9259 @override | 9275 @override |
| 9260 bool get isStatic => true; | 9276 bool get isStatic => true; |
| 9261 | 9277 |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9605 /** | 9621 /** |
| 9606 * The type representing the bound associated with this parameter, or `null` | 9622 * The type representing the bound associated with this parameter, or `null` |
| 9607 * if this parameter does not have an explicit bound. | 9623 * if this parameter does not have an explicit bound. |
| 9608 */ | 9624 */ |
| 9609 DartType bound; | 9625 DartType bound; |
| 9610 | 9626 |
| 9611 /** | 9627 /** |
| 9612 * Initialize a newly created method element to have the given [name] and | 9628 * Initialize a newly created method element to have the given [name] and |
| 9613 * [offset]. | 9629 * [offset]. |
| 9614 */ | 9630 */ |
| 9615 TypeParameterElementImpl(String name, int offset) | 9631 TypeParameterElementImpl(String name, int offset) : super(name, offset); |
| 9616 : super(name, offset); | |
| 9617 | 9632 |
| 9618 /** | 9633 /** |
| 9619 * Initialize a newly created type parameter element to have the given [name]. | 9634 * Initialize a newly created type parameter element to have the given [name]. |
| 9620 */ | 9635 */ |
| 9621 TypeParameterElementImpl.forNode(Identifier name) : super.forNode(name); | 9636 TypeParameterElementImpl.forNode(Identifier name) : super.forNode(name); |
| 9622 | 9637 |
| 9623 @override | 9638 @override |
| 9624 ElementKind get kind => ElementKind.TYPE_PARAMETER; | 9639 ElementKind get kind => ElementKind.TYPE_PARAMETER; |
| 9625 | 9640 |
| 9626 @override | 9641 @override |
| (...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10384 // void <: void (by reflexivity) | 10399 // void <: void (by reflexivity) |
| 10385 // bottom <: void (as bottom is a subtype of all types). | 10400 // bottom <: void (as bottom is a subtype of all types). |
| 10386 // void <: dynamic (as dynamic is a supertype of all types) | 10401 // void <: dynamic (as dynamic is a supertype of all types) |
| 10387 return identical(type, this) || type.isDynamic; | 10402 return identical(type, this) || type.isDynamic; |
| 10388 } | 10403 } |
| 10389 | 10404 |
| 10390 @override | 10405 @override |
| 10391 VoidTypeImpl substitute2( | 10406 VoidTypeImpl substitute2( |
| 10392 List<DartType> argumentTypes, List<DartType> parameterTypes) => this; | 10407 List<DartType> argumentTypes, List<DartType> parameterTypes) => this; |
| 10393 } | 10408 } |
| OLD | NEW |