| OLD | NEW |
| 1 // This code was auto-generated, is not intended to be edited, and is subject to | 1 // This code was auto-generated, is not intended to be edited, and is subject to |
| 2 // significant change. Please see the README file for more information. | 2 // significant change. Please see the README file for more information. |
| 3 library engine.element; | 3 library engine.element; |
| 4 import 'dart:collection'; | 4 import 'dart:collection'; |
| 5 import 'java_core.dart'; | 5 import 'java_core.dart'; |
| 6 import 'java_engine.dart'; | 6 import 'java_engine.dart'; |
| 7 import 'utilities_collection.dart'; |
| 7 import 'source.dart'; | 8 import 'source.dart'; |
| 8 import 'scanner.dart' show Keyword; | 9 import 'scanner.dart' show Keyword; |
| 9 import 'ast.dart' show Identifier, LibraryIdentifier; | 10 import 'ast.dart' show Identifier, LibraryIdentifier; |
| 10 import 'sdk.dart' show DartSdk; | 11 import 'sdk.dart' show DartSdk; |
| 11 import 'html.dart' show XmlTagNode; | 12 import 'html.dart' show XmlTagNode; |
| 12 import 'engine.dart' show AnalysisContext; | 13 import 'engine.dart' show AnalysisContext; |
| 13 import 'constant.dart' show EvaluationResultImpl; | 14 import 'constant.dart' show EvaluationResultImpl; |
| 14 import 'utilities_dart.dart'; | 15 import 'utilities_dart.dart'; |
| 15 /** | 16 /** |
| 16 * The interface `ClassElement` defines the behavior of elements that represent
a class. | 17 * The interface `ClassElement` defines the behavior of elements that represent
a class. |
| (...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 554 * | 555 * |
| 555 * @return the field, variable, or constructor being used as an annotation | 556 * @return the field, variable, or constructor being used as an annotation |
| 556 */ | 557 */ |
| 557 Element get element; | 558 Element get element; |
| 558 } | 559 } |
| 559 /** | 560 /** |
| 560 * The enumeration `ElementKind` defines the various kinds of elements in the el
ement model. | 561 * The enumeration `ElementKind` defines the various kinds of elements in the el
ement model. |
| 561 * | 562 * |
| 562 * @coverage dart.engine.element | 563 * @coverage dart.engine.element |
| 563 */ | 564 */ |
| 564 class ElementKind implements Comparable<ElementKind> { | 565 class ElementKind implements Enum<ElementKind> { |
| 565 static final ElementKind CLASS = new ElementKind('CLASS', 0, "class"); | 566 static final ElementKind CLASS = new ElementKind('CLASS', 0, "class"); |
| 566 static final ElementKind COMPILATION_UNIT = new ElementKind('COMPILATION_UNIT'
, 1, "compilation unit"); | 567 static final ElementKind COMPILATION_UNIT = new ElementKind('COMPILATION_UNIT'
, 1, "compilation unit"); |
| 567 static final ElementKind CONSTRUCTOR = new ElementKind('CONSTRUCTOR', 2, "cons
tructor"); | 568 static final ElementKind CONSTRUCTOR = new ElementKind('CONSTRUCTOR', 2, "cons
tructor"); |
| 568 static final ElementKind DYNAMIC = new ElementKind('DYNAMIC', 3, "<dynamic>"); | 569 static final ElementKind DYNAMIC = new ElementKind('DYNAMIC', 3, "<dynamic>"); |
| 569 static final ElementKind EMBEDDED_HTML_SCRIPT = new ElementKind('EMBEDDED_HTML
_SCRIPT', 4, "embedded html script"); | 570 static final ElementKind EMBEDDED_HTML_SCRIPT = new ElementKind('EMBEDDED_HTML
_SCRIPT', 4, "embedded html script"); |
| 570 static final ElementKind ERROR = new ElementKind('ERROR', 5, "<error>"); | 571 static final ElementKind ERROR = new ElementKind('ERROR', 5, "<error>"); |
| 571 static final ElementKind EXPORT = new ElementKind('EXPORT', 6, "export directi
ve"); | 572 static final ElementKind EXPORT = new ElementKind('EXPORT', 6, "export directi
ve"); |
| 572 static final ElementKind EXTERNAL_HTML_SCRIPT = new ElementKind('EXTERNAL_HTML
_SCRIPT', 7, "external html script"); | 573 static final ElementKind EXTERNAL_HTML_SCRIPT = new ElementKind('EXTERNAL_HTML
_SCRIPT', 7, "external html script"); |
| 573 static final ElementKind FIELD = new ElementKind('FIELD', 8, "field"); | 574 static final ElementKind FIELD = new ElementKind('FIELD', 8, "field"); |
| 574 static final ElementKind FUNCTION = new ElementKind('FUNCTION', 9, "function")
; | 575 static final ElementKind FUNCTION = new ElementKind('FUNCTION', 9, "function")
; |
| (...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1160 */ | 1161 */ |
| 1161 abstract class MultiplyDefinedElement implements Element { | 1162 abstract class MultiplyDefinedElement implements Element { |
| 1162 | 1163 |
| 1163 /** | 1164 /** |
| 1164 * Return an array containing all of the elements that were defined within the
scope to have the | 1165 * Return an array containing all of the elements that were defined within the
scope to have the |
| 1165 * same name. | 1166 * same name. |
| 1166 * | 1167 * |
| 1167 * @return the elements that were defined with the same name | 1168 * @return the elements that were defined with the same name |
| 1168 */ | 1169 */ |
| 1169 List<Element> get conflictingElements; | 1170 List<Element> get conflictingElements; |
| 1171 |
| 1172 /** |
| 1173 * Return the type of this element as the dynamic type. |
| 1174 * |
| 1175 * @return the type of this element as the dynamic type |
| 1176 */ |
| 1177 Type2 get type; |
| 1170 } | 1178 } |
| 1171 /** | 1179 /** |
| 1172 * The interface `NamespaceCombinator` defines the behavior common to objects th
at control how | 1180 * The interface `NamespaceCombinator` defines the behavior common to objects th
at control how |
| 1173 * namespaces are combined. | 1181 * namespaces are combined. |
| 1174 * | 1182 * |
| 1175 * @coverage dart.engine.element | 1183 * @coverage dart.engine.element |
| 1176 */ | 1184 */ |
| 1177 abstract class NamespaceCombinator { | 1185 abstract class NamespaceCombinator { |
| 1178 | 1186 |
| 1179 /** | 1187 /** |
| (...skipping 1481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2661 | 2669 |
| 2662 /** | 2670 /** |
| 2663 * The offset of the name of this element in the file that contains the declar
ation of this | 2671 * The offset of the name of this element in the file that contains the declar
ation of this |
| 2664 * element. | 2672 * element. |
| 2665 */ | 2673 */ |
| 2666 int _nameOffset = 0; | 2674 int _nameOffset = 0; |
| 2667 | 2675 |
| 2668 /** | 2676 /** |
| 2669 * A bit-encoded form of the modifiers associated with this element. | 2677 * A bit-encoded form of the modifiers associated with this element. |
| 2670 */ | 2678 */ |
| 2671 Set<Modifier> _modifiers; | 2679 int _modifiers = 0; |
| 2672 | 2680 |
| 2673 /** | 2681 /** |
| 2674 * An array containing all of the metadata associated with this element. | 2682 * An array containing all of the metadata associated with this element. |
| 2675 */ | 2683 */ |
| 2676 List<ElementAnnotation> _metadata = ElementAnnotationImpl.EMPTY_ARRAY; | 2684 List<ElementAnnotation> _metadata = ElementAnnotationImpl.EMPTY_ARRAY; |
| 2677 | 2685 |
| 2678 /** | 2686 /** |
| 2679 * A cached copy of the calculated hashCode for this element. | 2687 * A cached copy of the calculated hashCode for this element. |
| 2680 */ | 2688 */ |
| 2681 int _cachedHashCode = 0; | 2689 int _cachedHashCode = 0; |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2813 * @return an identifier that uniquely identifies this element relative to its
parent | 2821 * @return an identifier that uniquely identifies this element relative to its
parent |
| 2814 */ | 2822 */ |
| 2815 String get identifier => name; | 2823 String get identifier => name; |
| 2816 | 2824 |
| 2817 /** | 2825 /** |
| 2818 * Return `true` if this element has the given modifier associated with it. | 2826 * Return `true` if this element has the given modifier associated with it. |
| 2819 * | 2827 * |
| 2820 * @param modifier the modifier being tested for | 2828 * @param modifier the modifier being tested for |
| 2821 * @return `true` if this element has the given modifier associated with it | 2829 * @return `true` if this element has the given modifier associated with it |
| 2822 */ | 2830 */ |
| 2823 bool hasModifier(Modifier modifier) => _modifiers != null && _modifiers.contai
ns(modifier); | 2831 bool hasModifier(Modifier modifier) => BooleanArray.get(_modifiers, modifier); |
| 2824 | 2832 |
| 2825 /** | 2833 /** |
| 2826 * If the given child is not `null`, use the given visitor to visit it. | 2834 * If the given child is not `null`, use the given visitor to visit it. |
| 2827 * | 2835 * |
| 2828 * @param child the child to be visited | 2836 * @param child the child to be visited |
| 2829 * @param visitor the visitor to be used to visit the child | 2837 * @param visitor the visitor to be used to visit the child |
| 2830 */ | 2838 */ |
| 2831 void safelyVisitChild(Element child, ElementVisitor<Object> visitor) { | 2839 void safelyVisitChild(Element child, ElementVisitor<Object> visitor) { |
| 2832 if (child != null) { | 2840 if (child != null) { |
| 2833 child.accept(visitor); | 2841 child.accept(visitor); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 2858 } | 2866 } |
| 2859 | 2867 |
| 2860 /** | 2868 /** |
| 2861 * Set whether the given modifier is associated with this element to correspon
d to the given | 2869 * Set whether the given modifier is associated with this element to correspon
d to the given |
| 2862 * value. | 2870 * value. |
| 2863 * | 2871 * |
| 2864 * @param modifier the modifier to be set | 2872 * @param modifier the modifier to be set |
| 2865 * @param value `true` if the modifier is to be associated with this element | 2873 * @param value `true` if the modifier is to be associated with this element |
| 2866 */ | 2874 */ |
| 2867 void setModifier(Modifier modifier, bool value) { | 2875 void setModifier(Modifier modifier, bool value) { |
| 2868 if (value) { | 2876 _modifiers = BooleanArray.set(_modifiers, modifier, value); |
| 2869 if (_modifiers == null) { | |
| 2870 _modifiers = new Set(); | |
| 2871 } | |
| 2872 _modifiers.add(modifier); | |
| 2873 } else { | |
| 2874 if (_modifiers != null) { | |
| 2875 _modifiers.remove(modifier); | |
| 2876 if (_modifiers.isEmpty) { | |
| 2877 _modifiers = null; | |
| 2878 } | |
| 2879 } | |
| 2880 } | |
| 2881 } | 2877 } |
| 2882 } | 2878 } |
| 2883 /** | 2879 /** |
| 2884 * Instances of the class `ElementLocationImpl` implement an [ElementLocation]. | 2880 * Instances of the class `ElementLocationImpl` implement an [ElementLocation]. |
| 2885 * | 2881 * |
| 2886 * @coverage dart.engine.element | 2882 * @coverage dart.engine.element |
| 2887 */ | 2883 */ |
| 2888 class ElementLocationImpl implements ElementLocation { | 2884 class ElementLocationImpl implements ElementLocation { |
| 2889 | 2885 |
| 2890 /** | 2886 /** |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2954 JavaStringBuilder builder = new JavaStringBuilder(); | 2950 JavaStringBuilder builder = new JavaStringBuilder(); |
| 2955 int length = _components.length; | 2951 int length = _components.length; |
| 2956 for (int i = 0; i < length; i++) { | 2952 for (int i = 0; i < length; i++) { |
| 2957 if (i > 0) { | 2953 if (i > 0) { |
| 2958 builder.appendChar(_SEPARATOR_CHAR); | 2954 builder.appendChar(_SEPARATOR_CHAR); |
| 2959 } | 2955 } |
| 2960 encode(builder, _components[i]); | 2956 encode(builder, _components[i]); |
| 2961 } | 2957 } |
| 2962 return builder.toString(); | 2958 return builder.toString(); |
| 2963 } | 2959 } |
| 2964 int get hashCode => JavaArrays.makeHashCode(_components); | 2960 int get hashCode { |
| 2961 int result = 1; |
| 2962 for (int i = 0; i < _components.length; i++) { |
| 2963 String component = _components[i]; |
| 2964 int componentHash; |
| 2965 if (i <= 1) { |
| 2966 componentHash = hashSourceComponent(component); |
| 2967 } else { |
| 2968 componentHash = component.hashCode; |
| 2969 } |
| 2970 result = 31 * result + componentHash; |
| 2971 } |
| 2972 return result; |
| 2973 } |
| 2965 String toString() => encoding; | 2974 String toString() => encoding; |
| 2966 | 2975 |
| 2967 /** | 2976 /** |
| 2968 * Decode the encoded form of a location into an array of components. | 2977 * Decode the encoded form of a location into an array of components. |
| 2969 * | 2978 * |
| 2970 * @param encoding the encoded form of a location | 2979 * @param encoding the encoded form of a location |
| 2971 * @return the components that were encoded | 2980 * @return the components that were encoded |
| 2972 */ | 2981 */ |
| 2973 List<String> decode(String encoding) { | 2982 List<String> decode(String encoding) { |
| 2974 List<String> components = new List<String>(); | 2983 List<String> components = new List<String>(); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3026 if (left == null) { | 3035 if (left == null) { |
| 3027 return right == null; | 3036 return right == null; |
| 3028 } else if (right == null) { | 3037 } else if (right == null) { |
| 3029 return false; | 3038 return false; |
| 3030 } | 3039 } |
| 3031 if (left.length <= 1 || right.length <= 1) { | 3040 if (left.length <= 1 || right.length <= 1) { |
| 3032 return left == right; | 3041 return left == right; |
| 3033 } | 3042 } |
| 3034 return left.substring(1) == right.substring(1); | 3043 return left.substring(1) == right.substring(1); |
| 3035 } | 3044 } |
| 3045 |
| 3046 /** |
| 3047 * Return the hash code of the given encoded source component, ignoring the so
urce type indicator. |
| 3048 * |
| 3049 * @param sourceComponent the component to compute a hash code |
| 3050 * @return the hash code of the given encoded source component |
| 3051 */ |
| 3052 int hashSourceComponent(String sourceComponent) { |
| 3053 if (sourceComponent.length <= 1) { |
| 3054 return sourceComponent.hashCode; |
| 3055 } |
| 3056 return sourceComponent.substring(1).hashCode; |
| 3057 } |
| 3036 } | 3058 } |
| 3037 /** | 3059 /** |
| 3038 * Instances of the class `EmbeddedHtmlScriptElementImpl` implement an | 3060 * Instances of the class `EmbeddedHtmlScriptElementImpl` implement an |
| 3039 * [EmbeddedHtmlScriptElement]. | 3061 * [EmbeddedHtmlScriptElement]. |
| 3040 * | 3062 * |
| 3041 * @coverage dart.engine.element | 3063 * @coverage dart.engine.element |
| 3042 */ | 3064 */ |
| 3043 class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
eddedHtmlScriptElement { | 3065 class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
eddedHtmlScriptElement { |
| 3044 | 3066 |
| 3045 /** | 3067 /** |
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3590 * Set the type variables defined for this type to the given variables. | 3612 * Set the type variables defined for this type to the given variables. |
| 3591 * | 3613 * |
| 3592 * @param typeVariables the type variables defined for this type | 3614 * @param typeVariables the type variables defined for this type |
| 3593 */ | 3615 */ |
| 3594 void set typeVariables(List<TypeVariableElement> typeVariables2) { | 3616 void set typeVariables(List<TypeVariableElement> typeVariables2) { |
| 3595 for (TypeVariableElement variable in typeVariables2) { | 3617 for (TypeVariableElement variable in typeVariables2) { |
| 3596 ((variable as TypeVariableElementImpl)).enclosingElement = this; | 3618 ((variable as TypeVariableElementImpl)).enclosingElement = this; |
| 3597 } | 3619 } |
| 3598 this._typeVariables = typeVariables2; | 3620 this._typeVariables = typeVariables2; |
| 3599 } | 3621 } |
| 3622 |
| 3623 /** |
| 3624 * Set the parameters defined by this type alias to the given parameters witho
ut becoming the |
| 3625 * parent of the parameters. This should only be used by the [TypeResolverVisi
tor] when |
| 3626 * creating a synthetic type alias. |
| 3627 * |
| 3628 * @param parameters the parameters defined by this type alias |
| 3629 */ |
| 3630 void shareParameters(List<ParameterElement> parameters2) { |
| 3631 this._parameters = parameters2; |
| 3632 } |
| 3633 |
| 3634 /** |
| 3635 * Set the type variables defined for this type to the given variables without
becoming the parent |
| 3636 * of the variables. This should only be used by the [TypeResolverVisitor] whe
n creating a |
| 3637 * synthetic type alias. |
| 3638 * |
| 3639 * @param typeVariables the type variables defined for this type |
| 3640 */ |
| 3641 void shareTypeVariables(List<TypeVariableElement> typeVariables2) { |
| 3642 this._typeVariables = typeVariables2; |
| 3643 } |
| 3600 void visitChildren(ElementVisitor<Object> visitor) { | 3644 void visitChildren(ElementVisitor<Object> visitor) { |
| 3601 super.visitChildren(visitor); | 3645 super.visitChildren(visitor); |
| 3602 safelyVisitChildren(_parameters, visitor); | 3646 safelyVisitChildren(_parameters, visitor); |
| 3603 safelyVisitChildren(_typeVariables, visitor); | 3647 safelyVisitChildren(_typeVariables, visitor); |
| 3604 } | 3648 } |
| 3605 void appendTo(JavaStringBuilder builder) { | 3649 void appendTo(JavaStringBuilder builder) { |
| 3606 builder.append("typedef "); | 3650 builder.append("typedef "); |
| 3607 builder.append(displayName); | 3651 builder.append(displayName); |
| 3608 int variableCount = _typeVariables.length; | 3652 int variableCount = _typeVariables.length; |
| 3609 if (variableCount > 0) { | 3653 if (variableCount > 0) { |
| (...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4306 builder.append(displayName); | 4350 builder.append(displayName); |
| 4307 super.appendTo(builder); | 4351 super.appendTo(builder); |
| 4308 } | 4352 } |
| 4309 } | 4353 } |
| 4310 /** | 4354 /** |
| 4311 * The enumeration `Modifier` defines constants for all of the modifiers defined
by the Dart | 4355 * The enumeration `Modifier` defines constants for all of the modifiers defined
by the Dart |
| 4312 * language and for a few additional flags that are useful. | 4356 * language and for a few additional flags that are useful. |
| 4313 * | 4357 * |
| 4314 * @coverage dart.engine.element | 4358 * @coverage dart.engine.element |
| 4315 */ | 4359 */ |
| 4316 class Modifier implements Comparable<Modifier> { | 4360 class Modifier implements Enum<Modifier> { |
| 4317 static final Modifier ABSTRACT = new Modifier('ABSTRACT', 0); | 4361 static final Modifier ABSTRACT = new Modifier('ABSTRACT', 0); |
| 4318 static final Modifier CONST = new Modifier('CONST', 1); | 4362 static final Modifier CONST = new Modifier('CONST', 1); |
| 4319 static final Modifier FACTORY = new Modifier('FACTORY', 2); | 4363 static final Modifier FACTORY = new Modifier('FACTORY', 2); |
| 4320 static final Modifier FINAL = new Modifier('FINAL', 3); | 4364 static final Modifier FINAL = new Modifier('FINAL', 3); |
| 4321 static final Modifier GETTER = new Modifier('GETTER', 4); | 4365 static final Modifier GETTER = new Modifier('GETTER', 4); |
| 4322 static final Modifier MIXIN = new Modifier('MIXIN', 5); | 4366 static final Modifier MIXIN = new Modifier('MIXIN', 5); |
| 4323 static final Modifier REFERENCES_SUPER = new Modifier('REFERENCES_SUPER', 6); | 4367 static final Modifier REFERENCES_SUPER = new Modifier('REFERENCES_SUPER', 6); |
| 4324 static final Modifier SETTER = new Modifier('SETTER', 7); | 4368 static final Modifier SETTER = new Modifier('SETTER', 7); |
| 4325 static final Modifier STATIC = new Modifier('STATIC', 8); | 4369 static final Modifier STATIC = new Modifier('STATIC', 8); |
| 4326 static final Modifier SYNTHETIC = new Modifier('SYNTHETIC', 9); | 4370 static final Modifier SYNTHETIC = new Modifier('SYNTHETIC', 9); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4389 AnalysisContext get context => _context; | 4433 AnalysisContext get context => _context; |
| 4390 String get displayName => _name; | 4434 String get displayName => _name; |
| 4391 Element get enclosingElement => null; | 4435 Element get enclosingElement => null; |
| 4392 ElementKind get kind => ElementKind.ERROR; | 4436 ElementKind get kind => ElementKind.ERROR; |
| 4393 LibraryElement get library => null; | 4437 LibraryElement get library => null; |
| 4394 ElementLocation get location => null; | 4438 ElementLocation get location => null; |
| 4395 List<ElementAnnotation> get metadata => ElementAnnotationImpl.EMPTY_ARRAY; | 4439 List<ElementAnnotation> get metadata => ElementAnnotationImpl.EMPTY_ARRAY; |
| 4396 String get name => _name; | 4440 String get name => _name; |
| 4397 int get nameOffset => -1; | 4441 int get nameOffset => -1; |
| 4398 Source get source => null; | 4442 Source get source => null; |
| 4443 Type2 get type => DynamicTypeImpl.instance; |
| 4399 bool isAccessibleIn(LibraryElement library) { | 4444 bool isAccessibleIn(LibraryElement library) { |
| 4400 for (Element element in _conflictingElements) { | 4445 for (Element element in _conflictingElements) { |
| 4401 if (element.isAccessibleIn(library)) { | 4446 if (element.isAccessibleIn(library)) { |
| 4402 return true; | 4447 return true; |
| 4403 } | 4448 } |
| 4404 } | 4449 } |
| 4405 return false; | 4450 return false; |
| 4406 } | 4451 } |
| 4407 bool get isSynthetic => true; | 4452 bool get isSynthetic => true; |
| 4408 String toString() { | 4453 String toString() { |
| (...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5074 * @param baseConstructor the base constructor for which a member might be cre
ated | 5119 * @param baseConstructor the base constructor for which a member might be cre
ated |
| 5075 * @param definingType the type defining the parameters and arguments to be us
ed in the | 5120 * @param definingType the type defining the parameters and arguments to be us
ed in the |
| 5076 * substitution | 5121 * substitution |
| 5077 * @return the constructor element that will return the correctly substituted
types | 5122 * @return the constructor element that will return the correctly substituted
types |
| 5078 */ | 5123 */ |
| 5079 static ConstructorElement from(ConstructorElement baseConstructor, InterfaceTy
pe definingType) { | 5124 static ConstructorElement from(ConstructorElement baseConstructor, InterfaceTy
pe definingType) { |
| 5080 if (baseConstructor == null || definingType.typeArguments.length == 0) { | 5125 if (baseConstructor == null || definingType.typeArguments.length == 0) { |
| 5081 return baseConstructor; | 5126 return baseConstructor; |
| 5082 } | 5127 } |
| 5083 FunctionType baseType = baseConstructor.type; | 5128 FunctionType baseType = baseConstructor.type; |
| 5129 if (baseType == null) { |
| 5130 return baseConstructor; |
| 5131 } |
| 5084 List<Type2> argumentTypes = definingType.typeArguments; | 5132 List<Type2> argumentTypes = definingType.typeArguments; |
| 5085 List<Type2> parameterTypes = definingType.element.type.typeArguments; | 5133 List<Type2> parameterTypes = definingType.element.type.typeArguments; |
| 5086 FunctionType substitutedType = baseType.substitute2(argumentTypes, parameter
Types); | 5134 FunctionType substitutedType = baseType.substitute2(argumentTypes, parameter
Types); |
| 5087 if (baseType == substitutedType) { | 5135 if (baseType == substitutedType) { |
| 5088 return baseConstructor; | 5136 return baseConstructor; |
| 5089 } | 5137 } |
| 5090 return new ConstructorMember(baseConstructor, definingType); | 5138 return new ConstructorMember(baseConstructor, definingType); |
| 5091 } | 5139 } |
| 5092 | 5140 |
| 5093 /** | 5141 /** |
| (...skipping 2350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7444 } | 7492 } |
| 7445 /** | 7493 /** |
| 7446 * The interface `VoidType` defines the behavior of the unique object representi
ng the type | 7494 * The interface `VoidType` defines the behavior of the unique object representi
ng the type |
| 7447 * `void`. | 7495 * `void`. |
| 7448 * | 7496 * |
| 7449 * @coverage dart.engine.type | 7497 * @coverage dart.engine.type |
| 7450 */ | 7498 */ |
| 7451 abstract class VoidType implements Type2 { | 7499 abstract class VoidType implements Type2 { |
| 7452 VoidType substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes); | 7500 VoidType substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes); |
| 7453 } | 7501 } |
| OLD | NEW |