| 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 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 377 if (className == name) { | 377 if (className == name) { |
| 378 return true; | 378 return true; |
| 379 } | 379 } |
| 380 } | 380 } |
| 381 } | 381 } |
| 382 } | 382 } |
| 383 return false; | 383 return false; |
| 384 } | 384 } |
| 385 | 385 |
| 386 @override | 386 @override |
| 387 void appendTo(JavaStringBuilder builder) { | 387 void appendTo(StringBuffer buffer) { |
| 388 builder.append("."); | 388 buffer.write("."); |
| 389 builder.append(name); | 389 buffer.write(name); |
| 390 } | 390 } |
| 391 } | 391 } |
| 392 | 392 |
| 393 /** | 393 /** |
| 394 * The interface `AngularElement` defines the behavior of objects representing i
nformation | 394 * The interface `AngularElement` defines the behavior of objects representing i
nformation |
| 395 * about an Angular element which is applied conditionally using some [AngularSe
lectorElement]. | 395 * about an Angular element which is applied conditionally using some [AngularSe
lectorElement]. |
| 396 */ | 396 */ |
| 397 abstract class AngularHasSelectorElement implements AngularElement { | 397 abstract class AngularHasSelectorElement implements AngularElement { |
| 398 /** | 398 /** |
| 399 * Returns the selector specified for this element. | 399 * Returns the selector specified for this element. |
| (...skipping 1237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1637 super.visitChildren(visitor); | 1637 super.visitChildren(visitor); |
| 1638 safelyVisitChildren(_accessors, visitor); | 1638 safelyVisitChildren(_accessors, visitor); |
| 1639 safelyVisitChildren(_constructors, visitor); | 1639 safelyVisitChildren(_constructors, visitor); |
| 1640 safelyVisitChildren(_fields, visitor); | 1640 safelyVisitChildren(_fields, visitor); |
| 1641 safelyVisitChildren(_methods, visitor); | 1641 safelyVisitChildren(_methods, visitor); |
| 1642 safelyVisitChildren(_toolkitObjects, visitor); | 1642 safelyVisitChildren(_toolkitObjects, visitor); |
| 1643 safelyVisitChildren(_typeParameters, visitor); | 1643 safelyVisitChildren(_typeParameters, visitor); |
| 1644 } | 1644 } |
| 1645 | 1645 |
| 1646 @override | 1646 @override |
| 1647 void appendTo(JavaStringBuilder builder) { | 1647 void appendTo(StringBuffer buffer) { |
| 1648 String name = displayName; | 1648 String name = displayName; |
| 1649 if (name == null) { | 1649 if (name == null) { |
| 1650 builder.append("{unnamed class}"); | 1650 buffer.write("{unnamed class}"); |
| 1651 } else { | 1651 } else { |
| 1652 builder.append(name); | 1652 buffer.write(name); |
| 1653 } | 1653 } |
| 1654 int variableCount = _typeParameters.length; | 1654 int variableCount = _typeParameters.length; |
| 1655 if (variableCount > 0) { | 1655 if (variableCount > 0) { |
| 1656 builder.append("<"); | 1656 buffer.write("<"); |
| 1657 for (int i = 0; i < variableCount; i++) { | 1657 for (int i = 0; i < variableCount; i++) { |
| 1658 if (i > 0) { | 1658 if (i > 0) { |
| 1659 builder.append(", "); | 1659 buffer.write(", "); |
| 1660 } | 1660 } |
| 1661 (_typeParameters[i] as TypeParameterElementImpl).appendTo(builder); | 1661 (_typeParameters[i] as TypeParameterElementImpl).appendTo(buffer); |
| 1662 } | 1662 } |
| 1663 builder.append(">"); | 1663 buffer.write(">"); |
| 1664 } | 1664 } |
| 1665 } | 1665 } |
| 1666 | 1666 |
| 1667 void _collectAllSupertypes(List<InterfaceType> supertypes) { | 1667 void _collectAllSupertypes(List<InterfaceType> supertypes) { |
| 1668 List<InterfaceType> typesToVisit = new List<InterfaceType>(); | 1668 List<InterfaceType> typesToVisit = new List<InterfaceType>(); |
| 1669 List<ClassElement> visitedClasses = new List<ClassElement>(); | 1669 List<ClassElement> visitedClasses = new List<ClassElement>(); |
| 1670 typesToVisit.add(this.type); | 1670 typesToVisit.add(this.type); |
| 1671 while (!typesToVisit.isEmpty) { | 1671 while (!typesToVisit.isEmpty) { |
| 1672 InterfaceType currentType = typesToVisit.removeAt(0); | 1672 InterfaceType currentType = typesToVisit.removeAt(0); |
| 1673 ClassElement currentElement = currentType.element; | 1673 ClassElement currentElement = currentType.element; |
| (...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2233 super.visitChildren(visitor); | 2233 super.visitChildren(visitor); |
| 2234 safelyVisitChildren(_accessors, visitor); | 2234 safelyVisitChildren(_accessors, visitor); |
| 2235 safelyVisitChildren(_functions, visitor); | 2235 safelyVisitChildren(_functions, visitor); |
| 2236 safelyVisitChildren(_typeAliases, visitor); | 2236 safelyVisitChildren(_typeAliases, visitor); |
| 2237 safelyVisitChildren(_types, visitor); | 2237 safelyVisitChildren(_types, visitor); |
| 2238 safelyVisitChildren(_variables, visitor); | 2238 safelyVisitChildren(_variables, visitor); |
| 2239 safelyVisitChildren(_angularViews, visitor); | 2239 safelyVisitChildren(_angularViews, visitor); |
| 2240 } | 2240 } |
| 2241 | 2241 |
| 2242 @override | 2242 @override |
| 2243 void appendTo(JavaStringBuilder builder) { | 2243 void appendTo(StringBuffer buffer) { |
| 2244 if (source == null) { | 2244 if (source == null) { |
| 2245 builder.append("{compilation unit}"); | 2245 buffer.write("{compilation unit}"); |
| 2246 } else { | 2246 } else { |
| 2247 builder.append(source.fullName); | 2247 buffer.write(source.fullName); |
| 2248 } | 2248 } |
| 2249 } | 2249 } |
| 2250 | 2250 |
| 2251 @override | 2251 @override |
| 2252 String get identifier => source.encoding; | 2252 String get identifier => source.encoding; |
| 2253 | 2253 |
| 2254 /** | 2254 /** |
| 2255 * Returns the associated toolkit objects. | 2255 * Returns the associated toolkit objects. |
| 2256 * | 2256 * |
| 2257 * @param element the [Element] to get toolkit objects for | 2257 * @param element the [Element] to get toolkit objects for |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2498 /** | 2498 /** |
| 2499 * Set whether this constructor represents a factory method to the given value
. | 2499 * Set whether this constructor represents a factory method to the given value
. |
| 2500 * | 2500 * |
| 2501 * @param isFactory `true` if this constructor represents a factory method | 2501 * @param isFactory `true` if this constructor represents a factory method |
| 2502 */ | 2502 */ |
| 2503 void set factory(bool isFactory) { | 2503 void set factory(bool isFactory) { |
| 2504 setModifier(Modifier.FACTORY, isFactory); | 2504 setModifier(Modifier.FACTORY, isFactory); |
| 2505 } | 2505 } |
| 2506 | 2506 |
| 2507 @override | 2507 @override |
| 2508 void appendTo(JavaStringBuilder builder) { | 2508 void appendTo(StringBuffer buffer) { |
| 2509 builder.append(enclosingElement.displayName); | 2509 buffer.write(enclosingElement.displayName); |
| 2510 String name = displayName; | 2510 String name = displayName; |
| 2511 if (name != null && !name.isEmpty) { | 2511 if (name != null && !name.isEmpty) { |
| 2512 builder.append("."); | 2512 buffer.write("."); |
| 2513 builder.append(name); | 2513 buffer.write(name); |
| 2514 } | 2514 } |
| 2515 super.appendTo(builder); | 2515 super.appendTo(buffer); |
| 2516 } | 2516 } |
| 2517 } | 2517 } |
| 2518 | 2518 |
| 2519 /** | 2519 /** |
| 2520 * Instances of the class `ConstructorMember` represent a constructor element de
fined in a | 2520 * Instances of the class `ConstructorMember` represent a constructor element de
fined in a |
| 2521 * parameterized type where the values of the type parameters are known. | 2521 * parameterized type where the values of the type parameters are known. |
| 2522 */ | 2522 */ |
| 2523 class ConstructorMember extends ExecutableMember implements ConstructorElement { | 2523 class ConstructorMember extends ExecutableMember implements ConstructorElement { |
| 2524 /** | 2524 /** |
| 2525 * If the given constructor's type is different when any type parameters from
the defining type's | 2525 * If the given constructor's type is different when any type parameters from
the defining type's |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2582 bool get isDefaultConstructor => baseElement.isDefaultConstructor; | 2582 bool get isDefaultConstructor => baseElement.isDefaultConstructor; |
| 2583 | 2583 |
| 2584 @override | 2584 @override |
| 2585 bool get isFactory => baseElement.isFactory; | 2585 bool get isFactory => baseElement.isFactory; |
| 2586 | 2586 |
| 2587 @override | 2587 @override |
| 2588 String toString() { | 2588 String toString() { |
| 2589 ConstructorElement baseElement = this.baseElement; | 2589 ConstructorElement baseElement = this.baseElement; |
| 2590 List<ParameterElement> parameters = this.parameters; | 2590 List<ParameterElement> parameters = this.parameters; |
| 2591 FunctionType type = this.type; | 2591 FunctionType type = this.type; |
| 2592 JavaStringBuilder builder = new JavaStringBuilder(); | 2592 StringBuffer buffer = new StringBuffer(); |
| 2593 builder.append(baseElement.enclosingElement.displayName); | 2593 buffer.write(baseElement.enclosingElement.displayName); |
| 2594 String name = displayName; | 2594 String name = displayName; |
| 2595 if (name != null && !name.isEmpty) { | 2595 if (name != null && !name.isEmpty) { |
| 2596 builder.append("."); | 2596 buffer.write("."); |
| 2597 builder.append(name); | 2597 buffer.write(name); |
| 2598 } | 2598 } |
| 2599 builder.append("("); | 2599 buffer.write("("); |
| 2600 int parameterCount = parameters.length; | 2600 int parameterCount = parameters.length; |
| 2601 for (int i = 0; i < parameterCount; i++) { | 2601 for (int i = 0; i < parameterCount; i++) { |
| 2602 if (i > 0) { | 2602 if (i > 0) { |
| 2603 builder.append(", "); | 2603 buffer.write(", "); |
| 2604 } | 2604 } |
| 2605 builder.append(parameters[i]).toString(); | 2605 buffer.write(parameters[i]); |
| 2606 } | 2606 } |
| 2607 builder.append(")"); | 2607 buffer.write(")"); |
| 2608 if (type != null) { | 2608 if (type != null) { |
| 2609 builder.append(Element.RIGHT_ARROW); | 2609 buffer.write(Element.RIGHT_ARROW); |
| 2610 builder.append(type.returnType); | 2610 buffer.write(type.returnType); |
| 2611 } | 2611 } |
| 2612 return builder.toString(); | 2612 return buffer.toString(); |
| 2613 } | 2613 } |
| 2614 | 2614 |
| 2615 @override | 2615 @override |
| 2616 InterfaceType get definingType => super.definingType as InterfaceType; | 2616 InterfaceType get definingType => super.definingType as InterfaceType; |
| 2617 } | 2617 } |
| 2618 | 2618 |
| 2619 /** | 2619 /** |
| 2620 * The interface `Type` defines the behavior of objects representing the declare
d type of | 2620 * The interface `Type` defines the behavior of objects representing the declare
d type of |
| 2621 * elements in the element model. | 2621 * elements in the element model. |
| 2622 */ | 2622 */ |
| (...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3475 * Set whether this element is synthetic to correspond to the given value. | 3475 * Set whether this element is synthetic to correspond to the given value. |
| 3476 * | 3476 * |
| 3477 * @param isSynthetic `true` if the element is synthetic | 3477 * @param isSynthetic `true` if the element is synthetic |
| 3478 */ | 3478 */ |
| 3479 void set synthetic(bool isSynthetic) { | 3479 void set synthetic(bool isSynthetic) { |
| 3480 setModifier(Modifier.SYNTHETIC, isSynthetic); | 3480 setModifier(Modifier.SYNTHETIC, isSynthetic); |
| 3481 } | 3481 } |
| 3482 | 3482 |
| 3483 @override | 3483 @override |
| 3484 String toString() { | 3484 String toString() { |
| 3485 JavaStringBuilder builder = new JavaStringBuilder(); | 3485 StringBuffer buffer = new StringBuffer(); |
| 3486 appendTo(builder); | 3486 appendTo(buffer); |
| 3487 return builder.toString(); | 3487 return buffer.toString(); |
| 3488 } | 3488 } |
| 3489 | 3489 |
| 3490 @override | 3490 @override |
| 3491 void visitChildren(ElementVisitor visitor) { | 3491 void visitChildren(ElementVisitor visitor) { |
| 3492 // There are no children to visit | 3492 // There are no children to visit |
| 3493 } | 3493 } |
| 3494 | 3494 |
| 3495 /** | 3495 /** |
| 3496 * Append a textual representation of this type to the given builder. | 3496 * Append a textual representation of this element to the given [buffer]. |
| 3497 * | |
| 3498 * @param builder the builder to which the text is to be appended | |
| 3499 */ | 3497 */ |
| 3500 void appendTo(JavaStringBuilder builder) { | 3498 void appendTo(StringBuffer buffer) { |
| 3501 if (_name == null) { | 3499 if (_name == null) { |
| 3502 builder.append("<unnamed "); | 3500 buffer.write("<unnamed "); |
| 3503 builder.append(runtimeType.toString()); | 3501 buffer.write(runtimeType.toString()); |
| 3504 builder.append(">"); | 3502 buffer.write(">"); |
| 3505 } else { | 3503 } else { |
| 3506 builder.append(_name); | 3504 buffer.write(_name); |
| 3507 } | 3505 } |
| 3508 } | 3506 } |
| 3509 | 3507 |
| 3510 /** | 3508 /** |
| 3511 * Set this [Element] as an enclosing for given. | 3509 * Set this [Element] as an enclosing for given. |
| 3512 * | 3510 * |
| 3513 * @param element the element to enclose, must be [ElementImpl] | 3511 * @param element the element to enclose, must be [ElementImpl] |
| 3514 */ | 3512 */ |
| 3515 void encloseElement(ElementImpl element) { | 3513 void encloseElement(ElementImpl element) { |
| 3516 element.enclosingElement = this; | 3514 element.enclosingElement = this; |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3816 } | 3814 } |
| 3817 } | 3815 } |
| 3818 return true; | 3816 return true; |
| 3819 } | 3817 } |
| 3820 | 3818 |
| 3821 @override | 3819 @override |
| 3822 List<String> get components => _components; | 3820 List<String> get components => _components; |
| 3823 | 3821 |
| 3824 @override | 3822 @override |
| 3825 String get encoding { | 3823 String get encoding { |
| 3826 JavaStringBuilder builder = new JavaStringBuilder(); | 3824 StringBuffer buffer = new StringBuffer(); |
| 3827 int length = _components.length; | 3825 int length = _components.length; |
| 3828 for (int i = 0; i < length; i++) { | 3826 for (int i = 0; i < length; i++) { |
| 3829 if (i > 0) { | 3827 if (i > 0) { |
| 3830 builder.appendChar(_SEPARATOR_CHAR); | 3828 buffer.writeCharCode(_SEPARATOR_CHAR); |
| 3831 } | 3829 } |
| 3832 _encode(builder, _components[i]); | 3830 _encode(buffer, _components[i]); |
| 3833 } | 3831 } |
| 3834 return builder.toString(); | 3832 return buffer.toString(); |
| 3835 } | 3833 } |
| 3836 | 3834 |
| 3837 @override | 3835 @override |
| 3838 int get hashCode { | 3836 int get hashCode { |
| 3839 int result = 1; | 3837 int result = 1; |
| 3840 for (int i = 0; i < _components.length; i++) { | 3838 for (int i = 0; i < _components.length; i++) { |
| 3841 String component = _components[i]; | 3839 String component = _components[i]; |
| 3842 result = 31 * result + component.hashCode; | 3840 result = 31 * result + component.hashCode; |
| 3843 } | 3841 } |
| 3844 return result; | 3842 return result; |
| 3845 } | 3843 } |
| 3846 | 3844 |
| 3847 @override | 3845 @override |
| 3848 String toString() => encoding; | 3846 String toString() => encoding; |
| 3849 | 3847 |
| 3850 /** | 3848 /** |
| 3851 * Decode the encoded form of a location into an array of components. | 3849 * Decode the encoded form of a location into an array of components. |
| 3852 * | 3850 * |
| 3853 * @param encoding the encoded form of a location | 3851 * @param encoding the encoded form of a location |
| 3854 * @return the components that were encoded | 3852 * @return the components that were encoded |
| 3855 */ | 3853 */ |
| 3856 List<String> _decode(String encoding) { | 3854 List<String> _decode(String encoding) { |
| 3857 List<String> components = new List<String>(); | 3855 List<String> components = new List<String>(); |
| 3858 JavaStringBuilder builder = new JavaStringBuilder(); | 3856 StringBuffer buffer = new StringBuffer(); |
| 3859 int index = 0; | 3857 int index = 0; |
| 3860 int length = encoding.length; | 3858 int length = encoding.length; |
| 3861 while (index < length) { | 3859 while (index < length) { |
| 3862 int currentChar = encoding.codeUnitAt(index); | 3860 int currentChar = encoding.codeUnitAt(index); |
| 3863 if (currentChar == _SEPARATOR_CHAR) { | 3861 if (currentChar == _SEPARATOR_CHAR) { |
| 3864 if (index + 1 < length && encoding.codeUnitAt(index + 1) == _SEPARATOR_C
HAR) { | 3862 if (index + 1 < length && encoding.codeUnitAt(index + 1) == _SEPARATOR_C
HAR) { |
| 3865 builder.appendChar(_SEPARATOR_CHAR); | 3863 buffer.writeCharCode(_SEPARATOR_CHAR); |
| 3866 index += 2; | 3864 index += 2; |
| 3867 } else { | 3865 } else { |
| 3868 components.add(builder.toString()); | 3866 components.add(buffer.toString()); |
| 3869 builder.length = 0; | 3867 buffer = new StringBuffer(); |
| 3870 index++; | 3868 index++; |
| 3871 } | 3869 } |
| 3872 } else { | 3870 } else { |
| 3873 builder.appendChar(currentChar); | 3871 buffer.writeCharCode(currentChar); |
| 3874 index++; | 3872 index++; |
| 3875 } | 3873 } |
| 3876 } | 3874 } |
| 3877 components.add(builder.toString()); | 3875 components.add(buffer.toString()); |
| 3878 return new List.from(components); | 3876 return new List.from(components); |
| 3879 } | 3877 } |
| 3880 | 3878 |
| 3881 /** | 3879 /** |
| 3882 * Append an encoded form of the given component to the given builder. | 3880 * Append an encoded form of the given component to the given builder. |
| 3883 * | 3881 * |
| 3884 * @param builder the builder to which the encoded component is to be appended | 3882 * @param builder the builder to which the encoded component is to be appended |
| 3885 * @param component the component to be appended to the builder | 3883 * @param component the component to be appended to the builder |
| 3886 */ | 3884 */ |
| 3887 void _encode(JavaStringBuilder builder, String component) { | 3885 void _encode(StringBuffer buffer, String component) { |
| 3888 int length = component.length; | 3886 int length = component.length; |
| 3889 for (int i = 0; i < length; i++) { | 3887 for (int i = 0; i < length; i++) { |
| 3890 int currentChar = component.codeUnitAt(i); | 3888 int currentChar = component.codeUnitAt(i); |
| 3891 if (currentChar == _SEPARATOR_CHAR) { | 3889 if (currentChar == _SEPARATOR_CHAR) { |
| 3892 builder.appendChar(_SEPARATOR_CHAR); | 3890 buffer.writeCharCode(_SEPARATOR_CHAR); |
| 3893 } | 3891 } |
| 3894 builder.appendChar(currentChar); | 3892 buffer.writeCharCode(currentChar); |
| 3895 } | 3893 } |
| 3896 } | 3894 } |
| 3897 } | 3895 } |
| 3898 | 3896 |
| 3899 /** | 3897 /** |
| 3900 * The class `ElementPair` is a pair of [Element]s. [Object#equals] and | 3898 * The class `ElementPair` is a pair of [Element]s. [Object#equals] and |
| 3901 * [Object#hashCode] so this class can be used in hashed data structures. | 3899 * [Object#hashCode] so this class can be used in hashed data structures. |
| 3902 */ | 3900 */ |
| 3903 class ElementPair { | 3901 class ElementPair { |
| 3904 /** | 3902 /** |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4336 @override | 4334 @override |
| 4337 void visitChildren(ElementVisitor visitor) { | 4335 void visitChildren(ElementVisitor visitor) { |
| 4338 super.visitChildren(visitor); | 4336 super.visitChildren(visitor); |
| 4339 safelyVisitChildren(_functions, visitor); | 4337 safelyVisitChildren(_functions, visitor); |
| 4340 safelyVisitChildren(_labels, visitor); | 4338 safelyVisitChildren(_labels, visitor); |
| 4341 safelyVisitChildren(_localVariables, visitor); | 4339 safelyVisitChildren(_localVariables, visitor); |
| 4342 safelyVisitChildren(_parameters, visitor); | 4340 safelyVisitChildren(_parameters, visitor); |
| 4343 } | 4341 } |
| 4344 | 4342 |
| 4345 @override | 4343 @override |
| 4346 void appendTo(JavaStringBuilder builder) { | 4344 void appendTo(StringBuffer buffer) { |
| 4347 if (this.kind != ElementKind.GETTER) { | 4345 if (this.kind != ElementKind.GETTER) { |
| 4348 builder.append("("); | 4346 buffer.write("("); |
| 4349 String closing = null; | 4347 String closing = null; |
| 4350 ParameterKind kind = ParameterKind.REQUIRED; | 4348 ParameterKind kind = ParameterKind.REQUIRED; |
| 4351 int parameterCount = _parameters.length; | 4349 int parameterCount = _parameters.length; |
| 4352 for (int i = 0; i < parameterCount; i++) { | 4350 for (int i = 0; i < parameterCount; i++) { |
| 4353 if (i > 0) { | 4351 if (i > 0) { |
| 4354 builder.append(", "); | 4352 buffer.write(", "); |
| 4355 } | 4353 } |
| 4356 ParameterElementImpl parameter = _parameters[i] as ParameterElementImpl; | 4354 ParameterElementImpl parameter = _parameters[i] as ParameterElementImpl; |
| 4357 ParameterKind parameterKind = parameter.parameterKind; | 4355 ParameterKind parameterKind = parameter.parameterKind; |
| 4358 if (parameterKind != kind) { | 4356 if (parameterKind != kind) { |
| 4359 if (closing != null) { | 4357 if (closing != null) { |
| 4360 builder.append(closing); | 4358 buffer.write(closing); |
| 4361 } | 4359 } |
| 4362 if (parameterKind == ParameterKind.POSITIONAL) { | 4360 if (parameterKind == ParameterKind.POSITIONAL) { |
| 4363 builder.append("["); | 4361 buffer.write("["); |
| 4364 closing = "]"; | 4362 closing = "]"; |
| 4365 } else if (parameterKind == ParameterKind.NAMED) { | 4363 } else if (parameterKind == ParameterKind.NAMED) { |
| 4366 builder.append("{"); | 4364 buffer.write("{"); |
| 4367 closing = "}"; | 4365 closing = "}"; |
| 4368 } else { | 4366 } else { |
| 4369 closing = null; | 4367 closing = null; |
| 4370 } | 4368 } |
| 4371 } | 4369 } |
| 4372 kind = parameterKind; | 4370 kind = parameterKind; |
| 4373 parameter.appendToWithoutDelimiters(builder); | 4371 parameter.appendToWithoutDelimiters(buffer); |
| 4374 } | 4372 } |
| 4375 if (closing != null) { | 4373 if (closing != null) { |
| 4376 builder.append(closing); | 4374 buffer.write(closing); |
| 4377 } | 4375 } |
| 4378 builder.append(")"); | 4376 buffer.write(")"); |
| 4379 } | 4377 } |
| 4380 if (type != null) { | 4378 if (type != null) { |
| 4381 builder.append(Element.RIGHT_ARROW); | 4379 buffer.write(Element.RIGHT_ARROW); |
| 4382 builder.append(type.returnType); | 4380 buffer.write(type.returnType); |
| 4383 } | 4381 } |
| 4384 } | 4382 } |
| 4385 } | 4383 } |
| 4386 | 4384 |
| 4387 /** | 4385 /** |
| 4388 * The abstract class `ExecutableMember` defines the behavior common to members
that represent | 4386 * The abstract class `ExecutableMember` defines the behavior common to members
that represent |
| 4389 * an executable element defined in a parameterized type where the values of the
type parameters are | 4387 * an executable element defined in a parameterized type where the values of the
type parameters are |
| 4390 * known. | 4388 * known. |
| 4391 */ | 4389 */ |
| 4392 abstract class ExecutableMember extends Member implements ExecutableElement { | 4390 abstract class ExecutableMember extends Member implements ExecutableElement { |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4516 */ | 4514 */ |
| 4517 ExportElementImpl() : super(null, -1); | 4515 ExportElementImpl() : super(null, -1); |
| 4518 | 4516 |
| 4519 @override | 4517 @override |
| 4520 accept(ElementVisitor visitor) => visitor.visitExportElement(this); | 4518 accept(ElementVisitor visitor) => visitor.visitExportElement(this); |
| 4521 | 4519 |
| 4522 @override | 4520 @override |
| 4523 ElementKind get kind => ElementKind.EXPORT; | 4521 ElementKind get kind => ElementKind.EXPORT; |
| 4524 | 4522 |
| 4525 @override | 4523 @override |
| 4526 void appendTo(JavaStringBuilder builder) { | 4524 void appendTo(StringBuffer buffer) { |
| 4527 builder.append("export "); | 4525 buffer.write("export "); |
| 4528 (exportedLibrary as LibraryElementImpl).appendTo(builder); | 4526 (exportedLibrary as LibraryElementImpl).appendTo(buffer); |
| 4529 } | 4527 } |
| 4530 | 4528 |
| 4531 @override | 4529 @override |
| 4532 String get identifier => exportedLibrary.name; | 4530 String get identifier => exportedLibrary.name; |
| 4533 } | 4531 } |
| 4534 | 4532 |
| 4535 /** | 4533 /** |
| 4536 * The interface `ExternalHtmlScriptElement` defines the behavior of elements re
presenting a | 4534 * The interface `ExternalHtmlScriptElement` defines the behavior of elements re
presenting a |
| 4537 * script tag in an HTML file having a `source` attribute that references a Dart
library | 4535 * script tag in an HTML file having a `source` attribute that references a Dart
library |
| 4538 * source file. | 4536 * source file. |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4771 @override | 4769 @override |
| 4772 DartType get propagatedType => substituteFor(baseElement.propagatedType); | 4770 DartType get propagatedType => substituteFor(baseElement.propagatedType); |
| 4773 | 4771 |
| 4774 @override | 4772 @override |
| 4775 PropertyAccessorElement get setter => PropertyAccessorMember.from(baseElement.
setter, definingType); | 4773 PropertyAccessorElement get setter => PropertyAccessorMember.from(baseElement.
setter, definingType); |
| 4776 | 4774 |
| 4777 @override | 4775 @override |
| 4778 bool get isStatic => baseElement.isStatic; | 4776 bool get isStatic => baseElement.isStatic; |
| 4779 | 4777 |
| 4780 @override | 4778 @override |
| 4781 String toString() { | 4779 String toString() => '$type $displayName'; |
| 4782 JavaStringBuilder builder = new JavaStringBuilder(); | |
| 4783 builder.append(type); | |
| 4784 builder.append(" "); | |
| 4785 builder.append(displayName); | |
| 4786 return builder.toString(); | |
| 4787 } | |
| 4788 | 4780 |
| 4789 @override | 4781 @override |
| 4790 InterfaceType get definingType => super.definingType as InterfaceType; | 4782 InterfaceType get definingType => super.definingType as InterfaceType; |
| 4791 } | 4783 } |
| 4792 | 4784 |
| 4793 /** | 4785 /** |
| 4794 * The interface `FunctionElement` defines the behavior of elements representing
a function. | 4786 * The interface `FunctionElement` defines the behavior of elements representing
a function. |
| 4795 */ | 4787 */ |
| 4796 abstract class FunctionElement implements ExecutableElement, LocalElement { | 4788 abstract class FunctionElement implements ExecutableElement, LocalElement { |
| 4797 /** | 4789 /** |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4896 * @param offset the offset to the beginning of the visible range for this ele
ment | 4888 * @param offset the offset to the beginning of the visible range for this ele
ment |
| 4897 * @param length the length of the visible range for this element, or `-1` if
this element | 4889 * @param length the length of the visible range for this element, or `-1` if
this element |
| 4898 * does not have a visible range | 4890 * does not have a visible range |
| 4899 */ | 4891 */ |
| 4900 void setVisibleRange(int offset, int length) { | 4892 void setVisibleRange(int offset, int length) { |
| 4901 _visibleRangeOffset = offset; | 4893 _visibleRangeOffset = offset; |
| 4902 _visibleRangeLength = length; | 4894 _visibleRangeLength = length; |
| 4903 } | 4895 } |
| 4904 | 4896 |
| 4905 @override | 4897 @override |
| 4906 void appendTo(JavaStringBuilder builder) { | 4898 void appendTo(StringBuffer buffer) { |
| 4907 String name = displayName; | 4899 String name = displayName; |
| 4908 if (name != null) { | 4900 if (name != null) { |
| 4909 builder.append(name); | 4901 buffer.write(name); |
| 4910 } | 4902 } |
| 4911 super.appendTo(builder); | 4903 super.appendTo(buffer); |
| 4912 } | 4904 } |
| 4913 | 4905 |
| 4914 @override | 4906 @override |
| 4915 String get identifier { | 4907 String get identifier { |
| 4916 String identifier = super.identifier; | 4908 String identifier = super.identifier; |
| 4917 if (!isStatic) { | 4909 if (!isStatic) { |
| 4918 identifier += "@${nameOffset}"; | 4910 identifier += "@${nameOffset}"; |
| 4919 } | 4911 } |
| 4920 return identifier; | 4912 return identifier; |
| 4921 } | 4913 } |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5229 } | 5221 } |
| 5230 | 5222 |
| 5231 @override | 5223 @override |
| 5232 void visitChildren(ElementVisitor visitor) { | 5224 void visitChildren(ElementVisitor visitor) { |
| 5233 super.visitChildren(visitor); | 5225 super.visitChildren(visitor); |
| 5234 safelyVisitChildren(_parameters, visitor); | 5226 safelyVisitChildren(_parameters, visitor); |
| 5235 safelyVisitChildren(_typeParameters, visitor); | 5227 safelyVisitChildren(_typeParameters, visitor); |
| 5236 } | 5228 } |
| 5237 | 5229 |
| 5238 @override | 5230 @override |
| 5239 void appendTo(JavaStringBuilder builder) { | 5231 void appendTo(StringBuffer buffer) { |
| 5240 builder.append("typedef "); | 5232 buffer.write("typedef "); |
| 5241 builder.append(displayName); | 5233 buffer.write(displayName); |
| 5242 int typeParameterCount = _typeParameters.length; | 5234 int typeParameterCount = _typeParameters.length; |
| 5243 if (typeParameterCount > 0) { | 5235 if (typeParameterCount > 0) { |
| 5244 builder.append("<"); | 5236 buffer.write("<"); |
| 5245 for (int i = 0; i < typeParameterCount; i++) { | 5237 for (int i = 0; i < typeParameterCount; i++) { |
| 5246 if (i > 0) { | 5238 if (i > 0) { |
| 5247 builder.append(", "); | 5239 buffer.write(", "); |
| 5248 } | 5240 } |
| 5249 (_typeParameters[i] as TypeParameterElementImpl).appendTo(builder); | 5241 (_typeParameters[i] as TypeParameterElementImpl).appendTo(buffer); |
| 5250 } | 5242 } |
| 5251 builder.append(">"); | 5243 buffer.write(">"); |
| 5252 } | 5244 } |
| 5253 builder.append("("); | 5245 buffer.write("("); |
| 5254 int parameterCount = _parameters.length; | 5246 int parameterCount = _parameters.length; |
| 5255 for (int i = 0; i < parameterCount; i++) { | 5247 for (int i = 0; i < parameterCount; i++) { |
| 5256 if (i > 0) { | 5248 if (i > 0) { |
| 5257 builder.append(", "); | 5249 buffer.write(", "); |
| 5258 } | 5250 } |
| 5259 (_parameters[i] as ParameterElementImpl).appendTo(builder); | 5251 (_parameters[i] as ParameterElementImpl).appendTo(buffer); |
| 5260 } | 5252 } |
| 5261 builder.append(")"); | 5253 buffer.write(")"); |
| 5262 if (type != null) { | 5254 if (type != null) { |
| 5263 builder.append(Element.RIGHT_ARROW); | 5255 buffer.write(Element.RIGHT_ARROW); |
| 5264 builder.append(type.returnType); | 5256 buffer.write(type.returnType); |
| 5265 } | 5257 } |
| 5266 } | 5258 } |
| 5267 } | 5259 } |
| 5268 | 5260 |
| 5269 /** | 5261 /** |
| 5270 * Instances of the class `FunctionTypeImpl` defines the behavior common to obje
cts | 5262 * Instances of the class `FunctionTypeImpl` defines the behavior common to obje
cts |
| 5271 * representing the type of a function, method, constructor, getter, or setter. | 5263 * representing the type of a function, method, constructor, getter, or setter. |
| 5272 */ | 5264 */ |
| 5273 class FunctionTypeImpl extends TypeImpl implements FunctionType { | 5265 class FunctionTypeImpl extends TypeImpl implements FunctionType { |
| 5274 /** | 5266 /** |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5325 @override | 5317 @override |
| 5326 String get displayName { | 5318 String get displayName { |
| 5327 String name = this.name; | 5319 String name = this.name; |
| 5328 if (name == null || name.length == 0) { | 5320 if (name == null || name.length == 0) { |
| 5329 // Function types have an empty name when they are defined implicitly by e
ither a closure or | 5321 // Function types have an empty name when they are defined implicitly by e
ither a closure or |
| 5330 // as part of a parameter declaration. | 5322 // as part of a parameter declaration. |
| 5331 List<DartType> normalParameterTypes = this.normalParameterTypes; | 5323 List<DartType> normalParameterTypes = this.normalParameterTypes; |
| 5332 List<DartType> optionalParameterTypes = this.optionalParameterTypes; | 5324 List<DartType> optionalParameterTypes = this.optionalParameterTypes; |
| 5333 Map<String, DartType> namedParameterTypes = this.namedParameterTypes; | 5325 Map<String, DartType> namedParameterTypes = this.namedParameterTypes; |
| 5334 DartType returnType = this.returnType; | 5326 DartType returnType = this.returnType; |
| 5335 JavaStringBuilder builder = new JavaStringBuilder(); | 5327 StringBuffer buffer = new StringBuffer(); |
| 5336 builder.append("("); | 5328 buffer.write("("); |
| 5337 bool needsComma = false; | 5329 bool needsComma = false; |
| 5338 if (normalParameterTypes.length > 0) { | 5330 if (normalParameterTypes.length > 0) { |
| 5339 for (DartType type in normalParameterTypes) { | 5331 for (DartType type in normalParameterTypes) { |
| 5340 if (needsComma) { | 5332 if (needsComma) { |
| 5341 builder.append(", "); | 5333 buffer.write(", "); |
| 5342 } else { | 5334 } else { |
| 5343 needsComma = true; | 5335 needsComma = true; |
| 5344 } | 5336 } |
| 5345 builder.append(type.displayName); | 5337 buffer.write(type.displayName); |
| 5346 } | 5338 } |
| 5347 } | 5339 } |
| 5348 if (optionalParameterTypes.length > 0) { | 5340 if (optionalParameterTypes.length > 0) { |
| 5349 if (needsComma) { | 5341 if (needsComma) { |
| 5350 builder.append(", "); | 5342 buffer.write(", "); |
| 5351 needsComma = false; | 5343 needsComma = false; |
| 5352 } | 5344 } |
| 5353 builder.append("["); | 5345 buffer.write("["); |
| 5354 for (DartType type in optionalParameterTypes) { | 5346 for (DartType type in optionalParameterTypes) { |
| 5355 if (needsComma) { | 5347 if (needsComma) { |
| 5356 builder.append(", "); | 5348 buffer.write(", "); |
| 5357 } else { | 5349 } else { |
| 5358 needsComma = true; | 5350 needsComma = true; |
| 5359 } | 5351 } |
| 5360 builder.append(type.displayName); | 5352 buffer.write(type.displayName); |
| 5361 } | 5353 } |
| 5362 builder.append("]"); | 5354 buffer.write("]"); |
| 5363 needsComma = true; | 5355 needsComma = true; |
| 5364 } | 5356 } |
| 5365 if (namedParameterTypes.length > 0) { | 5357 if (namedParameterTypes.length > 0) { |
| 5366 if (needsComma) { | 5358 if (needsComma) { |
| 5367 builder.append(", "); | 5359 buffer.write(", "); |
| 5368 needsComma = false; | 5360 needsComma = false; |
| 5369 } | 5361 } |
| 5370 builder.append("{"); | 5362 buffer.write("{"); |
| 5371 for (MapEntry<String, DartType> entry in getMapEntrySet(namedParameterTy
pes)) { | 5363 for (MapEntry<String, DartType> entry in getMapEntrySet(namedParameterTy
pes)) { |
| 5372 if (needsComma) { | 5364 if (needsComma) { |
| 5373 builder.append(", "); | 5365 buffer.write(", "); |
| 5374 } else { | 5366 } else { |
| 5375 needsComma = true; | 5367 needsComma = true; |
| 5376 } | 5368 } |
| 5377 builder.append(entry.getKey()); | 5369 buffer.write(entry.getKey()); |
| 5378 builder.append(": "); | 5370 buffer.write(": "); |
| 5379 builder.append(entry.getValue().displayName); | 5371 buffer.write(entry.getValue().displayName); |
| 5380 } | 5372 } |
| 5381 builder.append("}"); | 5373 buffer.write("}"); |
| 5382 needsComma = true; | 5374 needsComma = true; |
| 5383 } | 5375 } |
| 5384 builder.append(")"); | 5376 buffer.write(")"); |
| 5385 builder.append(Element.RIGHT_ARROW); | 5377 buffer.write(Element.RIGHT_ARROW); |
| 5386 if (returnType == null) { | 5378 if (returnType == null) { |
| 5387 builder.append("null"); | 5379 buffer.write("null"); |
| 5388 } else { | 5380 } else { |
| 5389 builder.append(returnType.displayName); | 5381 buffer.write(returnType.displayName); |
| 5390 } | 5382 } |
| 5391 name = builder.toString(); | 5383 name = buffer.toString(); |
| 5392 } | 5384 } |
| 5393 return name; | 5385 return name; |
| 5394 } | 5386 } |
| 5395 | 5387 |
| 5396 @override | 5388 @override |
| 5397 Map<String, DartType> get namedParameterTypes { | 5389 Map<String, DartType> get namedParameterTypes { |
| 5398 LinkedHashMap<String, DartType> namedParameterTypes = new LinkedHashMap<Stri
ng, DartType>(); | 5390 LinkedHashMap<String, DartType> namedParameterTypes = new LinkedHashMap<Stri
ng, DartType>(); |
| 5399 List<ParameterElement> parameters = baseParameters; | 5391 List<ParameterElement> parameters = baseParameters; |
| 5400 if (parameters.length == 0) { | 5392 if (parameters.length == 0) { |
| 5401 return namedParameterTypes; | 5393 return namedParameterTypes; |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5649 if (argumentTypes.length == 0) { | 5641 if (argumentTypes.length == 0) { |
| 5650 return this; | 5642 return this; |
| 5651 } | 5643 } |
| 5652 Element element = this.element; | 5644 Element element = this.element; |
| 5653 FunctionTypeImpl newType = (element is ExecutableElement) ? new FunctionType
Impl.con1(element) : new FunctionTypeImpl.con2(element as FunctionTypeAliasEleme
nt); | 5645 FunctionTypeImpl newType = (element is ExecutableElement) ? new FunctionType
Impl.con1(element) : new FunctionTypeImpl.con2(element as FunctionTypeAliasEleme
nt); |
| 5654 newType.typeArguments = TypeImpl.substitute(typeArguments, argumentTypes, pa
rameterTypes); | 5646 newType.typeArguments = TypeImpl.substitute(typeArguments, argumentTypes, pa
rameterTypes); |
| 5655 return newType; | 5647 return newType; |
| 5656 } | 5648 } |
| 5657 | 5649 |
| 5658 @override | 5650 @override |
| 5659 void appendTo(JavaStringBuilder builder) { | 5651 void appendTo(StringBuffer buffer) { |
| 5660 List<DartType> normalParameterTypes = this.normalParameterTypes; | 5652 List<DartType> normalParameterTypes = this.normalParameterTypes; |
| 5661 List<DartType> optionalParameterTypes = this.optionalParameterTypes; | 5653 List<DartType> optionalParameterTypes = this.optionalParameterTypes; |
| 5662 Map<String, DartType> namedParameterTypes = this.namedParameterTypes; | 5654 Map<String, DartType> namedParameterTypes = this.namedParameterTypes; |
| 5663 DartType returnType = this.returnType; | 5655 DartType returnType = this.returnType; |
| 5664 builder.append("("); | 5656 buffer.write("("); |
| 5665 bool needsComma = false; | 5657 bool needsComma = false; |
| 5666 if (normalParameterTypes.length > 0) { | 5658 if (normalParameterTypes.length > 0) { |
| 5667 for (DartType type in normalParameterTypes) { | 5659 for (DartType type in normalParameterTypes) { |
| 5668 if (needsComma) { | 5660 if (needsComma) { |
| 5669 builder.append(", "); | 5661 buffer.write(", "); |
| 5670 } else { | 5662 } else { |
| 5671 needsComma = true; | 5663 needsComma = true; |
| 5672 } | 5664 } |
| 5673 (type as TypeImpl).appendTo(builder); | 5665 (type as TypeImpl).appendTo(buffer); |
| 5674 } | 5666 } |
| 5675 } | 5667 } |
| 5676 if (optionalParameterTypes.length > 0) { | 5668 if (optionalParameterTypes.length > 0) { |
| 5677 if (needsComma) { | 5669 if (needsComma) { |
| 5678 builder.append(", "); | 5670 buffer.write(", "); |
| 5679 needsComma = false; | 5671 needsComma = false; |
| 5680 } | 5672 } |
| 5681 builder.append("["); | 5673 buffer.write("["); |
| 5682 for (DartType type in optionalParameterTypes) { | 5674 for (DartType type in optionalParameterTypes) { |
| 5683 if (needsComma) { | 5675 if (needsComma) { |
| 5684 builder.append(", "); | 5676 buffer.write(", "); |
| 5685 } else { | 5677 } else { |
| 5686 needsComma = true; | 5678 needsComma = true; |
| 5687 } | 5679 } |
| 5688 (type as TypeImpl).appendTo(builder); | 5680 (type as TypeImpl).appendTo(buffer); |
| 5689 } | 5681 } |
| 5690 builder.append("]"); | 5682 buffer.write("]"); |
| 5691 needsComma = true; | 5683 needsComma = true; |
| 5692 } | 5684 } |
| 5693 if (namedParameterTypes.length > 0) { | 5685 if (namedParameterTypes.length > 0) { |
| 5694 if (needsComma) { | 5686 if (needsComma) { |
| 5695 builder.append(", "); | 5687 buffer.write(", "); |
| 5696 needsComma = false; | 5688 needsComma = false; |
| 5697 } | 5689 } |
| 5698 builder.append("{"); | 5690 buffer.write("{"); |
| 5699 for (MapEntry<String, DartType> entry in getMapEntrySet(namedParameterType
s)) { | 5691 for (MapEntry<String, DartType> entry in getMapEntrySet(namedParameterType
s)) { |
| 5700 if (needsComma) { | 5692 if (needsComma) { |
| 5701 builder.append(", "); | 5693 buffer.write(", "); |
| 5702 } else { | 5694 } else { |
| 5703 needsComma = true; | 5695 needsComma = true; |
| 5704 } | 5696 } |
| 5705 builder.append(entry.getKey()); | 5697 buffer.write(entry.getKey()); |
| 5706 builder.append(": "); | 5698 buffer.write(": "); |
| 5707 (entry.getValue() as TypeImpl).appendTo(builder); | 5699 (entry.getValue() as TypeImpl).appendTo(buffer); |
| 5708 } | 5700 } |
| 5709 builder.append("}"); | 5701 buffer.write("}"); |
| 5710 needsComma = true; | 5702 needsComma = true; |
| 5711 } | 5703 } |
| 5712 builder.append(")"); | 5704 buffer.write(")"); |
| 5713 builder.append(Element.RIGHT_ARROW); | 5705 buffer.write(Element.RIGHT_ARROW); |
| 5714 if (returnType == null) { | 5706 if (returnType == null) { |
| 5715 builder.append("null"); | 5707 buffer.write("null"); |
| 5716 } else { | 5708 } else { |
| 5717 (returnType as TypeImpl).appendTo(builder); | 5709 (returnType as TypeImpl).appendTo(buffer); |
| 5718 } | 5710 } |
| 5719 } | 5711 } |
| 5720 | 5712 |
| 5721 /** | 5713 /** |
| 5722 * @return the base parameter elements of this function element, not `null`. | 5714 * @return the base parameter elements of this function element, not `null`. |
| 5723 */ | 5715 */ |
| 5724 List<ParameterElement> get baseParameters { | 5716 List<ParameterElement> get baseParameters { |
| 5725 Element element = this.element; | 5717 Element element = this.element; |
| 5726 if (element is ExecutableElement) { | 5718 if (element is ExecutableElement) { |
| 5727 return element.parameters; | 5719 return element.parameters; |
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6062 class HasAttributeSelectorElementImpl extends AngularSelectorElementImpl impleme
nts AngularHasAttributeSelectorElement { | 6054 class HasAttributeSelectorElementImpl extends AngularSelectorElementImpl impleme
nts AngularHasAttributeSelectorElement { |
| 6063 HasAttributeSelectorElementImpl(String attributeName, int offset) : super(attr
ibuteName, offset); | 6055 HasAttributeSelectorElementImpl(String attributeName, int offset) : super(attr
ibuteName, offset); |
| 6064 | 6056 |
| 6065 @override | 6057 @override |
| 6066 bool apply(XmlTagNode node) { | 6058 bool apply(XmlTagNode node) { |
| 6067 String attributeName = name; | 6059 String attributeName = name; |
| 6068 return node.getAttribute(attributeName) != null; | 6060 return node.getAttribute(attributeName) != null; |
| 6069 } | 6061 } |
| 6070 | 6062 |
| 6071 @override | 6063 @override |
| 6072 void appendTo(JavaStringBuilder builder) { | 6064 void appendTo(StringBuffer buffer) { |
| 6073 builder.append("["); | 6065 buffer.write("["); |
| 6074 builder.append(name); | 6066 buffer.write(name); |
| 6075 builder.append("]"); | 6067 buffer.write("]"); |
| 6076 } | 6068 } |
| 6077 } | 6069 } |
| 6078 | 6070 |
| 6079 /** | 6071 /** |
| 6080 * The interface `HideElementCombinator` defines the behavior of combinators tha
t cause some | 6072 * The interface `HideElementCombinator` defines the behavior of combinators tha
t cause some |
| 6081 * of the names in a namespace to be hidden when being imported. | 6073 * of the names in a namespace to be hidden when being imported. |
| 6082 */ | 6074 */ |
| 6083 abstract class HideElementCombinator implements NamespaceCombinator { | 6075 abstract class HideElementCombinator implements NamespaceCombinator { |
| 6084 /** | 6076 /** |
| 6085 * Return an array containing the names that are not to be made visible in the
importing library | 6077 * Return an array containing the names that are not to be made visible in the
importing library |
| (...skipping 10 matching lines...) Expand all Loading... |
| 6096 */ | 6088 */ |
| 6097 class HideElementCombinatorImpl implements HideElementCombinator { | 6089 class HideElementCombinatorImpl implements HideElementCombinator { |
| 6098 /** | 6090 /** |
| 6099 * The names that are not to be made visible in the importing library even if
they are defined in | 6091 * The names that are not to be made visible in the importing library even if
they are defined in |
| 6100 * the imported library. | 6092 * the imported library. |
| 6101 */ | 6093 */ |
| 6102 List<String> hiddenNames = StringUtilities.EMPTY_ARRAY; | 6094 List<String> hiddenNames = StringUtilities.EMPTY_ARRAY; |
| 6103 | 6095 |
| 6104 @override | 6096 @override |
| 6105 String toString() { | 6097 String toString() { |
| 6106 JavaStringBuilder builder = new JavaStringBuilder(); | 6098 StringBuffer buffer = new StringBuffer(); |
| 6107 builder.append("show "); | 6099 buffer.write("show "); |
| 6108 int count = hiddenNames.length; | 6100 int count = hiddenNames.length; |
| 6109 for (int i = 0; i < count; i++) { | 6101 for (int i = 0; i < count; i++) { |
| 6110 if (i > 0) { | 6102 if (i > 0) { |
| 6111 builder.append(", "); | 6103 buffer.write(", "); |
| 6112 } | 6104 } |
| 6113 builder.append(hiddenNames[i]); | 6105 buffer.write(hiddenNames[i]); |
| 6114 } | 6106 } |
| 6115 return builder.toString(); | 6107 return buffer.toString(); |
| 6116 } | 6108 } |
| 6117 } | 6109 } |
| 6118 | 6110 |
| 6119 /** | 6111 /** |
| 6120 * The interface `HtmlElement` defines the behavior of elements representing an
HTML file. | 6112 * The interface `HtmlElement` defines the behavior of elements representing an
HTML file. |
| 6121 */ | 6113 */ |
| 6122 abstract class HtmlElement implements Element { | 6114 abstract class HtmlElement implements Element { |
| 6123 /** | 6115 /** |
| 6124 * Return the [CompilationUnitElement] associated with this Angular HTML file,
maybe | 6116 * Return the [CompilationUnitElement] associated with this Angular HTML file,
maybe |
| 6125 * `null` if not an Angular file. | 6117 * `null` if not an Angular file. |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6244 } | 6236 } |
| 6245 | 6237 |
| 6246 @override | 6238 @override |
| 6247 void visitChildren(ElementVisitor visitor) { | 6239 void visitChildren(ElementVisitor visitor) { |
| 6248 super.visitChildren(visitor); | 6240 super.visitChildren(visitor); |
| 6249 safelyVisitChildren(_scripts, visitor); | 6241 safelyVisitChildren(_scripts, visitor); |
| 6250 safelyVisitChildren(_polymerTags, visitor); | 6242 safelyVisitChildren(_polymerTags, visitor); |
| 6251 } | 6243 } |
| 6252 | 6244 |
| 6253 @override | 6245 @override |
| 6254 void appendTo(JavaStringBuilder builder) { | 6246 void appendTo(StringBuffer buffer) { |
| 6255 if (source == null) { | 6247 if (source == null) { |
| 6256 builder.append("{HTML file}"); | 6248 buffer.write("{HTML file}"); |
| 6257 } else { | 6249 } else { |
| 6258 builder.append(source.fullName); | 6250 buffer.write(source.fullName); |
| 6259 } | 6251 } |
| 6260 } | 6252 } |
| 6261 | 6253 |
| 6262 @override | 6254 @override |
| 6263 String get identifier => source.encoding; | 6255 String get identifier => source.encoding; |
| 6264 } | 6256 } |
| 6265 | 6257 |
| 6266 /** | 6258 /** |
| 6267 * The interface `HtmlScriptElement` defines the behavior of elements representi
ng a script | 6259 * The interface `HtmlScriptElement` defines the behavior of elements representi
ng a script |
| 6268 * tag in an HTML file. | 6260 * tag in an HTML file. |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6392 setModifier(Modifier.DEFERRED, isDeferred); | 6384 setModifier(Modifier.DEFERRED, isDeferred); |
| 6393 } | 6385 } |
| 6394 | 6386 |
| 6395 @override | 6387 @override |
| 6396 void visitChildren(ElementVisitor visitor) { | 6388 void visitChildren(ElementVisitor visitor) { |
| 6397 super.visitChildren(visitor); | 6389 super.visitChildren(visitor); |
| 6398 safelyVisitChild(prefix, visitor); | 6390 safelyVisitChild(prefix, visitor); |
| 6399 } | 6391 } |
| 6400 | 6392 |
| 6401 @override | 6393 @override |
| 6402 void appendTo(JavaStringBuilder builder) { | 6394 void appendTo(StringBuffer buffer) { |
| 6403 builder.append("import "); | 6395 buffer.write("import "); |
| 6404 (importedLibrary as LibraryElementImpl).appendTo(builder); | 6396 (importedLibrary as LibraryElementImpl).appendTo(buffer); |
| 6405 } | 6397 } |
| 6406 | 6398 |
| 6407 @override | 6399 @override |
| 6408 String get identifier => "${(importedLibrary as LibraryElementImpl).identifier
}@${nameOffset}"; | 6400 String get identifier => "${(importedLibrary as LibraryElementImpl).identifier
}@${nameOffset}"; |
| 6409 } | 6401 } |
| 6410 | 6402 |
| 6411 /** | 6403 /** |
| 6412 * The interface `InterfaceType` defines the behavior common to objects represen
ting the type | 6404 * The interface `InterfaceType` defines the behavior common to objects represen
ting the type |
| 6413 * introduced by either a class or an interface, or a reference to such a type. | 6405 * introduced by either a class or an interface, or a reference to such a type. |
| 6414 */ | 6406 */ |
| (...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6896 List<DartType> typeArguments = this.typeArguments; | 6888 List<DartType> typeArguments = this.typeArguments; |
| 6897 bool allDynamic = true; | 6889 bool allDynamic = true; |
| 6898 for (DartType type in typeArguments) { | 6890 for (DartType type in typeArguments) { |
| 6899 if (type != null && !type.isDynamic) { | 6891 if (type != null && !type.isDynamic) { |
| 6900 allDynamic = false; | 6892 allDynamic = false; |
| 6901 break; | 6893 break; |
| 6902 } | 6894 } |
| 6903 } | 6895 } |
| 6904 // If there is at least one non-dynamic type, then list them out | 6896 // If there is at least one non-dynamic type, then list them out |
| 6905 if (!allDynamic) { | 6897 if (!allDynamic) { |
| 6906 JavaStringBuilder builder = new JavaStringBuilder(); | 6898 StringBuffer buffer = new StringBuffer(); |
| 6907 builder.append(name); | 6899 buffer.write(name); |
| 6908 builder.append("<"); | 6900 buffer.write("<"); |
| 6909 for (int i = 0; i < typeArguments.length; i++) { | 6901 for (int i = 0; i < typeArguments.length; i++) { |
| 6910 if (i != 0) { | 6902 if (i != 0) { |
| 6911 builder.append(", "); | 6903 buffer.write(", "); |
| 6912 } | 6904 } |
| 6913 DartType typeArg = typeArguments[i]; | 6905 DartType typeArg = typeArguments[i]; |
| 6914 builder.append(typeArg.displayName); | 6906 buffer.write(typeArg.displayName); |
| 6915 } | 6907 } |
| 6916 builder.append(">"); | 6908 buffer.write(">"); |
| 6917 name = builder.toString(); | 6909 name = buffer.toString(); |
| 6918 } | 6910 } |
| 6919 return name; | 6911 return name; |
| 6920 } | 6912 } |
| 6921 | 6913 |
| 6922 @override | 6914 @override |
| 6923 ClassElement get element => super.element as ClassElement; | 6915 ClassElement get element => super.element as ClassElement; |
| 6924 | 6916 |
| 6925 @override | 6917 @override |
| 6926 PropertyAccessorElement getGetter(String getterName) => PropertyAccessorMember
.from((element as ClassElementImpl).getGetter(getterName), this); | 6918 PropertyAccessorElement getGetter(String getterName) => PropertyAccessorMember
.from((element as ClassElementImpl).getGetter(getterName), this); |
| 6927 | 6919 |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7261 List<DartType> newTypeArguments = TypeImpl.substitute(typeArguments, argumen
tTypes, parameterTypes); | 7253 List<DartType> newTypeArguments = TypeImpl.substitute(typeArguments, argumen
tTypes, parameterTypes); |
| 7262 if (JavaArrays.equals(newTypeArguments, typeArguments)) { | 7254 if (JavaArrays.equals(newTypeArguments, typeArguments)) { |
| 7263 return this; | 7255 return this; |
| 7264 } | 7256 } |
| 7265 InterfaceTypeImpl newType = new InterfaceTypeImpl.con1(element); | 7257 InterfaceTypeImpl newType = new InterfaceTypeImpl.con1(element); |
| 7266 newType.typeArguments = newTypeArguments; | 7258 newType.typeArguments = newTypeArguments; |
| 7267 return newType; | 7259 return newType; |
| 7268 } | 7260 } |
| 7269 | 7261 |
| 7270 @override | 7262 @override |
| 7271 void appendTo(JavaStringBuilder builder) { | 7263 void appendTo(StringBuffer buffer) { |
| 7272 builder.append(name); | 7264 buffer.write(name); |
| 7273 int argumentCount = typeArguments.length; | 7265 int argumentCount = typeArguments.length; |
| 7274 if (argumentCount > 0) { | 7266 if (argumentCount > 0) { |
| 7275 builder.append("<"); | 7267 buffer.write("<"); |
| 7276 for (int i = 0; i < argumentCount; i++) { | 7268 for (int i = 0; i < argumentCount; i++) { |
| 7277 if (i > 0) { | 7269 if (i > 0) { |
| 7278 builder.append(", "); | 7270 buffer.write(", "); |
| 7279 } | 7271 } |
| 7280 (typeArguments[i] as TypeImpl).appendTo(builder); | 7272 (typeArguments[i] as TypeImpl).appendTo(buffer); |
| 7281 } | 7273 } |
| 7282 builder.append(">"); | 7274 buffer.write(">"); |
| 7283 } | 7275 } |
| 7284 } | 7276 } |
| 7285 | 7277 |
| 7286 @override | 7278 @override |
| 7287 bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) { | 7279 bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) { |
| 7288 if (object is! InterfaceTypeImpl) { | 7280 if (object is! InterfaceTypeImpl) { |
| 7289 return false; | 7281 return false; |
| 7290 } | 7282 } |
| 7291 InterfaceTypeImpl otherType = object as InterfaceTypeImpl; | 7283 InterfaceTypeImpl otherType = object as InterfaceTypeImpl; |
| 7292 return (element == otherType.element) && TypeImpl.equalArrays(typeArguments,
otherType.typeArguments, visitedElementPairs); | 7284 return (element == otherType.element) && TypeImpl.equalArrays(typeArguments,
otherType.typeArguments, visitedElementPairs); |
| (...skipping 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8335 * @param offset the offset to the beginning of the visible range for this ele
ment | 8327 * @param offset the offset to the beginning of the visible range for this ele
ment |
| 8336 * @param length the length of the visible range for this element, or `-1` if
this element | 8328 * @param length the length of the visible range for this element, or `-1` if
this element |
| 8337 * does not have a visible range | 8329 * does not have a visible range |
| 8338 */ | 8330 */ |
| 8339 void setVisibleRange(int offset, int length) { | 8331 void setVisibleRange(int offset, int length) { |
| 8340 _visibleRangeOffset = offset; | 8332 _visibleRangeOffset = offset; |
| 8341 _visibleRangeLength = length; | 8333 _visibleRangeLength = length; |
| 8342 } | 8334 } |
| 8343 | 8335 |
| 8344 @override | 8336 @override |
| 8345 void appendTo(JavaStringBuilder builder) { | 8337 void appendTo(StringBuffer buffer) { |
| 8346 builder.append(type); | 8338 buffer.write(type); |
| 8347 builder.append(" "); | 8339 buffer.write(" "); |
| 8348 builder.append(displayName); | 8340 buffer.write(displayName); |
| 8349 } | 8341 } |
| 8350 | 8342 |
| 8351 @override | 8343 @override |
| 8352 String get identifier => "${super.identifier}@${nameOffset}"; | 8344 String get identifier => "${super.identifier}@${nameOffset}"; |
| 8353 } | 8345 } |
| 8354 | 8346 |
| 8355 /** | 8347 /** |
| 8356 * The abstract class `Member` defines the behavior common to elements that repr
esent members | 8348 * The abstract class `Member` defines the behavior common to elements that repr
esent members |
| 8357 * of parameterized types. | 8349 * of parameterized types. |
| 8358 */ | 8350 */ |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8623 /** | 8615 /** |
| 8624 * Set whether this method is static to correspond to the given value. | 8616 * Set whether this method is static to correspond to the given value. |
| 8625 * | 8617 * |
| 8626 * @param isStatic `true` if the method is static | 8618 * @param isStatic `true` if the method is static |
| 8627 */ | 8619 */ |
| 8628 void set static(bool isStatic) { | 8620 void set static(bool isStatic) { |
| 8629 setModifier(Modifier.STATIC, isStatic); | 8621 setModifier(Modifier.STATIC, isStatic); |
| 8630 } | 8622 } |
| 8631 | 8623 |
| 8632 @override | 8624 @override |
| 8633 void appendTo(JavaStringBuilder builder) { | 8625 void appendTo(StringBuffer buffer) { |
| 8634 builder.append(enclosingElement.displayName); | 8626 buffer.write(enclosingElement.displayName); |
| 8635 builder.append("."); | 8627 buffer.write("."); |
| 8636 builder.append(displayName); | 8628 buffer.write(displayName); |
| 8637 super.appendTo(builder); | 8629 super.appendTo(buffer); |
| 8638 } | 8630 } |
| 8639 } | 8631 } |
| 8640 | 8632 |
| 8641 /** | 8633 /** |
| 8642 * Instances of the class `MethodMember` represent a method element defined in a
parameterized | 8634 * Instances of the class `MethodMember` represent a method element defined in a
parameterized |
| 8643 * type where the values of the type parameters are known. | 8635 * type where the values of the type parameters are known. |
| 8644 */ | 8636 */ |
| 8645 class MethodMember extends ExecutableMember implements MethodElement { | 8637 class MethodMember extends ExecutableMember implements MethodElement { |
| 8646 /** | 8638 /** |
| 8647 * If the given method's type is different when any type parameters from the d
efining type's | 8639 * If the given method's type is different when any type parameters from the d
efining type's |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8691 MethodDeclaration get node => baseElement.node; | 8683 MethodDeclaration get node => baseElement.node; |
| 8692 | 8684 |
| 8693 @override | 8685 @override |
| 8694 bool get isAbstract => baseElement.isAbstract; | 8686 bool get isAbstract => baseElement.isAbstract; |
| 8695 | 8687 |
| 8696 @override | 8688 @override |
| 8697 String toString() { | 8689 String toString() { |
| 8698 MethodElement baseElement = this.baseElement; | 8690 MethodElement baseElement = this.baseElement; |
| 8699 List<ParameterElement> parameters = this.parameters; | 8691 List<ParameterElement> parameters = this.parameters; |
| 8700 FunctionType type = this.type; | 8692 FunctionType type = this.type; |
| 8701 JavaStringBuilder builder = new JavaStringBuilder(); | 8693 StringBuffer buffer = new StringBuffer(); |
| 8702 builder.append(baseElement.enclosingElement.displayName); | 8694 buffer.write(baseElement.enclosingElement.displayName); |
| 8703 builder.append("."); | 8695 buffer.write("."); |
| 8704 builder.append(baseElement.displayName); | 8696 buffer.write(baseElement.displayName); |
| 8705 builder.append("("); | 8697 buffer.write("("); |
| 8706 int parameterCount = parameters.length; | 8698 int parameterCount = parameters.length; |
| 8707 for (int i = 0; i < parameterCount; i++) { | 8699 for (int i = 0; i < parameterCount; i++) { |
| 8708 if (i > 0) { | 8700 if (i > 0) { |
| 8709 builder.append(", "); | 8701 buffer.write(", "); |
| 8710 } | 8702 } |
| 8711 builder.append(parameters[i]).toString(); | 8703 buffer.write(parameters[i]); |
| 8712 } | 8704 } |
| 8713 builder.append(")"); | 8705 buffer.write(")"); |
| 8714 if (type != null) { | 8706 if (type != null) { |
| 8715 builder.append(Element.RIGHT_ARROW); | 8707 buffer.write(Element.RIGHT_ARROW); |
| 8716 builder.append(type.returnType); | 8708 buffer.write(type.returnType); |
| 8717 } | 8709 } |
| 8718 return builder.toString(); | 8710 return buffer.toString(); |
| 8719 } | 8711 } |
| 8720 } | 8712 } |
| 8721 | 8713 |
| 8722 /** | 8714 /** |
| 8723 * The enumeration `Modifier` defines constants for all of the modifiers defined
by the Dart | 8715 * The enumeration `Modifier` defines constants for all of the modifiers defined
by the Dart |
| 8724 * language and for a few additional flags that are useful. | 8716 * language and for a few additional flags that are useful. |
| 8725 */ | 8717 */ |
| 8726 class Modifier extends Enum<Modifier> { | 8718 class Modifier extends Enum<Modifier> { |
| 8727 /** | 8719 /** |
| 8728 * Indicates that the modifier 'abstract' was applied to the element. | 8720 * Indicates that the modifier 'abstract' was applied to the element. |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9025 } | 9017 } |
| 9026 | 9018 |
| 9027 @override | 9019 @override |
| 9028 bool get isPublic => !isPrivate; | 9020 bool get isPublic => !isPrivate; |
| 9029 | 9021 |
| 9030 @override | 9022 @override |
| 9031 bool get isSynthetic => true; | 9023 bool get isSynthetic => true; |
| 9032 | 9024 |
| 9033 @override | 9025 @override |
| 9034 String toString() { | 9026 String toString() { |
| 9035 JavaStringBuilder builder = new JavaStringBuilder(); | 9027 StringBuffer buffer = new StringBuffer(); |
| 9036 builder.append("["); | 9028 buffer.write("["); |
| 9037 int count = conflictingElements.length; | 9029 int count = conflictingElements.length; |
| 9038 for (int i = 0; i < count; i++) { | 9030 for (int i = 0; i < count; i++) { |
| 9039 if (i > 0) { | 9031 if (i > 0) { |
| 9040 builder.append(", "); | 9032 buffer.write(", "); |
| 9041 } | 9033 } |
| 9042 (conflictingElements[i] as ElementImpl).appendTo(builder); | 9034 (conflictingElements[i] as ElementImpl).appendTo(buffer); |
| 9043 } | 9035 } |
| 9044 builder.append("]"); | 9036 buffer.write("]"); |
| 9045 return builder.toString(); | 9037 return buffer.toString(); |
| 9046 } | 9038 } |
| 9047 | 9039 |
| 9048 @override | 9040 @override |
| 9049 void visitChildren(ElementVisitor visitor) { | 9041 void visitChildren(ElementVisitor visitor) { |
| 9050 // There are no children to visit | 9042 // There are no children to visit |
| 9051 } | 9043 } |
| 9052 } | 9044 } |
| 9053 | 9045 |
| 9054 /** | 9046 /** |
| 9055 * The interface [MultiplyInheritedExecutableElement] defines all of the behavio
r of an | 9047 * The interface [MultiplyInheritedExecutableElement] defines all of the behavio
r of an |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9295 _visibleRangeLength = length; | 9287 _visibleRangeLength = length; |
| 9296 } | 9288 } |
| 9297 | 9289 |
| 9298 @override | 9290 @override |
| 9299 void visitChildren(ElementVisitor visitor) { | 9291 void visitChildren(ElementVisitor visitor) { |
| 9300 super.visitChildren(visitor); | 9292 super.visitChildren(visitor); |
| 9301 safelyVisitChildren(_parameters, visitor); | 9293 safelyVisitChildren(_parameters, visitor); |
| 9302 } | 9294 } |
| 9303 | 9295 |
| 9304 @override | 9296 @override |
| 9305 void appendTo(JavaStringBuilder builder) { | 9297 void appendTo(StringBuffer buffer) { |
| 9306 String left = ""; | 9298 String left = ""; |
| 9307 String right = ""; | 9299 String right = ""; |
| 9308 while (true) { | 9300 while (true) { |
| 9309 if (parameterKind == ParameterKind.NAMED) { | 9301 if (parameterKind == ParameterKind.NAMED) { |
| 9310 left = "{"; | 9302 left = "{"; |
| 9311 right = "}"; | 9303 right = "}"; |
| 9312 } else if (parameterKind == ParameterKind.POSITIONAL) { | 9304 } else if (parameterKind == ParameterKind.POSITIONAL) { |
| 9313 left = "["; | 9305 left = "["; |
| 9314 right = "]"; | 9306 right = "]"; |
| 9315 } else if (parameterKind == ParameterKind.REQUIRED) { | 9307 } else if (parameterKind == ParameterKind.REQUIRED) { |
| 9316 } | 9308 } |
| 9317 break; | 9309 break; |
| 9318 } | 9310 } |
| 9319 builder.append(left); | 9311 buffer.write(left); |
| 9320 appendToWithoutDelimiters(builder); | 9312 appendToWithoutDelimiters(buffer); |
| 9321 builder.append(right); | 9313 buffer.write(right); |
| 9322 } | 9314 } |
| 9323 | 9315 |
| 9324 /** | 9316 /** |
| 9325 * Append the type and name of this parameter to the given builder. | 9317 * Append the type and name of this parameter to the given builder. |
| 9326 * | 9318 * |
| 9327 * @param builder the builder to which the type and name are to be appended | 9319 * @param builder the builder to which the type and name are to be appended |
| 9328 */ | 9320 */ |
| 9329 void appendToWithoutDelimiters(JavaStringBuilder builder) { | 9321 void appendToWithoutDelimiters(StringBuffer buffer) { |
| 9330 builder.append(type); | 9322 buffer.write(type); |
| 9331 builder.append(" "); | 9323 buffer.write(" "); |
| 9332 builder.append(displayName); | 9324 buffer.write(displayName); |
| 9333 if (_defaultValueCode != null) { | 9325 if (_defaultValueCode != null) { |
| 9334 if (parameterKind == ParameterKind.NAMED) { | 9326 if (parameterKind == ParameterKind.NAMED) { |
| 9335 builder.append(": "); | 9327 buffer.write(": "); |
| 9336 } | 9328 } |
| 9337 if (parameterKind == ParameterKind.POSITIONAL) { | 9329 if (parameterKind == ParameterKind.POSITIONAL) { |
| 9338 builder.append(" = "); | 9330 buffer.write(" = "); |
| 9339 } | 9331 } |
| 9340 builder.append(_defaultValueCode); | 9332 buffer.write(_defaultValueCode); |
| 9341 } | 9333 } |
| 9342 } | 9334 } |
| 9343 } | 9335 } |
| 9344 | 9336 |
| 9345 /** | 9337 /** |
| 9346 * Instances of the class `ParameterMember` represent a parameter element define
d in a | 9338 * Instances of the class `ParameterMember` represent a parameter element define
d in a |
| 9347 * parameterized type where the values of the type parameters are known. | 9339 * parameterized type where the values of the type parameters are known. |
| 9348 */ | 9340 */ |
| 9349 class ParameterMember extends VariableMember implements ParameterElement { | 9341 class ParameterMember extends VariableMember implements ParameterElement { |
| 9350 /** | 9342 /** |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9451 if (baseElement.parameterKind == ParameterKind.NAMED) { | 9443 if (baseElement.parameterKind == ParameterKind.NAMED) { |
| 9452 left = "{"; | 9444 left = "{"; |
| 9453 right = "}"; | 9445 right = "}"; |
| 9454 } else if (baseElement.parameterKind == ParameterKind.POSITIONAL) { | 9446 } else if (baseElement.parameterKind == ParameterKind.POSITIONAL) { |
| 9455 left = "["; | 9447 left = "["; |
| 9456 right = "]"; | 9448 right = "]"; |
| 9457 } else if (baseElement.parameterKind == ParameterKind.REQUIRED) { | 9449 } else if (baseElement.parameterKind == ParameterKind.REQUIRED) { |
| 9458 } | 9450 } |
| 9459 break; | 9451 break; |
| 9460 } | 9452 } |
| 9461 JavaStringBuilder builder = new JavaStringBuilder(); | 9453 return '$left$type ${baseElement.displayName}$right'; |
| 9462 builder.append(left); | |
| 9463 builder.append(type); | |
| 9464 builder.append(" "); | |
| 9465 builder.append(baseElement.displayName); | |
| 9466 builder.append(right); | |
| 9467 return builder.toString(); | |
| 9468 } | 9454 } |
| 9469 | 9455 |
| 9470 @override | 9456 @override |
| 9471 void visitChildren(ElementVisitor visitor) { | 9457 void visitChildren(ElementVisitor visitor) { |
| 9472 super.visitChildren(visitor); | 9458 super.visitChildren(visitor); |
| 9473 safelyVisitChildren(parameters, visitor); | 9459 safelyVisitChildren(parameters, visitor); |
| 9474 } | 9460 } |
| 9475 } | 9461 } |
| 9476 | 9462 |
| 9477 /** | 9463 /** |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9770 * @param importedLibraries the libraries that are imported using this prefix | 9756 * @param importedLibraries the libraries that are imported using this prefix |
| 9771 */ | 9757 */ |
| 9772 void set importedLibraries(List<LibraryElement> importedLibraries) { | 9758 void set importedLibraries(List<LibraryElement> importedLibraries) { |
| 9773 for (LibraryElement library in importedLibraries) { | 9759 for (LibraryElement library in importedLibraries) { |
| 9774 (library as LibraryElementImpl).enclosingElement = this; | 9760 (library as LibraryElementImpl).enclosingElement = this; |
| 9775 } | 9761 } |
| 9776 this._importedLibraries = importedLibraries; | 9762 this._importedLibraries = importedLibraries; |
| 9777 } | 9763 } |
| 9778 | 9764 |
| 9779 @override | 9765 @override |
| 9780 void appendTo(JavaStringBuilder builder) { | 9766 void appendTo(StringBuffer buffer) { |
| 9781 builder.append("as "); | 9767 buffer.write("as "); |
| 9782 super.appendTo(builder); | 9768 super.appendTo(buffer); |
| 9783 } | 9769 } |
| 9784 | 9770 |
| 9785 @override | 9771 @override |
| 9786 String get identifier => "_${super.identifier}"; | 9772 String get identifier => "_${super.identifier}"; |
| 9787 } | 9773 } |
| 9788 | 9774 |
| 9789 /** | 9775 /** |
| 9790 * The interface `PropertyAccessorElement` defines the behavior of elements repr
esenting a | 9776 * The interface `PropertyAccessorElement` defines the behavior of elements repr
esenting a |
| 9791 * getter or a setter. Note that explicitly defined property accessors implicitl
y define a synthetic | 9777 * getter or a setter. Note that explicitly defined property accessors implicitl
y define a synthetic |
| 9792 * field. Symmetrically, synthetic accessors are implicitly created for explicit
ly defined fields. | 9778 * field. Symmetrically, synthetic accessors are implicitly created for explicit
ly defined fields. |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9980 /** | 9966 /** |
| 9981 * Set whether this accessor is static to correspond to the given value. | 9967 * Set whether this accessor is static to correspond to the given value. |
| 9982 * | 9968 * |
| 9983 * @param isStatic `true` if the accessor is static | 9969 * @param isStatic `true` if the accessor is static |
| 9984 */ | 9970 */ |
| 9985 void set static(bool isStatic) { | 9971 void set static(bool isStatic) { |
| 9986 setModifier(Modifier.STATIC, isStatic); | 9972 setModifier(Modifier.STATIC, isStatic); |
| 9987 } | 9973 } |
| 9988 | 9974 |
| 9989 @override | 9975 @override |
| 9990 void appendTo(JavaStringBuilder builder) { | 9976 void appendTo(StringBuffer buffer) { |
| 9991 builder.append(isGetter ? "get " : "set "); | 9977 buffer.write(isGetter ? "get " : "set "); |
| 9992 builder.append(variable.displayName); | 9978 buffer.write(variable.displayName); |
| 9993 super.appendTo(builder); | 9979 super.appendTo(buffer); |
| 9994 } | 9980 } |
| 9995 | 9981 |
| 9996 @override | 9982 @override |
| 9997 String get identifier { | 9983 String get identifier { |
| 9998 String name = displayName; | 9984 String name = displayName; |
| 9999 String suffix = isGetter ? "?" : "="; | 9985 String suffix = isGetter ? "?" : "="; |
| 10000 return "${name}${suffix}"; | 9986 return "${name}${suffix}"; |
| 10001 } | 9987 } |
| 10002 } | 9988 } |
| 10003 | 9989 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10100 bool get isGetter => baseElement.isGetter; | 10086 bool get isGetter => baseElement.isGetter; |
| 10101 | 10087 |
| 10102 @override | 10088 @override |
| 10103 bool get isSetter => baseElement.isSetter; | 10089 bool get isSetter => baseElement.isSetter; |
| 10104 | 10090 |
| 10105 @override | 10091 @override |
| 10106 String toString() { | 10092 String toString() { |
| 10107 PropertyAccessorElement baseElement = this.baseElement; | 10093 PropertyAccessorElement baseElement = this.baseElement; |
| 10108 List<ParameterElement> parameters = this.parameters; | 10094 List<ParameterElement> parameters = this.parameters; |
| 10109 FunctionType type = this.type; | 10095 FunctionType type = this.type; |
| 10110 JavaStringBuilder builder = new JavaStringBuilder(); | 10096 StringBuffer builder = new StringBuffer(); |
| 10111 if (isGetter) { | 10097 if (isGetter) { |
| 10112 builder.append("get "); | 10098 builder.write("get "); |
| 10113 } else { | 10099 } else { |
| 10114 builder.append("set "); | 10100 builder.write("set "); |
| 10115 } | 10101 } |
| 10116 builder.append(baseElement.enclosingElement.displayName); | 10102 builder.write(baseElement.enclosingElement.displayName); |
| 10117 builder.append("."); | 10103 builder.write("."); |
| 10118 builder.append(baseElement.displayName); | 10104 builder.write(baseElement.displayName); |
| 10119 builder.append("("); | 10105 builder.write("("); |
| 10120 int parameterCount = parameters.length; | 10106 int parameterCount = parameters.length; |
| 10121 for (int i = 0; i < parameterCount; i++) { | 10107 for (int i = 0; i < parameterCount; i++) { |
| 10122 if (i > 0) { | 10108 if (i > 0) { |
| 10123 builder.append(", "); | 10109 builder.write(", "); |
| 10124 } | 10110 } |
| 10125 builder.append(parameters[i]).toString(); | 10111 builder.write(parameters[i]); |
| 10126 } | 10112 } |
| 10127 builder.append(")"); | 10113 builder.write(")"); |
| 10128 if (type != null) { | 10114 if (type != null) { |
| 10129 builder.append(Element.RIGHT_ARROW); | 10115 builder.write(Element.RIGHT_ARROW); |
| 10130 builder.append(type.returnType); | 10116 builder.write(type.returnType); |
| 10131 } | 10117 } |
| 10132 return builder.toString(); | 10118 return builder.toString(); |
| 10133 } | 10119 } |
| 10134 | 10120 |
| 10135 @override | 10121 @override |
| 10136 InterfaceType get definingType => super.definingType as InterfaceType; | 10122 InterfaceType get definingType => super.definingType as InterfaceType; |
| 10137 } | 10123 } |
| 10138 | 10124 |
| 10139 /** | 10125 /** |
| 10140 * The interface `PropertyInducingElement` defines the behavior of elements repr
esenting a | 10126 * The interface `PropertyInducingElement` defines the behavior of elements repr
esenting a |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10485 */ | 10471 */ |
| 10486 int end = -1; | 10472 int end = -1; |
| 10487 | 10473 |
| 10488 /** | 10474 /** |
| 10489 * The offset of the 'show' keyword of this element. | 10475 * The offset of the 'show' keyword of this element. |
| 10490 */ | 10476 */ |
| 10491 int offset = 0; | 10477 int offset = 0; |
| 10492 | 10478 |
| 10493 @override | 10479 @override |
| 10494 String toString() { | 10480 String toString() { |
| 10495 JavaStringBuilder builder = new JavaStringBuilder(); | 10481 StringBuffer buffer = new StringBuffer(); |
| 10496 builder.append("show "); | 10482 buffer.write("show "); |
| 10497 int count = shownNames.length; | 10483 int count = shownNames.length; |
| 10498 for (int i = 0; i < count; i++) { | 10484 for (int i = 0; i < count; i++) { |
| 10499 if (i > 0) { | 10485 if (i > 0) { |
| 10500 builder.append(", "); | 10486 buffer.write(", "); |
| 10501 } | 10487 } |
| 10502 builder.append(shownNames[i]); | 10488 buffer.write(shownNames[i]); |
| 10503 } | 10489 } |
| 10504 return builder.toString(); | 10490 return buffer.toString(); |
| 10505 } | 10491 } |
| 10506 } | 10492 } |
| 10507 | 10493 |
| 10508 /** | 10494 /** |
| 10509 * Instances of the class `SimpleElementVisitor` implement an element visitor th
at will do | 10495 * Instances of the class `SimpleElementVisitor` implement an element visitor th
at will do |
| 10510 * nothing when visiting an element. It is intended to be a superclass for class
es that use the | 10496 * nothing when visiting an element. It is intended to be a superclass for class
es that use the |
| 10511 * visitor pattern primarily as a dispatch mechanism (and hence don't need to re
cursively visit a | 10497 * visitor pattern primarily as a dispatch mechanism (and hence don't need to re
cursively visit a |
| 10512 * whole structure) and that only need to visit a small number of element types. | 10498 * whole structure) and that only need to visit a small number of element types. |
| 10513 */ | 10499 */ |
| 10514 class SimpleElementVisitor<R> implements ElementVisitor<R> { | 10500 class SimpleElementVisitor<R> implements ElementVisitor<R> { |
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10873 bool isSupertypeOf(DartType type) => type.isSubtypeOf(this); | 10859 bool isSupertypeOf(DartType type) => type.isSubtypeOf(this); |
| 10874 | 10860 |
| 10875 @override | 10861 @override |
| 10876 bool get isUndefined => false; | 10862 bool get isUndefined => false; |
| 10877 | 10863 |
| 10878 @override | 10864 @override |
| 10879 bool get isVoid => false; | 10865 bool get isVoid => false; |
| 10880 | 10866 |
| 10881 @override | 10867 @override |
| 10882 String toString() { | 10868 String toString() { |
| 10883 JavaStringBuilder builder = new JavaStringBuilder(); | 10869 StringBuffer buffer = new StringBuffer(); |
| 10884 appendTo(builder); | 10870 appendTo(buffer); |
| 10885 return builder.toString(); | 10871 return buffer.toString(); |
| 10886 } | 10872 } |
| 10887 | 10873 |
| 10888 /** | 10874 /** |
| 10889 * Append a textual representation of this type to the given builder. | 10875 * Append a textual representation of this type to the given [buffer]. |
| 10890 * | |
| 10891 * @param builder the builder to which the text is to be appended | |
| 10892 */ | 10876 */ |
| 10893 void appendTo(JavaStringBuilder builder) { | 10877 void appendTo(StringBuffer buffer) { |
| 10894 if (name == null) { | 10878 if (name == null) { |
| 10895 builder.append("<unnamed type>"); | 10879 buffer.write("<unnamed type>"); |
| 10896 } else { | 10880 } else { |
| 10897 builder.append(name); | 10881 buffer.write(name); |
| 10898 } | 10882 } |
| 10899 } | 10883 } |
| 10900 | 10884 |
| 10901 bool internalEquals(Object object, Set<ElementPair> visitedElementPairs); | 10885 bool internalEquals(Object object, Set<ElementPair> visitedElementPairs); |
| 10902 | 10886 |
| 10903 bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_
TypePair> visitedTypePairs); | 10887 bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_
TypePair> visitedTypePairs); |
| 10904 | 10888 |
| 10905 bool internalIsSubtypeOf(DartType type, Set<TypeImpl_TypePair> visitedTypePair
s); | 10889 bool internalIsSubtypeOf(DartType type, Set<TypeImpl_TypePair> visitedTypePair
s); |
| 10906 } | 10890 } |
| 10907 | 10891 |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11002 */ | 10986 */ |
| 11003 TypeParameterElementImpl(String name, int nameOffset) : super(name, nameOffset
); | 10987 TypeParameterElementImpl(String name, int nameOffset) : super(name, nameOffset
); |
| 11004 | 10988 |
| 11005 @override | 10989 @override |
| 11006 accept(ElementVisitor visitor) => visitor.visitTypeParameterElement(this); | 10990 accept(ElementVisitor visitor) => visitor.visitTypeParameterElement(this); |
| 11007 | 10991 |
| 11008 @override | 10992 @override |
| 11009 ElementKind get kind => ElementKind.TYPE_PARAMETER; | 10993 ElementKind get kind => ElementKind.TYPE_PARAMETER; |
| 11010 | 10994 |
| 11011 @override | 10995 @override |
| 11012 void appendTo(JavaStringBuilder builder) { | 10996 void appendTo(StringBuffer buffer) { |
| 11013 builder.append(displayName); | 10997 buffer.write(displayName); |
| 11014 if (bound != null) { | 10998 if (bound != null) { |
| 11015 builder.append(" extends "); | 10999 buffer.write(" extends "); |
| 11016 builder.append(bound); | 11000 buffer.write(bound); |
| 11017 } | 11001 } |
| 11018 } | 11002 } |
| 11019 } | 11003 } |
| 11020 | 11004 |
| 11021 /** | 11005 /** |
| 11022 * The interface `TypeParameterType` defines the behavior of objects representin
g the type | 11006 * The interface `TypeParameterType` defines the behavior of objects representin
g the type |
| 11023 * introduced by a type parameter. | 11007 * introduced by a type parameter. |
| 11024 */ | 11008 */ |
| 11025 abstract class TypeParameterType implements DartType { | 11009 abstract class TypeParameterType implements DartType { |
| 11026 @override | 11010 @override |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11292 return false; | 11276 return false; |
| 11293 } else if (identical(this, other)) { | 11277 } else if (identical(this, other)) { |
| 11294 return true; | 11278 return true; |
| 11295 } else { | 11279 } else { |
| 11296 return javaSetEquals(_types, (other as UnionType).elements); | 11280 return javaSetEquals(_types, (other as UnionType).elements); |
| 11297 } | 11281 } |
| 11298 } | 11282 } |
| 11299 | 11283 |
| 11300 @override | 11284 @override |
| 11301 String get displayName { | 11285 String get displayName { |
| 11302 JavaStringBuilder builder = new JavaStringBuilder(); | 11286 StringBuffer buffer = new StringBuffer(); |
| 11303 String prefix = "{"; | 11287 String prefix = "{"; |
| 11304 for (DartType t in _types) { | 11288 for (DartType t in _types) { |
| 11305 builder.append(prefix); | 11289 buffer.write(prefix); |
| 11306 builder.append(t.displayName); | 11290 buffer.write(t.displayName); |
| 11307 prefix = ","; | 11291 prefix = ","; |
| 11308 } | 11292 } |
| 11309 builder.append("}"); | 11293 buffer.write("}"); |
| 11310 return builder.toString(); | 11294 return buffer.toString(); |
| 11311 } | 11295 } |
| 11312 | 11296 |
| 11313 @override | 11297 @override |
| 11314 Set<DartType> get elements => _types; | 11298 Set<DartType> get elements => _types; |
| 11315 | 11299 |
| 11316 @override | 11300 @override |
| 11317 int get hashCode => _types.hashCode; | 11301 int get hashCode => _types.hashCode; |
| 11318 | 11302 |
| 11319 @override | 11303 @override |
| 11320 DartType substitute2(List<DartType> argumentTypes, List<DartType> parameterTyp
es) { | 11304 DartType substitute2(List<DartType> argumentTypes, List<DartType> parameterTyp
es) { |
| 11321 List<DartType> out = new List<DartType>(); | 11305 List<DartType> out = new List<DartType>(); |
| 11322 for (DartType t in _types) { | 11306 for (DartType t in _types) { |
| 11323 out.add(t.substitute2(argumentTypes, parameterTypes)); | 11307 out.add(t.substitute2(argumentTypes, parameterTypes)); |
| 11324 } | 11308 } |
| 11325 return union(new List.from(out)); | 11309 return union(new List.from(out)); |
| 11326 } | 11310 } |
| 11327 | 11311 |
| 11328 @override | 11312 @override |
| 11329 void appendTo(JavaStringBuilder builder) { | 11313 void appendTo(StringBuffer buffer) { |
| 11330 String prefix = "{"; | 11314 String prefix = "{"; |
| 11331 for (DartType t in _types) { | 11315 for (DartType type in _types) { |
| 11332 builder.append(prefix); | 11316 buffer.write(prefix); |
| 11333 (t as TypeImpl).appendTo(builder); | 11317 (type as TypeImpl).appendTo(buffer); |
| 11334 prefix = ","; | 11318 prefix = ","; |
| 11335 } | 11319 } |
| 11336 builder.append("}"); | 11320 buffer.write("}"); |
| 11337 } | 11321 } |
| 11338 | 11322 |
| 11339 @override | 11323 @override |
| 11340 bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) => th
is == object; | 11324 bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) => th
is == object; |
| 11341 | 11325 |
| 11342 @override | 11326 @override |
| 11343 bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_
TypePair> visitedTypePairs) { | 11327 bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_
TypePair> visitedTypePairs) { |
| 11344 // What version of subtyping do we want? See discussion below in [internalIs
SubtypeOf]. | 11328 // What version of subtyping do we want? See discussion below in [internalIs
SubtypeOf]. |
| 11345 if (AnalysisEngine.instance.strictUnionTypes) { | 11329 if (AnalysisEngine.instance.strictUnionTypes) { |
| 11346 // The less unsound version: all. | 11330 // The less unsound version: all. |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11656 this._initializer = initializer; | 11640 this._initializer = initializer; |
| 11657 } | 11641 } |
| 11658 | 11642 |
| 11659 @override | 11643 @override |
| 11660 void visitChildren(ElementVisitor visitor) { | 11644 void visitChildren(ElementVisitor visitor) { |
| 11661 super.visitChildren(visitor); | 11645 super.visitChildren(visitor); |
| 11662 safelyVisitChild(_initializer, visitor); | 11646 safelyVisitChild(_initializer, visitor); |
| 11663 } | 11647 } |
| 11664 | 11648 |
| 11665 @override | 11649 @override |
| 11666 void appendTo(JavaStringBuilder builder) { | 11650 void appendTo(StringBuffer buffer) { |
| 11667 builder.append(type); | 11651 buffer.write(type); |
| 11668 builder.append(" "); | 11652 buffer.write(" "); |
| 11669 builder.append(displayName); | 11653 buffer.write(displayName); |
| 11670 } | 11654 } |
| 11671 } | 11655 } |
| 11672 | 11656 |
| 11673 /** | 11657 /** |
| 11674 * The abstract class `VariableMember` defines the behavior common to members th
at represent a | 11658 * The abstract class `VariableMember` defines the behavior common to members th
at represent a |
| 11675 * variable element defined in a parameterized type where the values of the type
parameters are | 11659 * variable element defined in a parameterized type where the values of the type
parameters are |
| 11676 * known. | 11660 * known. |
| 11677 */ | 11661 */ |
| 11678 abstract class VariableMember extends Member implements VariableElement { | 11662 abstract class VariableMember extends Member implements VariableElement { |
| 11679 /** | 11663 /** |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11771 if (type is UnionType) { | 11755 if (type is UnionType) { |
| 11772 return (type as UnionTypeImpl).internalUnionTypeIsSuperTypeOf(this, visite
dTypePairs); | 11756 return (type as UnionTypeImpl).internalUnionTypeIsSuperTypeOf(this, visite
dTypePairs); |
| 11773 } | 11757 } |
| 11774 // The only subtype relations that pertain to void are therefore: | 11758 // The only subtype relations that pertain to void are therefore: |
| 11775 // void <: void (by reflexivity) | 11759 // void <: void (by reflexivity) |
| 11776 // bottom <: void (as bottom is a subtype of all types). | 11760 // bottom <: void (as bottom is a subtype of all types). |
| 11777 // void <: dynamic (as dynamic is a supertype of all types) | 11761 // void <: dynamic (as dynamic is a supertype of all types) |
| 11778 return identical(type, this) || type.isDynamic; | 11762 return identical(type, this) || type.isDynamic; |
| 11779 } | 11763 } |
| 11780 } | 11764 } |
| OLD | NEW |