| 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'; |
| 11 import 'java_core.dart'; | 11 import 'java_core.dart'; |
| 12 import 'java_engine.dart'; | 12 import 'java_engine.dart'; |
| 13 import 'utilities_collection.dart'; | 13 import 'utilities_collection.dart'; |
| 14 import 'source.dart'; | 14 import 'source.dart'; |
| 15 import 'scanner.dart' show Keyword; | 15 import 'scanner.dart' show Keyword; |
| 16 import 'ast.dart'; | 16 import 'ast.dart'; |
| 17 import 'sdk.dart' show DartSdk; | 17 import 'sdk.dart' show DartSdk; |
| 18 import 'html.dart' show XmlAttributeNode, XmlTagNode; | 18 import 'html.dart' show XmlAttributeNode, XmlTagNode; |
| 19 import 'engine.dart' show AnalysisContext; | 19 import 'engine.dart' show AnalysisContext; |
| 20 import 'constant.dart' show EvaluationResultImpl; | 20 import 'constant.dart' show EvaluationResultImpl; |
| 21 import 'utilities_dart.dart'; | 21 import 'utilities_dart.dart'; |
| 22 | 22 |
| 23 /** | 23 /** |
| 24 * The interface `ClassElement` defines the behavior of elements that represent
a class. | 24 * The interface `ClassElement` defines the behavior of elements that represent
a class. |
| 25 * | |
| 26 * @coverage dart.engine.element | |
| 27 */ | 25 */ |
| 28 abstract class ClassElement implements Element { | 26 abstract class ClassElement implements Element { |
| 29 /** | 27 /** |
| 30 * Return an array containing all of the accessors (getters and setters) decla
red in this class. | 28 * Return an array containing all of the accessors (getters and setters) decla
red in this class. |
| 31 * | 29 * |
| 32 * @return the accessors declared in this class | 30 * @return the accessors declared in this class |
| 33 */ | 31 */ |
| 34 List<PropertyAccessorElement> get accessors; | 32 List<PropertyAccessorElement> get accessors; |
| 35 | 33 |
| 36 /** | 34 /** |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 * @return `true` if this class can validly be used as a mixin | 244 * @return `true` if this class can validly be used as a mixin |
| 247 */ | 245 */ |
| 248 bool get isValidMixin; | 246 bool get isValidMixin; |
| 249 | 247 |
| 250 /** | 248 /** |
| 251 * Return the element representing the getter that results from looking up the
given getter in | 249 * Return the element representing the getter that results from looking up the
given getter in |
| 252 * this class with respect to the given library, or `null` if the look up fail
s. The | 250 * this class with respect to the given library, or `null` if the look up fail
s. The |
| 253 * behavior of this method is defined by the Dart Language Specification in se
ction 12.15.1: | 251 * behavior of this method is defined by the Dart Language Specification in se
ction 12.15.1: |
| 254 * <blockquote>The result of looking up getter (respectively setter) <i>m</i>
in class <i>C</i> | 252 * <blockquote>The result of looking up getter (respectively setter) <i>m</i>
in class <i>C</i> |
| 255 * with respect to library <i>L</i> is: | 253 * with respect to library <i>L</i> is: |
| 256 * | |
| 257 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is | 254 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is |
| 258 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. | 255 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. |
| 259 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result | 256 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result |
| 260 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. | 257 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. |
| 261 * Otherwise, we say that the lookup has failed. | 258 * Otherwise, we say that the lookup has failed. |
| 262 * | |
| 263 * </blockquote> | 259 * </blockquote> |
| 264 * | 260 * |
| 265 * @param getterName the name of the getter being looked up | 261 * @param getterName the name of the getter being looked up |
| 266 * @param library the library with respect to which the lookup is being perfor
med | 262 * @param library the library with respect to which the lookup is being perfor
med |
| 267 * @return the result of looking up the given getter in this class with respec
t to the given | 263 * @return the result of looking up the given getter in this class with respec
t to the given |
| 268 * library | 264 * library |
| 269 */ | 265 */ |
| 270 PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library
); | 266 PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library
); |
| 271 | 267 |
| 272 /** | 268 /** |
| 273 * Return the element representing the method that results from looking up the
given method in | 269 * Return the element representing the method that results from looking up the
given method in |
| 274 * this class with respect to the given library, or `null` if the look up fail
s. The | 270 * this class with respect to the given library, or `null` if the look up fail
s. The |
| 275 * behavior of this method is defined by the Dart Language Specification in se
ction 12.15.1: | 271 * behavior of this method is defined by the Dart Language Specification in se
ction 12.15.1: |
| 276 * <blockquote> The result of looking up method <i>m</i> in class <i>C</i> wit
h respect to library | 272 * <blockquote> The result of looking up method <i>m</i> in class <i>C</i> wit
h respect to library |
| 277 * <i>L</i> is: | 273 * <i>L</i> is: |
| 278 * | |
| 279 * * If <i>C</i> declares an instance method named <i>m</i> that is accessible
to <i>L</i>, then | 274 * * If <i>C</i> declares an instance method named <i>m</i> that is accessible
to <i>L</i>, then |
| 280 * that method is the result of the lookup. Otherwise, if <i>C</i> has a super
class <i>S</i>, then | 275 * that method is the result of the lookup. Otherwise, if <i>C</i> has a super
class <i>S</i>, then |
| 281 * the result of the lookup is the result of looking up method <i>m</i> in <i>
S</i> with respect | 276 * the result of the lookup is the result of looking up method <i>m</i> in <i>
S</i> with respect |
| 282 * to <i>L</i>. Otherwise, we say that the lookup has failed. | 277 * to <i>L</i>. Otherwise, we say that the lookup has failed. |
| 283 * | |
| 284 * </blockquote> | 278 * </blockquote> |
| 285 * | 279 * |
| 286 * @param methodName the name of the method being looked up | 280 * @param methodName the name of the method being looked up |
| 287 * @param library the library with respect to which the lookup is being perfor
med | 281 * @param library the library with respect to which the lookup is being perfor
med |
| 288 * @return the result of looking up the given method in this class with respec
t to the given | 282 * @return the result of looking up the given method in this class with respec
t to the given |
| 289 * library | 283 * library |
| 290 */ | 284 */ |
| 291 MethodElement lookUpMethod(String methodName, LibraryElement library); | 285 MethodElement lookUpMethod(String methodName, LibraryElement library); |
| 292 | 286 |
| 293 /** | 287 /** |
| 294 * Return the element representing the setter that results from looking up the
given setter in | 288 * Return the element representing the setter that results from looking up the
given setter in |
| 295 * this class with respect to the given library, or `null` if the look up fail
s. The | 289 * this class with respect to the given library, or `null` if the look up fail
s. The |
| 296 * behavior of this method is defined by the Dart Language Specification in se
ction 12.16: | 290 * behavior of this method is defined by the Dart Language Specification in se
ction 12.16: |
| 297 * <blockquote> The result of looking up getter (respectively setter) <i>m</i>
in class <i>C</i> | 291 * <blockquote> The result of looking up getter (respectively setter) <i>m</i>
in class <i>C</i> |
| 298 * with respect to library <i>L</i> is: | 292 * with respect to library <i>L</i> is: |
| 299 * | |
| 300 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is | 293 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is |
| 301 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. | 294 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. |
| 302 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result | 295 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result |
| 303 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. | 296 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. |
| 304 * Otherwise, we say that the lookup has failed. | 297 * Otherwise, we say that the lookup has failed. |
| 305 * | |
| 306 * </blockquote> | 298 * </blockquote> |
| 307 * | 299 * |
| 308 * @param setterName the name of the setter being looked up | 300 * @param setterName the name of the setter being looked up |
| 309 * @param library the library with respect to which the lookup is being perfor
med | 301 * @param library the library with respect to which the lookup is being perfor
med |
| 310 * @return the result of looking up the given setter in this class with respec
t to the given | 302 * @return the result of looking up the given setter in this class with respec
t to the given |
| 311 * library | 303 * library |
| 312 */ | 304 */ |
| 313 PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library
); | 305 PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library
); |
| 314 } | 306 } |
| 315 | 307 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 330 * not associated with a particular instance, but rather with an entire librar
y or class. | 322 * not associated with a particular instance, but rather with an entire librar
y or class. |
| 331 * | 323 * |
| 332 * @return `true` if this executable element is a static element | 324 * @return `true` if this executable element is a static element |
| 333 */ | 325 */ |
| 334 bool get isStatic; | 326 bool get isStatic; |
| 335 } | 327 } |
| 336 | 328 |
| 337 /** | 329 /** |
| 338 * The interface `CompilationUnitElement` defines the behavior of elements repre
senting a | 330 * The interface `CompilationUnitElement` defines the behavior of elements repre
senting a |
| 339 * compilation unit. | 331 * compilation unit. |
| 340 * | |
| 341 * @coverage dart.engine.element | |
| 342 */ | 332 */ |
| 343 abstract class CompilationUnitElement implements Element, UriReferencedElement { | 333 abstract class CompilationUnitElement implements Element, UriReferencedElement { |
| 344 /** | 334 /** |
| 345 * Return an array containing all of the top-level accessors (getters and sett
ers) contained in | 335 * Return an array containing all of the top-level accessors (getters and sett
ers) contained in |
| 346 * this compilation unit. | 336 * this compilation unit. |
| 347 * | 337 * |
| 348 * @return the top-level accessors contained in this compilation unit | 338 * @return the top-level accessors contained in this compilation unit |
| 349 */ | 339 */ |
| 350 List<PropertyAccessorElement> get accessors; | 340 List<PropertyAccessorElement> get accessors; |
| 351 | 341 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 * Return an array containing all of the classes contained in this compilation
unit. | 399 * Return an array containing all of the classes contained in this compilation
unit. |
| 410 * | 400 * |
| 411 * @return the classes contained in this compilation unit | 401 * @return the classes contained in this compilation unit |
| 412 */ | 402 */ |
| 413 List<ClassElement> get types; | 403 List<ClassElement> get types; |
| 414 } | 404 } |
| 415 | 405 |
| 416 /** | 406 /** |
| 417 * The interface `ConstructorElement` defines the behavior of elements represent
ing a | 407 * The interface `ConstructorElement` defines the behavior of elements represent
ing a |
| 418 * constructor or a factory method defined within a type. | 408 * constructor or a factory method defined within a type. |
| 419 * | |
| 420 * @coverage dart.engine.element | |
| 421 */ | 409 */ |
| 422 abstract class ConstructorElement implements ClassMemberElement, ExecutableEleme
nt { | 410 abstract class ConstructorElement implements ClassMemberElement, ExecutableEleme
nt { |
| 423 /** | 411 /** |
| 424 * Return the resolved [ConstructorDeclaration] node that declares this | 412 * Return the resolved [ConstructorDeclaration] node that declares this |
| 425 * [ConstructorElement] . | 413 * [ConstructorElement] . |
| 426 * | 414 * |
| 427 * This method is expensive, because resolved AST might be evicted from cache,
so parsing and | 415 * This method is expensive, because resolved AST might be evicted from cache,
so parsing and |
| 428 * resolving will be performed. | 416 * resolving will be performed. |
| 429 * | 417 * |
| 430 * @return the resolved [ConstructorDeclaration], not `null`. | 418 * @return the resolved [ConstructorDeclaration], not `null`. |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 465 | 453 |
| 466 /** | 454 /** |
| 467 * The interface `Element` defines the behavior common to all of the elements in
the element | 455 * The interface `Element` defines the behavior common to all of the elements in
the element |
| 468 * model. Generally speaking, the element model is a semantic model of the progr
am that represents | 456 * model. Generally speaking, the element model is a semantic model of the progr
am that represents |
| 469 * things that are declared with a name and hence can be referenced elsewhere in
the code. | 457 * things that are declared with a name and hence can be referenced elsewhere in
the code. |
| 470 * | 458 * |
| 471 * There are two exceptions to the general case. First, there are elements in th
e element model that | 459 * There are two exceptions to the general case. First, there are elements in th
e element model that |
| 472 * are created for the convenience of various kinds of analysis but that do not
have any | 460 * are created for the convenience of various kinds of analysis but that do not
have any |
| 473 * corresponding declaration within the source code. Such elements are marked as
being | 461 * corresponding declaration within the source code. Such elements are marked as
being |
| 474 * <i>synthetic</i>. Examples of synthetic elements include | 462 * <i>synthetic</i>. Examples of synthetic elements include |
| 475 * | |
| 476 * * default constructors in classes that do not define any explicit constructor
s, | 463 * * default constructors in classes that do not define any explicit constructor
s, |
| 477 * * getters and setters that are induced by explicit field declarations, | 464 * * getters and setters that are induced by explicit field declarations, |
| 478 * * fields that are induced by explicit declarations of getters and setters, an
d | 465 * * fields that are induced by explicit declarations of getters and setters, an
d |
| 479 * * functions representing the initialization expression for a variable. | 466 * * functions representing the initialization expression for a variable. |
| 480 * | 467 * |
| 481 * | |
| 482 * Second, there are elements in the element model that do not have a name. Thes
e correspond to | 468 * Second, there are elements in the element model that do not have a name. Thes
e correspond to |
| 483 * unnamed functions and exist in order to more accurately represent the semanti
c structure of the | 469 * unnamed functions and exist in order to more accurately represent the semanti
c structure of the |
| 484 * program. | 470 * program. |
| 485 * | |
| 486 * @coverage dart.engine.element | |
| 487 */ | 471 */ |
| 488 abstract class Element { | 472 abstract class Element { |
| 489 /** | 473 /** |
| 490 * An Unicode right arrow. | 474 * An Unicode right arrow. |
| 491 */ | 475 */ |
| 492 static final String RIGHT_ARROW = " \u2192 "; | 476 static final String RIGHT_ARROW = " \u2192 "; |
| 493 | 477 |
| 494 /** | 478 /** |
| 495 * A comparator that can be used to sort elements by their name offset. Elemen
ts with a smaller | 479 * A comparator that can be used to sort elements by their name offset. Elemen
ts with a smaller |
| 496 * offset will be sorted to be before elements with a larger name offset. | 480 * offset will be sorted to be before elements with a larger name offset. |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 595 /** | 579 /** |
| 596 * Return the offset of the name of this element in the file that contains the
declaration of this | 580 * Return the offset of the name of this element in the file that contains the
declaration of this |
| 597 * element, or `-1` if this element is synthetic, does not have a name, or oth
erwise does | 581 * element, or `-1` if this element is synthetic, does not have a name, or oth
erwise does |
| 598 * not have an offset. | 582 * not have an offset. |
| 599 * | 583 * |
| 600 * @return the offset of the name of this element | 584 * @return the offset of the name of this element |
| 601 */ | 585 */ |
| 602 int get nameOffset; | 586 int get nameOffset; |
| 603 | 587 |
| 604 /** | 588 /** |
| 605 * Return the resolved [ASTNode] node that declares this [Element]. | 589 * Return the resolved [AstNode] node that declares this [Element]. |
| 606 * | 590 * |
| 607 * This method is expensive, because resolved AST might be evicted from cache,
so parsing and | 591 * This method is expensive, because resolved AST might be evicted from cache,
so parsing and |
| 608 * resolving will be performed. | 592 * resolving will be performed. |
| 609 * | 593 * |
| 610 * @return the resolved [ASTNode], maybe `null` if [Element] is synthetic or | 594 * @return the resolved [AstNode], maybe `null` if [Element] is synthetic or |
| 611 * isn't contained in a compilation unit, such as a [LibraryElement]. | 595 * isn't contained in a compilation unit, such as a [LibraryElement]. |
| 612 */ | 596 */ |
| 613 ASTNode get node; | 597 AstNode get node; |
| 614 | 598 |
| 615 /** | 599 /** |
| 616 * Return the source that contains this element, or `null` if this element is
not contained | 600 * Return the source that contains this element, or `null` if this element is
not contained |
| 617 * in a source. | 601 * in a source. |
| 618 * | 602 * |
| 619 * @return the source that contains this element | 603 * @return the source that contains this element |
| 620 */ | 604 */ |
| 621 Source get source; | 605 Source get source; |
| 622 | 606 |
| 623 /** | 607 /** |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 686 * the order in which the children will be visited. | 670 * the order in which the children will be visited. |
| 687 * | 671 * |
| 688 * @param visitor the visitor that will be used to visit the children of this
element | 672 * @param visitor the visitor that will be used to visit the children of this
element |
| 689 */ | 673 */ |
| 690 void visitChildren(ElementVisitor visitor); | 674 void visitChildren(ElementVisitor visitor); |
| 691 } | 675 } |
| 692 | 676 |
| 693 /** | 677 /** |
| 694 * The interface `ElementAnnotation` defines the behavior of objects representin
g a single | 678 * The interface `ElementAnnotation` defines the behavior of objects representin
g a single |
| 695 * annotation associated with an element. | 679 * annotation associated with an element. |
| 696 * | |
| 697 * @coverage dart.engine.element | |
| 698 */ | 680 */ |
| 699 abstract class ElementAnnotation { | 681 abstract class ElementAnnotation { |
| 700 /** | 682 /** |
| 701 * Return the element representing the field, variable, or const constructor b
eing used as an | 683 * Return the element representing the field, variable, or const constructor b
eing used as an |
| 702 * annotation. | 684 * annotation. |
| 703 * | 685 * |
| 704 * @return the field, variable, or constructor being used as an annotation | 686 * @return the field, variable, or constructor being used as an annotation |
| 705 */ | 687 */ |
| 706 Element get element; | 688 Element get element; |
| 707 | 689 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 726 * object. | 708 * object. |
| 727 * | 709 * |
| 728 * @return `true` if this annotation marks the associated class as implementin
g a proxy | 710 * @return `true` if this annotation marks the associated class as implementin
g a proxy |
| 729 * object | 711 * object |
| 730 */ | 712 */ |
| 731 bool get isProxy; | 713 bool get isProxy; |
| 732 } | 714 } |
| 733 | 715 |
| 734 /** | 716 /** |
| 735 * The enumeration `ElementKind` defines the various kinds of elements in the el
ement model. | 717 * The enumeration `ElementKind` defines the various kinds of elements in the el
ement model. |
| 736 * | |
| 737 * @coverage dart.engine.element | |
| 738 */ | 718 */ |
| 739 class ElementKind extends Enum<ElementKind> { | 719 class ElementKind extends Enum<ElementKind> { |
| 740 static final ElementKind ANGULAR_FILTER = new ElementKind('ANGULAR_FILTER', 0,
"Angular filter"); | 720 static final ElementKind ANGULAR_FILTER = new ElementKind('ANGULAR_FILTER', 0,
"Angular filter"); |
| 741 | 721 |
| 742 static final ElementKind ANGULAR_COMPONENT = new ElementKind('ANGULAR_COMPONEN
T', 1, "Angular component"); | 722 static final ElementKind ANGULAR_COMPONENT = new ElementKind('ANGULAR_COMPONEN
T', 1, "Angular component"); |
| 743 | 723 |
| 744 static final ElementKind ANGULAR_CONTROLLER = new ElementKind('ANGULAR_CONTROL
LER', 2, "Angular controller"); | 724 static final ElementKind ANGULAR_CONTROLLER = new ElementKind('ANGULAR_CONTROL
LER', 2, "Angular controller"); |
| 745 | 725 |
| 746 static final ElementKind ANGULAR_DIRECTIVE = new ElementKind('ANGULAR_DIRECTIV
E', 3, "Angular directive"); | 726 static final ElementKind ANGULAR_DIRECTIVE = new ElementKind('ANGULAR_DIRECTIV
E', 3, "Angular directive"); |
| 747 | 727 |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 861 * Initialize a newly created element kind to have the given display name. | 841 * Initialize a newly created element kind to have the given display name. |
| 862 * | 842 * |
| 863 * @param displayName the name displayed in the UI for this kind of element | 843 * @param displayName the name displayed in the UI for this kind of element |
| 864 */ | 844 */ |
| 865 ElementKind(String name, int ordinal, this.displayName) : super(name, ordinal)
; | 845 ElementKind(String name, int ordinal, this.displayName) : super(name, ordinal)
; |
| 866 } | 846 } |
| 867 | 847 |
| 868 /** | 848 /** |
| 869 * The interface `ElementLocation` defines the behavior of objects that represen
t the location | 849 * The interface `ElementLocation` defines the behavior of objects that represen
t the location |
| 870 * of an element within the element model. | 850 * of an element within the element model. |
| 871 * | |
| 872 * @coverage dart.engine.element | |
| 873 */ | 851 */ |
| 874 abstract class ElementLocation { | 852 abstract class ElementLocation { |
| 875 /** | 853 /** |
| 876 * Return an encoded representation of this location that can be used to creat
e a location that is | 854 * Return an encoded representation of this location that can be used to creat
e a location that is |
| 877 * equal to this location. | 855 * equal to this location. |
| 878 * | 856 * |
| 879 * @return an encoded representation of this location | 857 * @return an encoded representation of this location |
| 880 */ | 858 */ |
| 881 String get encoding; | 859 String get encoding; |
| 882 } | 860 } |
| 883 | 861 |
| 884 /** | 862 /** |
| 885 * The interface `ElementVisitor` defines the behavior of objects that can be us
ed to visit an | 863 * The interface `ElementVisitor` defines the behavior of objects that can be us
ed to visit an |
| 886 * element structure. | 864 * element structure. |
| 887 * | |
| 888 * @coverage dart.engine.element | |
| 889 */ | 865 */ |
| 890 abstract class ElementVisitor<R> { | 866 abstract class ElementVisitor<R> { |
| 891 R visitAngularComponentElement(AngularComponentElement element); | 867 R visitAngularComponentElement(AngularComponentElement element); |
| 892 | 868 |
| 893 R visitAngularControllerElement(AngularControllerElement element); | 869 R visitAngularControllerElement(AngularControllerElement element); |
| 894 | 870 |
| 895 R visitAngularDirectiveElement(AngularDirectiveElement element); | 871 R visitAngularDirectiveElement(AngularDirectiveElement element); |
| 896 | 872 |
| 897 R visitAngularFilterElement(AngularFilterElement element); | 873 R visitAngularFilterElement(AngularFilterElement element); |
| 898 | 874 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 945 R visitPropertyAccessorElement(PropertyAccessorElement element); | 921 R visitPropertyAccessorElement(PropertyAccessorElement element); |
| 946 | 922 |
| 947 R visitTopLevelVariableElement(TopLevelVariableElement element); | 923 R visitTopLevelVariableElement(TopLevelVariableElement element); |
| 948 | 924 |
| 949 R visitTypeParameterElement(TypeParameterElement element); | 925 R visitTypeParameterElement(TypeParameterElement element); |
| 950 } | 926 } |
| 951 | 927 |
| 952 /** | 928 /** |
| 953 * The interface `EmbeddedHtmlScriptElement` defines the behavior of elements re
presenting a | 929 * The interface `EmbeddedHtmlScriptElement` defines the behavior of elements re
presenting a |
| 954 * script tag in an HTML file having content that defines a Dart library. | 930 * script tag in an HTML file having content that defines a Dart library. |
| 955 * | |
| 956 * @coverage dart.engine.element | |
| 957 */ | 931 */ |
| 958 abstract class EmbeddedHtmlScriptElement implements HtmlScriptElement { | 932 abstract class EmbeddedHtmlScriptElement implements HtmlScriptElement { |
| 959 /** | 933 /** |
| 960 * Return the library element defined by the content of the script tag. | 934 * Return the library element defined by the content of the script tag. |
| 961 * | 935 * |
| 962 * @return the library element (not `null`) | 936 * @return the library element (not `null`) |
| 963 */ | 937 */ |
| 964 LibraryElement get scriptLibrary; | 938 LibraryElement get scriptLibrary; |
| 965 } | 939 } |
| 966 | 940 |
| 967 /** | 941 /** |
| 968 * The interface `ExecutableElement` defines the behavior of elements representi
ng an | 942 * The interface `ExecutableElement` defines the behavior of elements representi
ng an |
| 969 * executable object, including functions, methods, constructors, getters, and s
etters. | 943 * executable object, including functions, methods, constructors, getters, and s
etters. |
| 970 * | |
| 971 * @coverage dart.engine.element | |
| 972 */ | 944 */ |
| 973 abstract class ExecutableElement implements Element { | 945 abstract class ExecutableElement implements Element { |
| 974 /** | 946 /** |
| 975 * Return an array containing all of the functions defined within this executa
ble element. | 947 * Return an array containing all of the functions defined within this executa
ble element. |
| 976 * | 948 * |
| 977 * @return the functions defined within this executable element | 949 * @return the functions defined within this executable element |
| 978 */ | 950 */ |
| 979 List<FunctionElement> get functions; | 951 List<FunctionElement> get functions; |
| 980 | 952 |
| 981 /** | 953 /** |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1027 * not associated with a particular instance, but rather with an entire librar
y or class. | 999 * not associated with a particular instance, but rather with an entire librar
y or class. |
| 1028 * | 1000 * |
| 1029 * @return `true` if this executable element is a static element | 1001 * @return `true` if this executable element is a static element |
| 1030 */ | 1002 */ |
| 1031 bool get isStatic; | 1003 bool get isStatic; |
| 1032 } | 1004 } |
| 1033 | 1005 |
| 1034 /** | 1006 /** |
| 1035 * The interface `ExportElement` defines the behavior of objects representing in
formation | 1007 * The interface `ExportElement` defines the behavior of objects representing in
formation |
| 1036 * about a single export directive within a library. | 1008 * about a single export directive within a library. |
| 1037 * | |
| 1038 * @coverage dart.engine.element | |
| 1039 */ | 1009 */ |
| 1040 abstract class ExportElement implements Element, UriReferencedElement { | 1010 abstract class ExportElement implements Element, UriReferencedElement { |
| 1041 /** | 1011 /** |
| 1042 * An empty array of export elements. | 1012 * An empty array of export elements. |
| 1043 */ | 1013 */ |
| 1044 static final List<ExportElement> EMPTY_ARRAY = new List<ExportElement>(0); | 1014 static final List<ExportElement> EMPTY_ARRAY = new List<ExportElement>(0); |
| 1045 | 1015 |
| 1046 /** | 1016 /** |
| 1047 * Return an array containing the combinators that were specified as part of t
he export directive | 1017 * Return an array containing the combinators that were specified as part of t
he export directive |
| 1048 * in the order in which they were specified. | 1018 * in the order in which they were specified. |
| 1049 * | 1019 * |
| 1050 * @return the combinators specified in the export directive | 1020 * @return the combinators specified in the export directive |
| 1051 */ | 1021 */ |
| 1052 List<NamespaceCombinator> get combinators; | 1022 List<NamespaceCombinator> get combinators; |
| 1053 | 1023 |
| 1054 /** | 1024 /** |
| 1055 * Return the library that is exported from this library by this export direct
ive. | 1025 * Return the library that is exported from this library by this export direct
ive. |
| 1056 * | 1026 * |
| 1057 * @return the library that is exported from this library | 1027 * @return the library that is exported from this library |
| 1058 */ | 1028 */ |
| 1059 LibraryElement get exportedLibrary; | 1029 LibraryElement get exportedLibrary; |
| 1060 } | 1030 } |
| 1061 | 1031 |
| 1062 /** | 1032 /** |
| 1063 * The interface `ExternalHtmlScriptElement` defines the behavior of elements re
presenting a | 1033 * The interface `ExternalHtmlScriptElement` defines the behavior of elements re
presenting a |
| 1064 * script tag in an HTML file having a `source` attribute that references a Dart
library | 1034 * script tag in an HTML file having a `source` attribute that references a Dart
library |
| 1065 * source file. | 1035 * source file. |
| 1066 * | |
| 1067 * @coverage dart.engine.element | |
| 1068 */ | 1036 */ |
| 1069 abstract class ExternalHtmlScriptElement implements HtmlScriptElement { | 1037 abstract class ExternalHtmlScriptElement implements HtmlScriptElement { |
| 1070 /** | 1038 /** |
| 1071 * Return the source referenced by this element, or `null` if this element doe
s not | 1039 * Return the source referenced by this element, or `null` if this element doe
s not |
| 1072 * reference a Dart library source file. | 1040 * reference a Dart library source file. |
| 1073 * | 1041 * |
| 1074 * @return the source for the external Dart library | 1042 * @return the source for the external Dart library |
| 1075 */ | 1043 */ |
| 1076 Source get scriptSource; | 1044 Source get scriptSource; |
| 1077 } | 1045 } |
| 1078 | 1046 |
| 1079 /** | 1047 /** |
| 1080 * The interface `FieldElement` defines the behavior of elements representing a
field defined | 1048 * The interface `FieldElement` defines the behavior of elements representing a
field defined |
| 1081 * within a type. | 1049 * within a type. |
| 1082 * | |
| 1083 * @coverage dart.engine.element | |
| 1084 */ | 1050 */ |
| 1085 abstract class FieldElement implements ClassMemberElement, PropertyInducingEleme
nt { | 1051 abstract class FieldElement implements ClassMemberElement, PropertyInducingEleme
nt { |
| 1086 } | 1052 } |
| 1087 | 1053 |
| 1088 /** | 1054 /** |
| 1089 * The interface `FieldFormalParameterElement` defines the behavior of elements
representing a | 1055 * The interface `FieldFormalParameterElement` defines the behavior of elements
representing a |
| 1090 * field formal parameter defined within a constructor element. | 1056 * field formal parameter defined within a constructor element. |
| 1091 */ | 1057 */ |
| 1092 abstract class FieldFormalParameterElement implements ParameterElement { | 1058 abstract class FieldFormalParameterElement implements ParameterElement { |
| 1093 /** | 1059 /** |
| 1094 * Return the field element associated with this field formal parameter, or `n
ull` if the | 1060 * Return the field element associated with this field formal parameter, or `n
ull` if the |
| 1095 * parameter references a field that doesn't exist. | 1061 * parameter references a field that doesn't exist. |
| 1096 * | 1062 * |
| 1097 * @return the field element associated with this field formal parameter | 1063 * @return the field element associated with this field formal parameter |
| 1098 */ | 1064 */ |
| 1099 FieldElement get field; | 1065 FieldElement get field; |
| 1100 } | 1066 } |
| 1101 | 1067 |
| 1102 /** | 1068 /** |
| 1103 * The interface `FunctionElement` defines the behavior of elements representing
a function. | 1069 * The interface `FunctionElement` defines the behavior of elements representing
a function. |
| 1104 * | |
| 1105 * @coverage dart.engine.element | |
| 1106 */ | 1070 */ |
| 1107 abstract class FunctionElement implements ExecutableElement, LocalElement { | 1071 abstract class FunctionElement implements ExecutableElement, LocalElement { |
| 1108 /** | 1072 /** |
| 1109 * Return the resolved [FunctionDeclaration] node that declares this [Function
Element] | 1073 * Return the resolved [FunctionDeclaration] node that declares this [Function
Element] |
| 1110 * . | 1074 * . |
| 1111 * | 1075 * |
| 1112 * This method is expensive, because resolved AST might be evicted from cache,
so parsing and | 1076 * This method is expensive, because resolved AST might be evicted from cache,
so parsing and |
| 1113 * resolving will be performed. | 1077 * resolving will be performed. |
| 1114 * | 1078 * |
| 1115 * @return the resolved [FunctionDeclaration], not `null`. | 1079 * @return the resolved [FunctionDeclaration], not `null`. |
| 1116 */ | 1080 */ |
| 1117 FunctionDeclaration get node; | 1081 FunctionDeclaration get node; |
| 1118 } | 1082 } |
| 1119 | 1083 |
| 1120 /** | 1084 /** |
| 1121 * The interface `FunctionTypeAliasElement` defines the behavior of elements rep
resenting a | 1085 * The interface `FunctionTypeAliasElement` defines the behavior of elements rep
resenting a |
| 1122 * function type alias (`typedef`). | 1086 * function type alias (`typedef`). |
| 1123 * | |
| 1124 * @coverage dart.engine.element | |
| 1125 */ | 1087 */ |
| 1126 abstract class FunctionTypeAliasElement implements Element { | 1088 abstract class FunctionTypeAliasElement implements Element { |
| 1127 /** | 1089 /** |
| 1128 * Return the compilation unit in which this type alias is defined. | 1090 * Return the compilation unit in which this type alias is defined. |
| 1129 * | 1091 * |
| 1130 * @return the compilation unit in which this type alias is defined | 1092 * @return the compilation unit in which this type alias is defined |
| 1131 */ | 1093 */ |
| 1132 CompilationUnitElement get enclosingElement; | 1094 CompilationUnitElement get enclosingElement; |
| 1133 | 1095 |
| 1134 /** | 1096 /** |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1167 * Return an array containing all of the type parameters defined for this type
. | 1129 * Return an array containing all of the type parameters defined for this type
. |
| 1168 * | 1130 * |
| 1169 * @return the type parameters defined for this type | 1131 * @return the type parameters defined for this type |
| 1170 */ | 1132 */ |
| 1171 List<TypeParameterElement> get typeParameters; | 1133 List<TypeParameterElement> get typeParameters; |
| 1172 } | 1134 } |
| 1173 | 1135 |
| 1174 /** | 1136 /** |
| 1175 * The interface `HideElementCombinator` defines the behavior of combinators tha
t cause some | 1137 * The interface `HideElementCombinator` defines the behavior of combinators tha
t cause some |
| 1176 * of the names in a namespace to be hidden when being imported. | 1138 * of the names in a namespace to be hidden when being imported. |
| 1177 * | |
| 1178 * @coverage dart.engine.element | |
| 1179 */ | 1139 */ |
| 1180 abstract class HideElementCombinator implements NamespaceCombinator { | 1140 abstract class HideElementCombinator implements NamespaceCombinator { |
| 1181 /** | 1141 /** |
| 1182 * Return an array containing the names that are not to be made visible in the
importing library | 1142 * Return an array containing the names that are not to be made visible in the
importing library |
| 1183 * even if they are defined in the imported library. | 1143 * even if they are defined in the imported library. |
| 1184 * | 1144 * |
| 1185 * @return the names from the imported library that are hidden from the import
ing library | 1145 * @return the names from the imported library that are hidden from the import
ing library |
| 1186 */ | 1146 */ |
| 1187 List<String> get hiddenNames; | 1147 List<String> get hiddenNames; |
| 1188 } | 1148 } |
| 1189 | 1149 |
| 1190 /** | 1150 /** |
| 1191 * The interface `HtmlElement` defines the behavior of elements representing an
HTML file. | 1151 * The interface `HtmlElement` defines the behavior of elements representing an
HTML file. |
| 1192 * | |
| 1193 * @coverage dart.engine.element | |
| 1194 */ | 1152 */ |
| 1195 abstract class HtmlElement implements Element { | 1153 abstract class HtmlElement implements Element { |
| 1196 /** | 1154 /** |
| 1197 * Return the [CompilationUnitElement] associated with this Angular HTML file,
maybe | 1155 * Return the [CompilationUnitElement] associated with this Angular HTML file,
maybe |
| 1198 * `null` if not an Angular file. | 1156 * `null` if not an Angular file. |
| 1199 */ | 1157 */ |
| 1200 CompilationUnitElement get angularCompilationUnit; | 1158 CompilationUnitElement get angularCompilationUnit; |
| 1201 | 1159 |
| 1202 /** | 1160 /** |
| 1203 * Return an array containing all of the script elements contained in the HTML
file. This includes | 1161 * Return an array containing all of the script elements contained in the HTML
file. This includes |
| 1204 * scripts with libraries that are defined by the content of a script tag as w
ell as libraries | 1162 * scripts with libraries that are defined by the content of a script tag as w
ell as libraries |
| 1205 * that are referenced in the {@core source} attribute of a script tag. | 1163 * that are referenced in the {@core source} attribute of a script tag. |
| 1206 * | 1164 * |
| 1207 * @return the script elements in the HTML file (not `null`, contains no `null
`s) | 1165 * @return the script elements in the HTML file (not `null`, contains no `null
`s) |
| 1208 */ | 1166 */ |
| 1209 List<HtmlScriptElement> get scripts; | 1167 List<HtmlScriptElement> get scripts; |
| 1210 } | 1168 } |
| 1211 | 1169 |
| 1212 /** | 1170 /** |
| 1213 * The interface `HtmlScriptElement` defines the behavior of elements representi
ng a script | 1171 * The interface `HtmlScriptElement` defines the behavior of elements representi
ng a script |
| 1214 * tag in an HTML file. | 1172 * tag in an HTML file. |
| 1215 * | 1173 * |
| 1216 * @see EmbeddedHtmlScriptElement | 1174 * @see EmbeddedHtmlScriptElement |
| 1217 * @see ExternalHtmlScriptElement | 1175 * @see ExternalHtmlScriptElement |
| 1218 * @coverage dart.engine.element | |
| 1219 */ | 1176 */ |
| 1220 abstract class HtmlScriptElement implements Element { | 1177 abstract class HtmlScriptElement implements Element { |
| 1221 } | 1178 } |
| 1222 | 1179 |
| 1223 /** | 1180 /** |
| 1224 * The interface `ImportElement` defines the behavior of objects representing in
formation | 1181 * The interface `ImportElement` defines the behavior of objects representing in
formation |
| 1225 * about a single import directive within a library. | 1182 * about a single import directive within a library. |
| 1226 * | |
| 1227 * @coverage dart.engine.element | |
| 1228 */ | 1183 */ |
| 1229 abstract class ImportElement implements Element, UriReferencedElement { | 1184 abstract class ImportElement implements Element, UriReferencedElement { |
| 1230 /** | 1185 /** |
| 1231 * An empty array of import elements. | 1186 * An empty array of import elements. |
| 1232 */ | 1187 */ |
| 1233 static final List<ImportElement> EMPTY_ARRAY = new List<ImportElement>(0); | 1188 static final List<ImportElement> EMPTY_ARRAY = new List<ImportElement>(0); |
| 1234 | 1189 |
| 1235 /** | 1190 /** |
| 1236 * Return an array containing the combinators that were specified as part of t
he import directive | 1191 * Return an array containing the combinators that were specified as part of t
he import directive |
| 1237 * in the order in which they were specified. | 1192 * in the order in which they were specified. |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1269 * or `-1` for synthetic import. | 1224 * or `-1` for synthetic import. |
| 1270 * | 1225 * |
| 1271 * @return the offset of the character just past the node's URI | 1226 * @return the offset of the character just past the node's URI |
| 1272 */ | 1227 */ |
| 1273 int get uriEnd; | 1228 int get uriEnd; |
| 1274 } | 1229 } |
| 1275 | 1230 |
| 1276 /** | 1231 /** |
| 1277 * The interface `LabelElement` defines the behavior of elements representing a
label | 1232 * The interface `LabelElement` defines the behavior of elements representing a
label |
| 1278 * associated with a statement. | 1233 * associated with a statement. |
| 1279 * | |
| 1280 * @coverage dart.engine.element | |
| 1281 */ | 1234 */ |
| 1282 abstract class LabelElement implements Element { | 1235 abstract class LabelElement implements Element { |
| 1283 /** | 1236 /** |
| 1284 * Return the executable element in which this label is defined. | 1237 * Return the executable element in which this label is defined. |
| 1285 * | 1238 * |
| 1286 * @return the executable element in which this label is defined | 1239 * @return the executable element in which this label is defined |
| 1287 */ | 1240 */ |
| 1288 ExecutableElement get enclosingElement; | 1241 ExecutableElement get enclosingElement; |
| 1289 } | 1242 } |
| 1290 | 1243 |
| 1291 /** | 1244 /** |
| 1292 * The interface `LibraryElement` defines the behavior of elements representing
a library. | 1245 * The interface `LibraryElement` defines the behavior of elements representing
a library. |
| 1293 * | |
| 1294 * @coverage dart.engine.element | |
| 1295 */ | 1246 */ |
| 1296 abstract class LibraryElement implements Element { | 1247 abstract class LibraryElement implements Element { |
| 1297 /** | 1248 /** |
| 1298 * Return the compilation unit that defines this library. | 1249 * Return the compilation unit that defines this library. |
| 1299 * | 1250 * |
| 1300 * @return the compilation unit that defines this library | 1251 * @return the compilation unit that defines this library |
| 1301 */ | 1252 */ |
| 1302 CompilationUnitElement get definingCompilationUnit; | 1253 CompilationUnitElement get definingCompilationUnit; |
| 1303 | 1254 |
| 1304 /** | 1255 /** |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1422 * | 1373 * |
| 1423 * @param timeStamp the time stamp to compare against | 1374 * @param timeStamp the time stamp to compare against |
| 1424 * @return `true` if this library is up to date with respect to the given time
stamp | 1375 * @return `true` if this library is up to date with respect to the given time
stamp |
| 1425 */ | 1376 */ |
| 1426 bool isUpToDate2(int timeStamp); | 1377 bool isUpToDate2(int timeStamp); |
| 1427 } | 1378 } |
| 1428 | 1379 |
| 1429 /** | 1380 /** |
| 1430 * The interface `LocalElement` defines the behavior of elements that can be (bu
t are not | 1381 * The interface `LocalElement` defines the behavior of elements that can be (bu
t are not |
| 1431 * required to be) defined within a method or function (an [ExecutableElement]). | 1382 * required to be) defined within a method or function (an [ExecutableElement]). |
| 1432 * | |
| 1433 * @coverage dart.engine.element | |
| 1434 */ | 1383 */ |
| 1435 abstract class LocalElement implements Element { | 1384 abstract class LocalElement implements Element { |
| 1436 /** | 1385 /** |
| 1437 * Return a source range that covers the approximate portion of the source in
which the name of | 1386 * Return a source range that covers the approximate portion of the source in
which the name of |
| 1438 * this element is visible, or `null` if there is no single range of character
s within which | 1387 * this element is visible, or `null` if there is no single range of character
s within which |
| 1439 * the element name is visible. | 1388 * the element name is visible. |
| 1440 * | |
| 1441 * * For a local variable, this includes everything from the end of the variab
le's initializer | 1389 * * For a local variable, this includes everything from the end of the variab
le's initializer |
| 1442 * to the end of the block that encloses the variable declaration. | 1390 * to the end of the block that encloses the variable declaration. |
| 1443 * * For a parameter, this includes the body of the method or function that de
clares the | 1391 * * For a parameter, this includes the body of the method or function that de
clares the |
| 1444 * parameter. | 1392 * parameter. |
| 1445 * * For a local function, this includes everything from the beginning of the
function's body to | 1393 * * For a local function, this includes everything from the beginning of the
function's body to |
| 1446 * the end of the block that encloses the function declaration. | 1394 * the end of the block that encloses the function declaration. |
| 1447 * * For top-level functions, `null` will be returned because they are potenti
ally visible | 1395 * * For top-level functions, `null` will be returned because they are potenti
ally visible |
| 1448 * in multiple sources. | 1396 * in multiple sources. |
| 1449 * | 1397 * |
| 1450 * | |
| 1451 * @return the range of characters in which the name of this element is visibl
e | 1398 * @return the range of characters in which the name of this element is visibl
e |
| 1452 */ | 1399 */ |
| 1453 SourceRange get visibleRange; | 1400 SourceRange get visibleRange; |
| 1454 } | 1401 } |
| 1455 | 1402 |
| 1456 /** | 1403 /** |
| 1457 * The interface `LocalVariableElement` defines the behavior common to elements
that represent | 1404 * The interface `LocalVariableElement` defines the behavior common to elements
that represent |
| 1458 * a local variable. | 1405 * a local variable. |
| 1459 * | |
| 1460 * @coverage dart.engine.element | |
| 1461 */ | 1406 */ |
| 1462 abstract class LocalVariableElement implements LocalElement, VariableElement { | 1407 abstract class LocalVariableElement implements LocalElement, VariableElement { |
| 1463 /** | 1408 /** |
| 1464 * Return an array containing all of the toolkit specific objects attached to
this variable. | 1409 * Return an array containing all of the toolkit specific objects attached to
this variable. |
| 1465 * | 1410 * |
| 1466 * @return the toolkit objects attached to this variable | 1411 * @return the toolkit objects attached to this variable |
| 1467 */ | 1412 */ |
| 1468 List<ToolkitObjectElement> get toolkitObjects; | 1413 List<ToolkitObjectElement> get toolkitObjects; |
| 1469 } | 1414 } |
| 1470 | 1415 |
| 1471 /** | 1416 /** |
| 1472 * The interface `MethodElement` defines the behavior of elements that represent
a method | 1417 * The interface `MethodElement` defines the behavior of elements that represent
a method |
| 1473 * defined within a type. | 1418 * defined within a type. |
| 1474 * | |
| 1475 * @coverage dart.engine.element | |
| 1476 */ | 1419 */ |
| 1477 abstract class MethodElement implements ClassMemberElement, ExecutableElement { | 1420 abstract class MethodElement implements ClassMemberElement, ExecutableElement { |
| 1478 /** | 1421 /** |
| 1479 * Return the resolved [MethodDeclaration] node that declares this [MethodElem
ent]. | 1422 * Return the resolved [MethodDeclaration] node that declares this [MethodElem
ent]. |
| 1480 * | 1423 * |
| 1481 * This method is expensive, because resolved AST might be evicted from cache,
so parsing and | 1424 * This method is expensive, because resolved AST might be evicted from cache,
so parsing and |
| 1482 * resolving will be performed. | 1425 * resolving will be performed. |
| 1483 * | 1426 * |
| 1484 * @return the resolved [MethodDeclaration], not `null`. | 1427 * @return the resolved [MethodDeclaration], not `null`. |
| 1485 */ | 1428 */ |
| 1486 MethodDeclaration get node; | 1429 MethodDeclaration get node; |
| 1487 | 1430 |
| 1488 /** | 1431 /** |
| 1489 * Return `true` if this method is abstract. Methods are abstract if they are
not external | 1432 * Return `true` if this method is abstract. Methods are abstract if they are
not external |
| 1490 * and have no body. | 1433 * and have no body. |
| 1491 * | 1434 * |
| 1492 * @return `true` if this method is abstract | 1435 * @return `true` if this method is abstract |
| 1493 */ | 1436 */ |
| 1494 bool get isAbstract; | 1437 bool get isAbstract; |
| 1495 } | 1438 } |
| 1496 | 1439 |
| 1497 /** | 1440 /** |
| 1498 * The interface `MultiplyDefinedElement` defines the behavior of pseudo-element
s that | 1441 * The interface `MultiplyDefinedElement` defines the behavior of pseudo-element
s that |
| 1499 * represent multiple elements defined within a single scope that have the same
name. This situation | 1442 * represent multiple elements defined within a single scope that have the same
name. This situation |
| 1500 * is not allowed by the language, so objects implementing this interface always
represent an error. | 1443 * is not allowed by the language, so objects implementing this interface always
represent an error. |
| 1501 * As a result, most of the normal operations on elements do not make sense and
will return useless | 1444 * As a result, most of the normal operations on elements do not make sense and
will return useless |
| 1502 * results. | 1445 * results. |
| 1503 * | |
| 1504 * @coverage dart.engine.element | |
| 1505 */ | 1446 */ |
| 1506 abstract class MultiplyDefinedElement implements Element { | 1447 abstract class MultiplyDefinedElement implements Element { |
| 1507 /** | 1448 /** |
| 1508 * Return an array containing all of the elements that were defined within the
scope to have the | 1449 * Return an array containing all of the elements that were defined within the
scope to have the |
| 1509 * same name. | 1450 * same name. |
| 1510 * | 1451 * |
| 1511 * @return the elements that were defined with the same name | 1452 * @return the elements that were defined with the same name |
| 1512 */ | 1453 */ |
| 1513 List<Element> get conflictingElements; | 1454 List<Element> get conflictingElements; |
| 1514 | 1455 |
| 1515 /** | 1456 /** |
| 1516 * Return the type of this element as the dynamic type. | 1457 * Return the type of this element as the dynamic type. |
| 1517 * | 1458 * |
| 1518 * @return the type of this element as the dynamic type | 1459 * @return the type of this element as the dynamic type |
| 1519 */ | 1460 */ |
| 1520 Type2 get type; | 1461 Type2 get type; |
| 1521 } | 1462 } |
| 1522 | 1463 |
| 1523 /** | 1464 /** |
| 1524 * The interface [MultiplyInheritedExecutableElement] defines all of the behavio
r of an | 1465 * The interface [MultiplyInheritedExecutableElement] defines all of the behavio
r of an |
| 1525 * [ExecutableElement], with the additional information of an array of | 1466 * [ExecutableElement], with the additional information of an array of |
| 1526 * [ExecutableElement]s from which this element was composed. | 1467 * [ExecutableElement]s from which this element was composed. |
| 1527 * | |
| 1528 * @coverage dart.engine.element | |
| 1529 */ | 1468 */ |
| 1530 abstract class MultiplyInheritedExecutableElement implements ExecutableElement { | 1469 abstract class MultiplyInheritedExecutableElement implements ExecutableElement { |
| 1531 /** | 1470 /** |
| 1532 * Return an array containing all of the executable elements defined within th
is executable | 1471 * Return an array containing all of the executable elements defined within th
is executable |
| 1533 * element. | 1472 * element. |
| 1534 * | 1473 * |
| 1535 * @return the elements defined within this executable element | 1474 * @return the elements defined within this executable element |
| 1536 */ | 1475 */ |
| 1537 List<ExecutableElement> get inheritedElements; | 1476 List<ExecutableElement> get inheritedElements; |
| 1538 } | 1477 } |
| 1539 | 1478 |
| 1540 /** | 1479 /** |
| 1541 * The interface `NamespaceCombinator` defines the behavior common to objects th
at control how | 1480 * The interface `NamespaceCombinator` defines the behavior common to objects th
at control how |
| 1542 * namespaces are combined. | 1481 * namespaces are combined. |
| 1543 * | |
| 1544 * @coverage dart.engine.element | |
| 1545 */ | 1482 */ |
| 1546 abstract class NamespaceCombinator { | 1483 abstract class NamespaceCombinator { |
| 1547 /** | 1484 /** |
| 1548 * An empty array of namespace combinators. | 1485 * An empty array of namespace combinators. |
| 1549 */ | 1486 */ |
| 1550 static final List<NamespaceCombinator> EMPTY_ARRAY = new List<NamespaceCombina
tor>(0); | 1487 static final List<NamespaceCombinator> EMPTY_ARRAY = new List<NamespaceCombina
tor>(0); |
| 1551 } | 1488 } |
| 1552 | 1489 |
| 1553 /** | 1490 /** |
| 1554 * The interface `ParameterElement` defines the behavior of elements representin
g a parameter | 1491 * The interface `ParameterElement` defines the behavior of elements representin
g a parameter |
| 1555 * defined within an executable element. | 1492 * defined within an executable element. |
| 1556 * | |
| 1557 * @coverage dart.engine.element | |
| 1558 */ | 1493 */ |
| 1559 abstract class ParameterElement implements LocalElement, VariableElement { | 1494 abstract class ParameterElement implements LocalElement, VariableElement { |
| 1560 /** | 1495 /** |
| 1561 * Return a source range that covers the portion of the source in which the de
fault value for this | 1496 * Return a source range that covers the portion of the source in which the de
fault value for this |
| 1562 * parameter is specified, or `null` if there is no default value. | 1497 * parameter is specified, or `null` if there is no default value. |
| 1563 * | 1498 * |
| 1564 * @return the range of characters in which the default value of this paramete
r is specified | 1499 * @return the range of characters in which the default value of this paramete
r is specified |
| 1565 */ | 1500 */ |
| 1566 SourceRange get defaultValueRange; | 1501 SourceRange get defaultValueRange; |
| 1567 | 1502 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1584 * Return `true` if this parameter is an initializing formal parameter. | 1519 * Return `true` if this parameter is an initializing formal parameter. |
| 1585 * | 1520 * |
| 1586 * @return `true` if this parameter is an initializing formal parameter | 1521 * @return `true` if this parameter is an initializing formal parameter |
| 1587 */ | 1522 */ |
| 1588 bool get isInitializingFormal; | 1523 bool get isInitializingFormal; |
| 1589 } | 1524 } |
| 1590 | 1525 |
| 1591 /** | 1526 /** |
| 1592 * The interface `PrefixElement` defines the behavior common to elements that re
present a | 1527 * The interface `PrefixElement` defines the behavior common to elements that re
present a |
| 1593 * prefix used to import one or more libraries into another library. | 1528 * prefix used to import one or more libraries into another library. |
| 1594 * | |
| 1595 * @coverage dart.engine.element | |
| 1596 */ | 1529 */ |
| 1597 abstract class PrefixElement implements Element { | 1530 abstract class PrefixElement implements Element { |
| 1598 /** | 1531 /** |
| 1599 * Return the library into which other libraries are imported using this prefi
x. | 1532 * Return the library into which other libraries are imported using this prefi
x. |
| 1600 * | 1533 * |
| 1601 * @return the library into which other libraries are imported using this pref
ix | 1534 * @return the library into which other libraries are imported using this pref
ix |
| 1602 */ | 1535 */ |
| 1603 LibraryElement get enclosingElement; | 1536 LibraryElement get enclosingElement; |
| 1604 | 1537 |
| 1605 /** | 1538 /** |
| 1606 * Return an array containing all of the libraries that are imported using thi
s prefix. | 1539 * Return an array containing all of the libraries that are imported using thi
s prefix. |
| 1607 * | 1540 * |
| 1608 * @return the libraries that are imported using this prefix | 1541 * @return the libraries that are imported using this prefix |
| 1609 */ | 1542 */ |
| 1610 List<LibraryElement> get importedLibraries; | 1543 List<LibraryElement> get importedLibraries; |
| 1611 } | 1544 } |
| 1612 | 1545 |
| 1613 /** | 1546 /** |
| 1614 * The interface `PropertyAccessorElement` defines the behavior of elements repr
esenting a | 1547 * The interface `PropertyAccessorElement` defines the behavior of elements repr
esenting a |
| 1615 * getter or a setter. Note that explicitly defined property accessors implicitl
y define a synthetic | 1548 * getter or a setter. Note that explicitly defined property accessors implicitl
y define a synthetic |
| 1616 * field. Symmetrically, synthetic accessors are implicitly created for explicit
ly defined fields. | 1549 * field. Symmetrically, synthetic accessors are implicitly created for explicit
ly defined fields. |
| 1617 * The following rules apply: | 1550 * The following rules apply: |
| 1618 * | |
| 1619 * * Every explicit field is represented by a non-synthetic [FieldElement]. | 1551 * * Every explicit field is represented by a non-synthetic [FieldElement]. |
| 1620 * * Every explicit field induces a getter and possibly a setter, both of which
are represented by | 1552 * * Every explicit field induces a getter and possibly a setter, both of which
are represented by |
| 1621 * synthetic [PropertyAccessorElement]s. | 1553 * synthetic [PropertyAccessorElement]s. |
| 1622 * * Every explicit getter or setter is represented by a non-synthetic | 1554 * * Every explicit getter or setter is represented by a non-synthetic |
| 1623 * [PropertyAccessorElement]. | 1555 * [PropertyAccessorElement]. |
| 1624 * * Every explicit getter or setter (or pair thereof if they have the same name
) induces a field | 1556 * * Every explicit getter or setter (or pair thereof if they have the same name
) induces a field |
| 1625 * that is represented by a synthetic [FieldElement]. | 1557 * that is represented by a synthetic [FieldElement]. |
| 1626 * | |
| 1627 * | |
| 1628 * @coverage dart.engine.element | |
| 1629 */ | 1558 */ |
| 1630 abstract class PropertyAccessorElement implements ExecutableElement { | 1559 abstract class PropertyAccessorElement implements ExecutableElement { |
| 1631 /** | 1560 /** |
| 1632 * Return the accessor representing the getter that corresponds to (has the sa
me name as) this | 1561 * Return the accessor representing the getter that corresponds to (has the sa
me name as) this |
| 1633 * setter, or `null` if this accessor is not a setter or if there is no corres
ponding | 1562 * setter, or `null` if this accessor is not a setter or if there is no corres
ponding |
| 1634 * getter. | 1563 * getter. |
| 1635 * | 1564 * |
| 1636 * @return the getter that corresponds to this setter | 1565 * @return the getter that corresponds to this setter |
| 1637 */ | 1566 */ |
| 1638 PropertyAccessorElement get correspondingGetter; | 1567 PropertyAccessorElement get correspondingGetter; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1676 */ | 1605 */ |
| 1677 bool get isSetter; | 1606 bool get isSetter; |
| 1678 } | 1607 } |
| 1679 | 1608 |
| 1680 /** | 1609 /** |
| 1681 * The interface `PropertyInducingElement` defines the behavior of elements repr
esenting a | 1610 * The interface `PropertyInducingElement` defines the behavior of elements repr
esenting a |
| 1682 * variable that has an associated getter and possibly a setter. Note that expli
citly defined | 1611 * variable that has an associated getter and possibly a setter. Note that expli
citly defined |
| 1683 * variables implicitly define a synthetic getter and that non-`final` explicitl
y defined | 1612 * variables implicitly define a synthetic getter and that non-`final` explicitl
y defined |
| 1684 * variables implicitly define a synthetic setter. Symmetrically, synthetic fiel
ds are implicitly | 1613 * variables implicitly define a synthetic setter. Symmetrically, synthetic fiel
ds are implicitly |
| 1685 * created for explicitly defined getters and setters. The following rules apply
: | 1614 * created for explicitly defined getters and setters. The following rules apply
: |
| 1686 * | |
| 1687 * * Every explicit variable is represented by a non-synthetic [PropertyInducing
Element]. | 1615 * * Every explicit variable is represented by a non-synthetic [PropertyInducing
Element]. |
| 1688 * * Every explicit variable induces a getter and possibly a setter, both of whi
ch are represented | 1616 * * Every explicit variable induces a getter and possibly a setter, both of whi
ch are represented |
| 1689 * by synthetic [PropertyAccessorElement]s. | 1617 * by synthetic [PropertyAccessorElement]s. |
| 1690 * * Every explicit getter or setter is represented by a non-synthetic | 1618 * * Every explicit getter or setter is represented by a non-synthetic |
| 1691 * [PropertyAccessorElement]. | 1619 * [PropertyAccessorElement]. |
| 1692 * * Every explicit getter or setter (or pair thereof if they have the same name
) induces a | 1620 * * Every explicit getter or setter (or pair thereof if they have the same name
) induces a |
| 1693 * variable that is represented by a synthetic [PropertyInducingElement]. | 1621 * variable that is represented by a synthetic [PropertyInducingElement]. |
| 1694 * | |
| 1695 * | |
| 1696 * @coverage dart.engine.element | |
| 1697 */ | 1622 */ |
| 1698 abstract class PropertyInducingElement implements VariableElement { | 1623 abstract class PropertyInducingElement implements VariableElement { |
| 1699 /** | 1624 /** |
| 1700 * Return the getter associated with this variable. If this variable was expli
citly defined (is | 1625 * Return the getter associated with this variable. If this variable was expli
citly defined (is |
| 1701 * not synthetic) then the getter associated with it will be synthetic. | 1626 * not synthetic) then the getter associated with it will be synthetic. |
| 1702 * | 1627 * |
| 1703 * @return the getter associated with this variable | 1628 * @return the getter associated with this variable |
| 1704 */ | 1629 */ |
| 1705 PropertyAccessorElement get getter; | 1630 PropertyAccessorElement get getter; |
| 1706 | 1631 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1720 * not associated with a particular instance, but rather with an entire librar
y or class. | 1645 * not associated with a particular instance, but rather with an entire librar
y or class. |
| 1721 * | 1646 * |
| 1722 * @return `true` if this executable element is a static element | 1647 * @return `true` if this executable element is a static element |
| 1723 */ | 1648 */ |
| 1724 bool get isStatic; | 1649 bool get isStatic; |
| 1725 } | 1650 } |
| 1726 | 1651 |
| 1727 /** | 1652 /** |
| 1728 * The interface `ShowElementCombinator` defines the behavior of combinators tha
t cause some | 1653 * The interface `ShowElementCombinator` defines the behavior of combinators tha
t cause some |
| 1729 * of the names in a namespace to be visible (and the rest hidden) when being im
ported. | 1654 * of the names in a namespace to be visible (and the rest hidden) when being im
ported. |
| 1730 * | |
| 1731 * @coverage dart.engine.element | |
| 1732 */ | 1655 */ |
| 1733 abstract class ShowElementCombinator implements NamespaceCombinator { | 1656 abstract class ShowElementCombinator implements NamespaceCombinator { |
| 1734 /** | 1657 /** |
| 1735 * Return the offset of the character immediately following the last character
of this node. | 1658 * Return the offset of the character immediately following the last character
of this node. |
| 1736 * | 1659 * |
| 1737 * @return the offset of the character just past this node | 1660 * @return the offset of the character just past this node |
| 1738 */ | 1661 */ |
| 1739 int get end; | 1662 int get end; |
| 1740 | 1663 |
| 1741 /** | 1664 /** |
| 1742 * Return the offset of the 'show' keyword of this element. | 1665 * Return the offset of the 'show' keyword of this element. |
| 1743 * | 1666 * |
| 1744 * @return the offset of the 'show' keyword of this element | 1667 * @return the offset of the 'show' keyword of this element |
| 1745 */ | 1668 */ |
| 1746 int get offset; | 1669 int get offset; |
| 1747 | 1670 |
| 1748 /** | 1671 /** |
| 1749 * Return an array containing the names that are to be made visible in the imp
orting library if | 1672 * Return an array containing the names that are to be made visible in the imp
orting library if |
| 1750 * they are defined in the imported library. | 1673 * they are defined in the imported library. |
| 1751 * | 1674 * |
| 1752 * @return the names from the imported library that are visible in the importi
ng library | 1675 * @return the names from the imported library that are visible in the importi
ng library |
| 1753 */ | 1676 */ |
| 1754 List<String> get shownNames; | 1677 List<String> get shownNames; |
| 1755 } | 1678 } |
| 1756 | 1679 |
| 1757 /** | 1680 /** |
| 1758 * The interface `ToolkitObjectElement` defines the behavior of elements that re
present a | 1681 * The interface `ToolkitObjectElement` defines the behavior of elements that re
present a |
| 1759 * toolkit specific object, such as Angular controller or component. These eleme
nts are not based on | 1682 * toolkit specific object, such as Angular controller or component. These eleme
nts are not based on |
| 1760 * the Dart syntax, but on some semantic agreement, such as a special annotation
. | 1683 * the Dart syntax, but on some semantic agreement, such as a special annotation
. |
| 1761 * | |
| 1762 * @coverage dart.engine.element | |
| 1763 */ | 1684 */ |
| 1764 abstract class ToolkitObjectElement implements Element { | 1685 abstract class ToolkitObjectElement implements Element { |
| 1765 /** | 1686 /** |
| 1766 * An empty array of toolkit object elements. | 1687 * An empty array of toolkit object elements. |
| 1767 */ | 1688 */ |
| 1768 static final List<ToolkitObjectElement> EMPTY_ARRAY = new List<ToolkitObjectEl
ement>(0); | 1689 static final List<ToolkitObjectElement> EMPTY_ARRAY = new List<ToolkitObjectEl
ement>(0); |
| 1769 } | 1690 } |
| 1770 | 1691 |
| 1771 /** | 1692 /** |
| 1772 * The interface `TopLevelVariableElement` defines the behavior of elements repr
esenting a | 1693 * The interface `TopLevelVariableElement` defines the behavior of elements repr
esenting a |
| 1773 * top-level variable. | 1694 * top-level variable. |
| 1774 * | |
| 1775 * @coverage dart.engine.element | |
| 1776 */ | 1695 */ |
| 1777 abstract class TopLevelVariableElement implements PropertyInducingElement { | 1696 abstract class TopLevelVariableElement implements PropertyInducingElement { |
| 1778 } | 1697 } |
| 1779 | 1698 |
| 1780 /** | 1699 /** |
| 1781 * The interface `TypeParameterElement` defines the behavior of elements represe
nting a type | 1700 * The interface `TypeParameterElement` defines the behavior of elements represe
nting a type |
| 1782 * parameter. | 1701 * parameter. |
| 1783 * | |
| 1784 * @coverage dart.engine.element | |
| 1785 */ | 1702 */ |
| 1786 abstract class TypeParameterElement implements Element { | 1703 abstract class TypeParameterElement implements Element { |
| 1787 /** | 1704 /** |
| 1788 * Return the type representing the bound associated with this parameter, or `
null` if this | 1705 * Return the type representing the bound associated with this parameter, or `
null` if this |
| 1789 * parameter does not have an explicit bound. | 1706 * parameter does not have an explicit bound. |
| 1790 * | 1707 * |
| 1791 * @return the type representing the bound associated with this parameter | 1708 * @return the type representing the bound associated with this parameter |
| 1792 */ | 1709 */ |
| 1793 Type2 get bound; | 1710 Type2 get bound; |
| 1794 | 1711 |
| 1795 /** | 1712 /** |
| 1796 * Return the type defined by this type parameter. | 1713 * Return the type defined by this type parameter. |
| 1797 * | 1714 * |
| 1798 * @return the type defined by this type parameter | 1715 * @return the type defined by this type parameter |
| 1799 */ | 1716 */ |
| 1800 TypeParameterType get type; | 1717 TypeParameterType get type; |
| 1801 } | 1718 } |
| 1802 | 1719 |
| 1803 /** | 1720 /** |
| 1804 * The interface `UndefinedElement` defines the behavior of pseudo-elements that
represent | 1721 * The interface `UndefinedElement` defines the behavior of pseudo-elements that
represent |
| 1805 * names that are undefined. This situation is not allowed by the language, so o
bjects implementing | 1722 * names that are undefined. This situation is not allowed by the language, so o
bjects implementing |
| 1806 * this interface always represent an error. As a result, most of the normal ope
rations on elements | 1723 * this interface always represent an error. As a result, most of the normal ope
rations on elements |
| 1807 * do not make sense and will return useless results. | 1724 * do not make sense and will return useless results. |
| 1808 * | |
| 1809 * @coverage dart.engine.element | |
| 1810 */ | 1725 */ |
| 1811 abstract class UndefinedElement implements Element { | 1726 abstract class UndefinedElement implements Element { |
| 1812 } | 1727 } |
| 1813 | 1728 |
| 1814 /** | 1729 /** |
| 1815 * The interface `UriReferencedElement` defines the behavior of objects included
into a | 1730 * The interface `UriReferencedElement` defines the behavior of objects included
into a |
| 1816 * library using some URI. | 1731 * library using some URI. |
| 1817 * | |
| 1818 * @coverage dart.engine.element | |
| 1819 */ | 1732 */ |
| 1820 abstract class UriReferencedElement implements Element { | 1733 abstract class UriReferencedElement implements Element { |
| 1821 /** | 1734 /** |
| 1822 * Return the URI that is used to include this element into the enclosing libr
ary, or `null` | 1735 * Return the URI that is used to include this element into the enclosing libr
ary, or `null` |
| 1823 * if this is the defining compilation unit of a library. | 1736 * if this is the defining compilation unit of a library. |
| 1824 * | 1737 * |
| 1825 * @return the URI that is used to include this element into the enclosing lib
rary | 1738 * @return the URI that is used to include this element into the enclosing lib
rary |
| 1826 */ | 1739 */ |
| 1827 String get uri; | 1740 String get uri; |
| 1828 } | 1741 } |
| 1829 | 1742 |
| 1830 /** | 1743 /** |
| 1831 * The interface `VariableElement` defines the behavior common to elements that
represent a | 1744 * The interface `VariableElement` defines the behavior common to elements that
represent a |
| 1832 * variable. | 1745 * variable. |
| 1833 * | |
| 1834 * @coverage dart.engine.element | |
| 1835 */ | 1746 */ |
| 1836 abstract class VariableElement implements Element { | 1747 abstract class VariableElement implements Element { |
| 1837 /** | 1748 /** |
| 1838 * Return a synthetic function representing this variable's initializer, or `n
ull` if this | 1749 * Return a synthetic function representing this variable's initializer, or `n
ull` if this |
| 1839 * variable does not have an initializer. The function will have no parameters
. The return type of | 1750 * variable does not have an initializer. The function will have no parameters
. The return type of |
| 1840 * the function will be the compile-time type of the initialization expression
. | 1751 * the function will be the compile-time type of the initialization expression
. |
| 1841 * | 1752 * |
| 1842 * @return a synthetic function representing this variable's initializer | 1753 * @return a synthetic function representing this variable's initializer |
| 1843 */ | 1754 */ |
| 1844 FunctionElement get initializer; | 1755 FunctionElement get initializer; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1875 * final. | 1786 * final. |
| 1876 * | 1787 * |
| 1877 * @return `true` if this variable was declared with the 'final' modifier | 1788 * @return `true` if this variable was declared with the 'final' modifier |
| 1878 */ | 1789 */ |
| 1879 bool get isFinal; | 1790 bool get isFinal; |
| 1880 } | 1791 } |
| 1881 | 1792 |
| 1882 /** | 1793 /** |
| 1883 * The interface `AngularControllerElement` defines the Angular component descri
bed by | 1794 * The interface `AngularControllerElement` defines the Angular component descri
bed by |
| 1884 * <code>NgComponent</code> annotation. | 1795 * <code>NgComponent</code> annotation. |
| 1885 * | |
| 1886 * @coverage dart.engine.element | |
| 1887 */ | 1796 */ |
| 1888 abstract class AngularComponentElement implements AngularHasSelectorElement, Ang
ularHasTemplateElement { | 1797 abstract class AngularComponentElement implements AngularHasSelectorElement, Ang
ularHasTemplateElement { |
| 1889 /** | 1798 /** |
| 1890 * Return an array containing all of the properties declared by this component
. | 1799 * Return an array containing all of the properties declared by this component
. |
| 1891 */ | 1800 */ |
| 1892 List<AngularPropertyElement> get properties; | 1801 List<AngularPropertyElement> get properties; |
| 1893 | 1802 |
| 1894 /** | 1803 /** |
| 1895 * Return an array containing all of the scope properties set in the implement
ation of this | 1804 * Return an array containing all of the scope properties set in the implement
ation of this |
| 1896 * component. | 1805 * component. |
| 1897 */ | 1806 */ |
| 1898 List<AngularScopePropertyElement> get scopeProperties; | 1807 List<AngularScopePropertyElement> get scopeProperties; |
| 1899 | 1808 |
| 1900 /** | 1809 /** |
| 1901 * Returns the CSS file URI. | 1810 * Returns the CSS file URI. |
| 1902 */ | 1811 */ |
| 1903 String get styleUri; | 1812 String get styleUri; |
| 1904 | 1813 |
| 1905 /** | 1814 /** |
| 1906 * Return the offset of the [getStyleUri] in the [getSource]. | 1815 * Return the offset of the [getStyleUri] in the [getSource]. |
| 1907 * | 1816 * |
| 1908 * @return the offset of the style URI | 1817 * @return the offset of the style URI |
| 1909 */ | 1818 */ |
| 1910 int get styleUriOffset; | 1819 int get styleUriOffset; |
| 1911 } | 1820 } |
| 1912 | 1821 |
| 1913 /** | 1822 /** |
| 1914 * The interface `AngularControllerElement` defines the Angular controller descr
ibed by | 1823 * The interface `AngularControllerElement` defines the Angular controller descr
ibed by |
| 1915 * <code>NgController</code> annotation. | 1824 * <code>NgController</code> annotation. |
| 1916 * | |
| 1917 * @coverage dart.engine.element | |
| 1918 */ | 1825 */ |
| 1919 abstract class AngularControllerElement implements AngularHasSelectorElement { | 1826 abstract class AngularControllerElement implements AngularHasSelectorElement { |
| 1920 } | 1827 } |
| 1921 | 1828 |
| 1922 /** | 1829 /** |
| 1923 * The interface `AngularDirectiveElement` defines the Angular controller descri
bed by | 1830 * The interface `AngularDirectiveElement` defines the Angular controller descri
bed by |
| 1924 * <code>NgDirective</code> annotation. | 1831 * <code>NgDirective</code> annotation. |
| 1925 * | |
| 1926 * @coverage dart.engine.element | |
| 1927 */ | 1832 */ |
| 1928 abstract class AngularDirectiveElement implements AngularHasSelectorElement { | 1833 abstract class AngularDirectiveElement implements AngularHasSelectorElement { |
| 1929 /** | 1834 /** |
| 1930 * Return an array containing all of the properties declared by this directive
. | 1835 * Return an array containing all of the properties declared by this directive
. |
| 1931 */ | 1836 */ |
| 1932 List<AngularPropertyElement> get properties; | 1837 List<AngularPropertyElement> get properties; |
| 1933 | 1838 |
| 1934 /** | 1839 /** |
| 1935 * Checks if this directive is implemented by the class with given name. | 1840 * Checks if this directive is implemented by the class with given name. |
| 1936 */ | 1841 */ |
| 1937 bool isClass(String name); | 1842 bool isClass(String name); |
| 1938 } | 1843 } |
| 1939 | 1844 |
| 1940 /** | 1845 /** |
| 1941 * The interface `AngularElement` defines the behavior of objects representing i
nformation | 1846 * The interface `AngularElement` defines the behavior of objects representing i
nformation |
| 1942 * about an Angular specific element. | 1847 * about an Angular specific element. |
| 1943 * | |
| 1944 * @coverage dart.engine.element | |
| 1945 */ | 1848 */ |
| 1946 abstract class AngularElement implements ToolkitObjectElement { | 1849 abstract class AngularElement implements ToolkitObjectElement { |
| 1947 /** | 1850 /** |
| 1948 * An empty array of angular elements. | 1851 * An empty array of angular elements. |
| 1949 */ | 1852 */ |
| 1950 static final List<AngularElement> EMPTY_ARRAY = new List<AngularElement>(0); | 1853 static final List<AngularElement> EMPTY_ARRAY = new List<AngularElement>(0); |
| 1951 | 1854 |
| 1952 /** | 1855 /** |
| 1953 * Returns the [AngularApplication] this element is used in. | 1856 * Returns the [AngularApplication] this element is used in. |
| 1954 * | 1857 * |
| 1955 * @return the [AngularApplication] this element is used in | 1858 * @return the [AngularApplication] this element is used in |
| 1956 */ | 1859 */ |
| 1957 AngularApplication get application; | 1860 AngularApplication get application; |
| 1958 } | 1861 } |
| 1959 | 1862 |
| 1960 /** | 1863 /** |
| 1961 * The interface `AngularFilterElement` defines the Angular filter described by | 1864 * The interface `AngularFilterElement` defines the Angular filter described by |
| 1962 * <code>NgFilter</code> annotation. | 1865 * <code>NgFilter</code> annotation. |
| 1963 * | |
| 1964 * @coverage dart.engine.element | |
| 1965 */ | 1866 */ |
| 1966 abstract class AngularFilterElement implements AngularElement { | 1867 abstract class AngularFilterElement implements AngularElement { |
| 1967 } | 1868 } |
| 1968 | 1869 |
| 1969 /** | 1870 /** |
| 1970 * [AngularSelectorElement] based on presence of attribute. | 1871 * [AngularSelectorElement] based on presence of attribute. |
| 1971 */ | 1872 */ |
| 1972 abstract class AngularHasAttributeSelectorElement implements AngularSelectorElem
ent { | 1873 abstract class AngularHasAttributeSelectorElement implements AngularSelectorElem
ent { |
| 1973 } | 1874 } |
| 1974 | 1875 |
| 1975 /** | 1876 /** |
| 1976 * [AngularSelectorElement] based on presence of a class. | 1877 * [AngularSelectorElement] based on presence of a class. |
| 1977 */ | 1878 */ |
| 1978 abstract class AngularHasClassSelectorElement implements AngularSelectorElement
{ | 1879 abstract class AngularHasClassSelectorElement implements AngularSelectorElement
{ |
| 1979 } | 1880 } |
| 1980 | 1881 |
| 1981 /** | 1882 /** |
| 1982 * The interface `AngularElement` defines the behavior of objects representing i
nformation | 1883 * The interface `AngularElement` defines the behavior of objects representing i
nformation |
| 1983 * about an Angular element which is applied conditionally using some [AngularSe
lectorElement]. | 1884 * about an Angular element which is applied conditionally using some [AngularSe
lectorElement]. |
| 1984 * | |
| 1985 * @coverage dart.engine.element | |
| 1986 */ | 1885 */ |
| 1987 abstract class AngularHasSelectorElement implements AngularElement { | 1886 abstract class AngularHasSelectorElement implements AngularElement { |
| 1988 /** | 1887 /** |
| 1989 * Returns the selector specified for this element. | 1888 * Returns the selector specified for this element. |
| 1990 * | 1889 * |
| 1991 * @return the [AngularSelectorElement] specified for this element | 1890 * @return the [AngularSelectorElement] specified for this element |
| 1992 */ | 1891 */ |
| 1993 AngularSelectorElement get selector; | 1892 AngularSelectorElement get selector; |
| 1994 } | 1893 } |
| 1995 | 1894 |
| 1996 /** | 1895 /** |
| 1997 * The interface `AngularHasTemplateElement` defines common behavior for | 1896 * The interface `AngularHasTemplateElement` defines common behavior for |
| 1998 * [AngularElement] that have template URI / [Source]. | 1897 * [AngularElement] that have template URI / [Source]. |
| 1999 * | |
| 2000 * @coverage dart.engine.element | |
| 2001 */ | 1898 */ |
| 2002 abstract class AngularHasTemplateElement implements AngularElement { | 1899 abstract class AngularHasTemplateElement implements AngularElement { |
| 2003 /** | 1900 /** |
| 2004 * Returns the HTML template [Source], `null` if not resolved. | 1901 * Returns the HTML template [Source], `null` if not resolved. |
| 2005 */ | 1902 */ |
| 2006 Source get templateSource; | 1903 Source get templateSource; |
| 2007 | 1904 |
| 2008 /** | 1905 /** |
| 2009 * Returns the HTML template URI. | 1906 * Returns the HTML template URI. |
| 2010 */ | 1907 */ |
| 2011 String get templateUri; | 1908 String get templateUri; |
| 2012 | 1909 |
| 2013 /** | 1910 /** |
| 2014 * Return the offset of the [getTemplateUri] in the [getSource]. | 1911 * Return the offset of the [getTemplateUri] in the [getSource]. |
| 2015 * | 1912 * |
| 2016 * @return the offset of the template URI | 1913 * @return the offset of the template URI |
| 2017 */ | 1914 */ |
| 2018 int get templateUriOffset; | 1915 int get templateUriOffset; |
| 2019 } | 1916 } |
| 2020 | 1917 |
| 2021 /** | 1918 /** |
| 2022 * The interface `AngularPropertyElement` defines a single property in | 1919 * The interface `AngularPropertyElement` defines a single property in |
| 2023 * [AngularComponentElement]. | 1920 * [AngularComponentElement]. |
| 2024 * | |
| 2025 * @coverage dart.engine.element | |
| 2026 */ | 1921 */ |
| 2027 abstract class AngularPropertyElement implements AngularElement { | 1922 abstract class AngularPropertyElement implements AngularElement { |
| 2028 /** | 1923 /** |
| 2029 * An empty array of property elements. | 1924 * An empty array of property elements. |
| 2030 */ | 1925 */ |
| 2031 static final List<AngularPropertyElement> EMPTY_ARRAY = []; | 1926 static final List<AngularPropertyElement> EMPTY_ARRAY = []; |
| 2032 | 1927 |
| 2033 /** | 1928 /** |
| 2034 * Returns the field this property is mapped to. | 1929 * Returns the field this property is mapped to. |
| 2035 * | 1930 * |
| (...skipping 12 matching lines...) Expand all Loading... |
| 2048 /** | 1943 /** |
| 2049 * Returns the kind of this property. | 1944 * Returns the kind of this property. |
| 2050 * | 1945 * |
| 2051 * @return the kind of this property | 1946 * @return the kind of this property |
| 2052 */ | 1947 */ |
| 2053 AngularPropertyKind get propertyKind; | 1948 AngularPropertyKind get propertyKind; |
| 2054 } | 1949 } |
| 2055 | 1950 |
| 2056 /** | 1951 /** |
| 2057 * The enumeration `AngularPropertyKind` defines the different kinds of property
bindings. | 1952 * The enumeration `AngularPropertyKind` defines the different kinds of property
bindings. |
| 2058 * | |
| 2059 * @coverage dart.engine.element | |
| 2060 */ | 1953 */ |
| 2061 class AngularPropertyKind extends Enum<AngularPropertyKind> { | 1954 class AngularPropertyKind extends Enum<AngularPropertyKind> { |
| 2062 /** | 1955 /** |
| 2063 * `@` - Map the DOM attribute string. The attribute string will be taken lite
rally or | 1956 * `@` - Map the DOM attribute string. The attribute string will be taken lite
rally or |
| 2064 * interpolated if it contains binding {{}} syntax and assigned to the express
ion. (cost: 0 | 1957 * interpolated if it contains binding {{}} syntax and assigned to the express
ion. (cost: 0 |
| 2065 * watches) | 1958 * watches) |
| 2066 */ | 1959 */ |
| 2067 static final AngularPropertyKind ATTR = new AngularPropertyKind('ATTR', 0); | 1960 static final AngularPropertyKind ATTR = new AngularPropertyKind('ATTR', 0); |
| 2068 | 1961 |
| 2069 /** | 1962 /** |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2109 | 2002 |
| 2110 class AngularPropertyKind_TWO_WAY extends AngularPropertyKind { | 2003 class AngularPropertyKind_TWO_WAY extends AngularPropertyKind { |
| 2111 AngularPropertyKind_TWO_WAY(String name, int ordinal) : super(name, ordinal); | 2004 AngularPropertyKind_TWO_WAY(String name, int ordinal) : super(name, ordinal); |
| 2112 | 2005 |
| 2113 bool callsGetter() => true; | 2006 bool callsGetter() => true; |
| 2114 } | 2007 } |
| 2115 | 2008 |
| 2116 /** | 2009 /** |
| 2117 * The interface `AngularScopeVariableElement` defines the Angular <code>Scope</
code> | 2010 * The interface `AngularScopeVariableElement` defines the Angular <code>Scope</
code> |
| 2118 * property. They are created for every <code>scope['property'] = value;</code>
code snippet. | 2011 * property. They are created for every <code>scope['property'] = value;</code>
code snippet. |
| 2119 * | |
| 2120 * @coverage dart.engine.element | |
| 2121 */ | 2012 */ |
| 2122 abstract class AngularScopePropertyElement implements AngularElement { | 2013 abstract class AngularScopePropertyElement implements AngularElement { |
| 2123 /** | 2014 /** |
| 2124 * An empty array of scope property elements. | 2015 * An empty array of scope property elements. |
| 2125 */ | 2016 */ |
| 2126 static final List<AngularScopePropertyElement> EMPTY_ARRAY = []; | 2017 static final List<AngularScopePropertyElement> EMPTY_ARRAY = []; |
| 2127 | 2018 |
| 2128 /** | 2019 /** |
| 2129 * Returns the type of this property, not `null`, maybe <code>dynamic</code>. | 2020 * Returns the type of this property, not `null`, maybe <code>dynamic</code>. |
| 2130 * | 2021 * |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2151 | 2042 |
| 2152 /** | 2043 /** |
| 2153 * [AngularSelectorElement] based on tag name. | 2044 * [AngularSelectorElement] based on tag name. |
| 2154 */ | 2045 */ |
| 2155 abstract class AngularTagSelectorElement implements AngularSelectorElement { | 2046 abstract class AngularTagSelectorElement implements AngularSelectorElement { |
| 2156 } | 2047 } |
| 2157 | 2048 |
| 2158 /** | 2049 /** |
| 2159 * The interface `AngularViewElement` defines the Angular view defined using inv
ocation like | 2050 * The interface `AngularViewElement` defines the Angular view defined using inv
ocation like |
| 2160 * <code>view('views/create.html')</code>. | 2051 * <code>view('views/create.html')</code>. |
| 2161 * | |
| 2162 * @coverage dart.engine.element | |
| 2163 */ | 2052 */ |
| 2164 abstract class AngularViewElement implements AngularHasTemplateElement { | 2053 abstract class AngularViewElement implements AngularHasTemplateElement { |
| 2165 /** | 2054 /** |
| 2166 * An empty array of view elements. | 2055 * An empty array of view elements. |
| 2167 */ | 2056 */ |
| 2168 static final List<AngularViewElement> EMPTY_ARRAY = new List<AngularViewElemen
t>(0); | 2057 static final List<AngularViewElement> EMPTY_ARRAY = new List<AngularViewElemen
t>(0); |
| 2169 } | 2058 } |
| 2170 | 2059 |
| 2171 /** | 2060 /** |
| 2172 * Instances of the class `GeneralizingElementVisitor` implement an element visi
tor that will | 2061 * Instances of the class `GeneralizingElementVisitor` implement an element visi
tor that will |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2215 * LocalElement | 2104 * LocalElement |
| 2216 * LocalVariableElement | 2105 * LocalVariableElement |
| 2217 * ParameterElement | 2106 * ParameterElement |
| 2218 * FieldFormalParameterElement | 2107 * FieldFormalParameterElement |
| 2219 * </pre> | 2108 * </pre> |
| 2220 * | 2109 * |
| 2221 * Subclasses that override a visit method must either invoke the overridden vis
it method or | 2110 * Subclasses that override a visit method must either invoke the overridden vis
it method or |
| 2222 * explicitly invoke the more general visit method. Failure to do so will cause
the visit methods | 2111 * explicitly invoke the more general visit method. Failure to do so will cause
the visit methods |
| 2223 * for superclasses of the element to not be invoked and will cause the children
of the visited node | 2112 * for superclasses of the element to not be invoked and will cause the children
of the visited node |
| 2224 * to not be visited. | 2113 * to not be visited. |
| 2225 * | |
| 2226 * @coverage dart.engine.element | |
| 2227 */ | 2114 */ |
| 2228 class GeneralizingElementVisitor<R> implements ElementVisitor<R> { | 2115 class GeneralizingElementVisitor<R> implements ElementVisitor<R> { |
| 2229 R visitAngularComponentElement(AngularComponentElement element) => visitAngula
rHasSelectorElement(element); | 2116 R visitAngularComponentElement(AngularComponentElement element) => visitAngula
rHasSelectorElement(element); |
| 2230 | 2117 |
| 2231 R visitAngularControllerElement(AngularControllerElement element) => visitAngu
larHasSelectorElement(element); | 2118 R visitAngularControllerElement(AngularControllerElement element) => visitAngu
larHasSelectorElement(element); |
| 2232 | 2119 |
| 2233 R visitAngularDirectiveElement(AngularDirectiveElement element) => visitAngula
rHasSelectorElement(element); | 2120 R visitAngularDirectiveElement(AngularDirectiveElement element) => visitAngula
rHasSelectorElement(element); |
| 2234 | 2121 |
| 2235 R visitAngularElement(AngularElement element) => visitToolkitObjectElement(ele
ment); | 2122 R visitAngularElement(AngularElement element) => visitToolkitObjectElement(ele
ment); |
| 2236 | 2123 |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2319 | 2206 |
| 2320 /** | 2207 /** |
| 2321 * Instances of the class `RecursiveElementVisitor` implement an element visitor
that will | 2208 * Instances of the class `RecursiveElementVisitor` implement an element visitor
that will |
| 2322 * recursively visit all of the element in an element model. For example, using
an instance of this | 2209 * recursively visit all of the element in an element model. For example, using
an instance of this |
| 2323 * class to visit a [CompilationUnitElement] will also cause all of the types in
the | 2210 * class to visit a [CompilationUnitElement] will also cause all of the types in
the |
| 2324 * compilation unit to be visited. | 2211 * compilation unit to be visited. |
| 2325 * | 2212 * |
| 2326 * Subclasses that override a visit method must either invoke the overridden vis
it method or must | 2213 * Subclasses that override a visit method must either invoke the overridden vis
it method or must |
| 2327 * explicitly ask the visited element to visit its children. Failure to do so wi
ll cause the | 2214 * explicitly ask the visited element to visit its children. Failure to do so wi
ll cause the |
| 2328 * children of the visited element to not be visited. | 2215 * children of the visited element to not be visited. |
| 2329 * | |
| 2330 * @coverage dart.engine.element | |
| 2331 */ | 2216 */ |
| 2332 class RecursiveElementVisitor<R> implements ElementVisitor<R> { | 2217 class RecursiveElementVisitor<R> implements ElementVisitor<R> { |
| 2333 R visitAngularComponentElement(AngularComponentElement element) { | 2218 R visitAngularComponentElement(AngularComponentElement element) { |
| 2334 element.visitChildren(this); | 2219 element.visitChildren(this); |
| 2335 return null; | 2220 return null; |
| 2336 } | 2221 } |
| 2337 | 2222 |
| 2338 R visitAngularControllerElement(AngularControllerElement element) { | 2223 R visitAngularControllerElement(AngularControllerElement element) { |
| 2339 element.visitChildren(this); | 2224 element.visitChildren(this); |
| 2340 return null; | 2225 return null; |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2479 element.visitChildren(this); | 2364 element.visitChildren(this); |
| 2480 return null; | 2365 return null; |
| 2481 } | 2366 } |
| 2482 } | 2367 } |
| 2483 | 2368 |
| 2484 /** | 2369 /** |
| 2485 * Instances of the class `SimpleElementVisitor` implement an element visitor th
at will do | 2370 * Instances of the class `SimpleElementVisitor` implement an element visitor th
at will do |
| 2486 * nothing when visiting an element. It is intended to be a superclass for class
es that use the | 2371 * nothing when visiting an element. It is intended to be a superclass for class
es that use the |
| 2487 * visitor pattern primarily as a dispatch mechanism (and hence don't need to re
cursively visit a | 2372 * visitor pattern primarily as a dispatch mechanism (and hence don't need to re
cursively visit a |
| 2488 * whole structure) and that only need to visit a small number of element types. | 2373 * whole structure) and that only need to visit a small number of element types. |
| 2489 * | |
| 2490 * @coverage dart.engine.element | |
| 2491 */ | 2374 */ |
| 2492 class SimpleElementVisitor<R> implements ElementVisitor<R> { | 2375 class SimpleElementVisitor<R> implements ElementVisitor<R> { |
| 2493 R visitAngularComponentElement(AngularComponentElement element) => null; | 2376 R visitAngularComponentElement(AngularComponentElement element) => null; |
| 2494 | 2377 |
| 2495 R visitAngularControllerElement(AngularControllerElement element) => null; | 2378 R visitAngularControllerElement(AngularControllerElement element) => null; |
| 2496 | 2379 |
| 2497 R visitAngularDirectiveElement(AngularDirectiveElement element) => null; | 2380 R visitAngularDirectiveElement(AngularDirectiveElement element) => null; |
| 2498 | 2381 |
| 2499 R visitAngularFilterElement(AngularFilterElement element) => null; | 2382 R visitAngularFilterElement(AngularFilterElement element) => null; |
| 2500 | 2383 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2575 * Create the [AuxiliaryElements] with a static and propagated [ExecutableElem
ent]. | 2458 * Create the [AuxiliaryElements] with a static and propagated [ExecutableElem
ent]. |
| 2576 * | 2459 * |
| 2577 * @param staticElement the static element | 2460 * @param staticElement the static element |
| 2578 * @param propagatedElement the propagated element | 2461 * @param propagatedElement the propagated element |
| 2579 */ | 2462 */ |
| 2580 AuxiliaryElements(this.staticElement, this.propagatedElement); | 2463 AuxiliaryElements(this.staticElement, this.propagatedElement); |
| 2581 } | 2464 } |
| 2582 | 2465 |
| 2583 /** | 2466 /** |
| 2584 * Instances of the class `ClassElementImpl` implement a `ClassElement`. | 2467 * Instances of the class `ClassElementImpl` implement a `ClassElement`. |
| 2585 * | |
| 2586 * @coverage dart.engine.element | |
| 2587 */ | 2468 */ |
| 2588 class ClassElementImpl extends ElementImpl implements ClassElement { | 2469 class ClassElementImpl extends ElementImpl implements ClassElement { |
| 2589 /** | 2470 /** |
| 2590 * An array containing all of the accessors (getters and setters) contained in
this class. | 2471 * An array containing all of the accessors (getters and setters) contained in
this class. |
| 2591 */ | 2472 */ |
| 2592 List<PropertyAccessorElement> _accessors = PropertyAccessorElementImpl.EMPTY_A
RRAY; | 2473 List<PropertyAccessorElement> _accessors = PropertyAccessorElementImpl.EMPTY_A
RRAY; |
| 2593 | 2474 |
| 2594 /** | 2475 /** |
| 2595 * An array containing all of the constructors contained in this class. | 2476 * An array containing all of the constructors contained in this class. |
| 2596 */ | 2477 */ |
| (...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3088 return true; | 2969 return true; |
| 3089 } | 2970 } |
| 3090 } | 2971 } |
| 3091 return false; | 2972 return false; |
| 3092 } | 2973 } |
| 3093 } | 2974 } |
| 3094 | 2975 |
| 3095 /** | 2976 /** |
| 3096 * Instances of the class `CompilationUnitElementImpl` implement a | 2977 * Instances of the class `CompilationUnitElementImpl` implement a |
| 3097 * [CompilationUnitElement]. | 2978 * [CompilationUnitElement]. |
| 3098 * | |
| 3099 * @coverage dart.engine.element | |
| 3100 */ | 2979 */ |
| 3101 class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
lement { | 2980 class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
lement { |
| 3102 /** | 2981 /** |
| 3103 * An empty array of compilation unit elements. | 2982 * An empty array of compilation unit elements. |
| 3104 */ | 2983 */ |
| 3105 static List<CompilationUnitElement> EMPTY_ARRAY = new List<CompilationUnitElem
ent>(0); | 2984 static List<CompilationUnitElement> EMPTY_ARRAY = new List<CompilationUnitElem
ent>(0); |
| 3106 | 2985 |
| 3107 /** | 2986 /** |
| 3108 * The source that corresponds to this compilation unit. | 2987 * The source that corresponds to this compilation unit. |
| 3109 */ | 2988 */ |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3362 EvaluationResultImpl get evaluationResult => _result; | 3241 EvaluationResultImpl get evaluationResult => _result; |
| 3363 | 3242 |
| 3364 void set evaluationResult(EvaluationResultImpl result) { | 3243 void set evaluationResult(EvaluationResultImpl result) { |
| 3365 this._result = result; | 3244 this._result = result; |
| 3366 } | 3245 } |
| 3367 } | 3246 } |
| 3368 | 3247 |
| 3369 /** | 3248 /** |
| 3370 * Instances of the class `ConstLocalVariableElementImpl` implement a | 3249 * Instances of the class `ConstLocalVariableElementImpl` implement a |
| 3371 * `LocalVariableElement` for a local 'const' variable that has an initializer. | 3250 * `LocalVariableElement` for a local 'const' variable that has an initializer. |
| 3372 * | |
| 3373 * @coverage dart.engine.element | |
| 3374 */ | 3251 */ |
| 3375 class ConstLocalVariableElementImpl extends LocalVariableElementImpl { | 3252 class ConstLocalVariableElementImpl extends LocalVariableElementImpl { |
| 3376 /** | 3253 /** |
| 3377 * The result of evaluating this variable's initializer. | 3254 * The result of evaluating this variable's initializer. |
| 3378 */ | 3255 */ |
| 3379 EvaluationResultImpl _result; | 3256 EvaluationResultImpl _result; |
| 3380 | 3257 |
| 3381 /** | 3258 /** |
| 3382 * Initialize a newly created local variable element to have the given name. | 3259 * Initialize a newly created local variable element to have the given name. |
| 3383 * | 3260 * |
| (...skipping 27 matching lines...) Expand all Loading... |
| 3411 | 3288 |
| 3412 EvaluationResultImpl get evaluationResult => _result; | 3289 EvaluationResultImpl get evaluationResult => _result; |
| 3413 | 3290 |
| 3414 void set evaluationResult(EvaluationResultImpl result) { | 3291 void set evaluationResult(EvaluationResultImpl result) { |
| 3415 this._result = result; | 3292 this._result = result; |
| 3416 } | 3293 } |
| 3417 } | 3294 } |
| 3418 | 3295 |
| 3419 /** | 3296 /** |
| 3420 * Instances of the class `ConstructorElementImpl` implement a `ConstructorEleme
nt`. | 3297 * Instances of the class `ConstructorElementImpl` implement a `ConstructorEleme
nt`. |
| 3421 * | |
| 3422 * @coverage dart.engine.element | |
| 3423 */ | 3298 */ |
| 3424 class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
rElement { | 3299 class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
rElement { |
| 3425 /** | 3300 /** |
| 3426 * An empty array of constructor elements. | 3301 * An empty array of constructor elements. |
| 3427 */ | 3302 */ |
| 3428 static List<ConstructorElement> EMPTY_ARRAY = new List<ConstructorElement>(0); | 3303 static List<ConstructorElement> EMPTY_ARRAY = new List<ConstructorElement>(0); |
| 3429 | 3304 |
| 3430 /** | 3305 /** |
| 3431 * The constructor to which this constructor is redirecting. | 3306 * The constructor to which this constructor is redirecting. |
| 3432 */ | 3307 */ |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3503 builder.append("."); | 3378 builder.append("."); |
| 3504 builder.append(name); | 3379 builder.append(name); |
| 3505 } | 3380 } |
| 3506 super.appendTo(builder); | 3381 super.appendTo(builder); |
| 3507 } | 3382 } |
| 3508 } | 3383 } |
| 3509 | 3384 |
| 3510 /** | 3385 /** |
| 3511 * Instances of the class `DefaultFieldFormalParameterElementImpl` implement a | 3386 * Instances of the class `DefaultFieldFormalParameterElementImpl` implement a |
| 3512 * `FieldFormalParameterElementImpl` for parameters that have an initializer. | 3387 * `FieldFormalParameterElementImpl` for parameters that have an initializer. |
| 3513 * | |
| 3514 * @coverage dart.engine.element | |
| 3515 */ | 3388 */ |
| 3516 class DefaultFieldFormalParameterElementImpl extends FieldFormalParameterElement
Impl { | 3389 class DefaultFieldFormalParameterElementImpl extends FieldFormalParameterElement
Impl { |
| 3517 /** | 3390 /** |
| 3518 * The result of evaluating this variable's initializer. | 3391 * The result of evaluating this variable's initializer. |
| 3519 */ | 3392 */ |
| 3520 EvaluationResultImpl _result; | 3393 EvaluationResultImpl _result; |
| 3521 | 3394 |
| 3522 /** | 3395 /** |
| 3523 * Initialize a newly created parameter element to have the given name. | 3396 * Initialize a newly created parameter element to have the given name. |
| 3524 * | 3397 * |
| 3525 * @param name the name of this element | 3398 * @param name the name of this element |
| 3526 */ | 3399 */ |
| 3527 DefaultFieldFormalParameterElementImpl(Identifier name) : super(name); | 3400 DefaultFieldFormalParameterElementImpl(Identifier name) : super(name); |
| 3528 | 3401 |
| 3529 EvaluationResultImpl get evaluationResult => _result; | 3402 EvaluationResultImpl get evaluationResult => _result; |
| 3530 | 3403 |
| 3531 void set evaluationResult(EvaluationResultImpl result) { | 3404 void set evaluationResult(EvaluationResultImpl result) { |
| 3532 this._result = result; | 3405 this._result = result; |
| 3533 } | 3406 } |
| 3534 } | 3407 } |
| 3535 | 3408 |
| 3536 /** | 3409 /** |
| 3537 * Instances of the class `DefaultParameterElementImpl` implement a `ParameterEl
ement` | 3410 * Instances of the class `DefaultParameterElementImpl` implement a `ParameterEl
ement` |
| 3538 * for parameters that have an initializer. | 3411 * for parameters that have an initializer. |
| 3539 * | |
| 3540 * @coverage dart.engine.element | |
| 3541 */ | 3412 */ |
| 3542 class DefaultParameterElementImpl extends ParameterElementImpl { | 3413 class DefaultParameterElementImpl extends ParameterElementImpl { |
| 3543 /** | 3414 /** |
| 3544 * The result of evaluating this variable's initializer. | 3415 * The result of evaluating this variable's initializer. |
| 3545 */ | 3416 */ |
| 3546 EvaluationResultImpl _result; | 3417 EvaluationResultImpl _result; |
| 3547 | 3418 |
| 3548 /** | 3419 /** |
| 3549 * Initialize a newly created parameter element to have the given name. | 3420 * Initialize a newly created parameter element to have the given name. |
| 3550 * | 3421 * |
| 3551 * @param name the name of this element | 3422 * @param name the name of this element |
| 3552 */ | 3423 */ |
| 3553 DefaultParameterElementImpl(Identifier name) : super.con1(name); | 3424 DefaultParameterElementImpl(Identifier name) : super.con1(name); |
| 3554 | 3425 |
| 3555 EvaluationResultImpl get evaluationResult => _result; | 3426 EvaluationResultImpl get evaluationResult => _result; |
| 3556 | 3427 |
| 3557 void set evaluationResult(EvaluationResultImpl result) { | 3428 void set evaluationResult(EvaluationResultImpl result) { |
| 3558 this._result = result; | 3429 this._result = result; |
| 3559 } | 3430 } |
| 3560 } | 3431 } |
| 3561 | 3432 |
| 3562 /** | 3433 /** |
| 3563 * Instances of the class `DynamicElementImpl` represent the synthetic element r
epresenting | 3434 * Instances of the class `DynamicElementImpl` represent the synthetic element r
epresenting |
| 3564 * the declaration of the type `dynamic`. | 3435 * the declaration of the type `dynamic`. |
| 3565 * | |
| 3566 * @coverage dart.engine.element | |
| 3567 */ | 3436 */ |
| 3568 class DynamicElementImpl extends ElementImpl { | 3437 class DynamicElementImpl extends ElementImpl { |
| 3569 /** | 3438 /** |
| 3570 * Return the unique instance of this class. | 3439 * Return the unique instance of this class. |
| 3571 * | 3440 * |
| 3572 * @return the unique instance of this class | 3441 * @return the unique instance of this class |
| 3573 */ | 3442 */ |
| 3574 static DynamicElementImpl get instance => DynamicTypeImpl.instance.element as
DynamicElementImpl; | 3443 static DynamicElementImpl get instance => DynamicTypeImpl.instance.element as
DynamicElementImpl; |
| 3575 | 3444 |
| 3576 /** | 3445 /** |
| (...skipping 10 matching lines...) Expand all Loading... |
| 3587 setModifier(Modifier.SYNTHETIC, true); | 3456 setModifier(Modifier.SYNTHETIC, true); |
| 3588 } | 3457 } |
| 3589 | 3458 |
| 3590 accept(ElementVisitor visitor) => null; | 3459 accept(ElementVisitor visitor) => null; |
| 3591 | 3460 |
| 3592 ElementKind get kind => ElementKind.DYNAMIC; | 3461 ElementKind get kind => ElementKind.DYNAMIC; |
| 3593 } | 3462 } |
| 3594 | 3463 |
| 3595 /** | 3464 /** |
| 3596 * Instances of the class `ElementAnnotationImpl` implement an [ElementAnnotatio
n]. | 3465 * Instances of the class `ElementAnnotationImpl` implement an [ElementAnnotatio
n]. |
| 3597 * | |
| 3598 * @coverage dart.engine.element | |
| 3599 */ | 3466 */ |
| 3600 class ElementAnnotationImpl implements ElementAnnotation { | 3467 class ElementAnnotationImpl implements ElementAnnotation { |
| 3601 /** | 3468 /** |
| 3602 * The element representing the field, variable, or constructor being used as
an annotation. | 3469 * The element representing the field, variable, or constructor being used as
an annotation. |
| 3603 */ | 3470 */ |
| 3604 final Element element; | 3471 final Element element; |
| 3605 | 3472 |
| 3606 /** | 3473 /** |
| 3607 * An empty array of annotations. | 3474 * An empty array of annotations. |
| 3608 */ | 3475 */ |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3677 } | 3544 } |
| 3678 return false; | 3545 return false; |
| 3679 } | 3546 } |
| 3680 | 3547 |
| 3681 String toString() => "@${element.toString()}"; | 3548 String toString() => "@${element.toString()}"; |
| 3682 } | 3549 } |
| 3683 | 3550 |
| 3684 /** | 3551 /** |
| 3685 * The abstract class `ElementImpl` implements the behavior common to objects th
at implement | 3552 * The abstract class `ElementImpl` implements the behavior common to objects th
at implement |
| 3686 * an [Element]. | 3553 * an [Element]. |
| 3687 * | |
| 3688 * @coverage dart.engine.element | |
| 3689 */ | 3554 */ |
| 3690 abstract class ElementImpl implements Element { | 3555 abstract class ElementImpl implements Element { |
| 3691 /** | 3556 /** |
| 3692 * The enclosing element of this element, or `null` if this element is at the
root of the | 3557 * The enclosing element of this element, or `null` if this element is at the
root of the |
| 3693 * element structure. | 3558 * element structure. |
| 3694 */ | 3559 */ |
| 3695 ElementImpl _enclosingElement; | 3560 ElementImpl _enclosingElement; |
| 3696 | 3561 |
| 3697 /** | 3562 /** |
| 3698 * The name of this element. | 3563 * The name of this element. |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3783 String get displayName => _name; | 3648 String get displayName => _name; |
| 3784 | 3649 |
| 3785 Element get enclosingElement => _enclosingElement; | 3650 Element get enclosingElement => _enclosingElement; |
| 3786 | 3651 |
| 3787 LibraryElement get library => getAncestor(LibraryElement); | 3652 LibraryElement get library => getAncestor(LibraryElement); |
| 3788 | 3653 |
| 3789 ElementLocation get location => new ElementLocationImpl.con1(this); | 3654 ElementLocation get location => new ElementLocationImpl.con1(this); |
| 3790 | 3655 |
| 3791 String get name => _name; | 3656 String get name => _name; |
| 3792 | 3657 |
| 3793 ASTNode get node => getNode2(ASTNode); | 3658 AstNode get node => getNode2(AstNode); |
| 3794 | 3659 |
| 3795 Source get source { | 3660 Source get source { |
| 3796 if (_enclosingElement == null) { | 3661 if (_enclosingElement == null) { |
| 3797 return null; | 3662 return null; |
| 3798 } | 3663 } |
| 3799 return _enclosingElement.source; | 3664 return _enclosingElement.source; |
| 3800 } | 3665 } |
| 3801 | 3666 |
| 3802 CompilationUnit get unit => context.resolveCompilationUnit(source, library); | 3667 CompilationUnit get unit => context.resolveCompilationUnit(source, library); |
| 3803 | 3668 |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3891 | 3756 |
| 3892 /** | 3757 /** |
| 3893 * Return an identifier that uniquely identifies this element among the childr
en of this element's | 3758 * Return an identifier that uniquely identifies this element among the childr
en of this element's |
| 3894 * parent. | 3759 * parent. |
| 3895 * | 3760 * |
| 3896 * @return an identifier that uniquely identifies this element relative to its
parent | 3761 * @return an identifier that uniquely identifies this element relative to its
parent |
| 3897 */ | 3762 */ |
| 3898 String get identifier => name; | 3763 String get identifier => name; |
| 3899 | 3764 |
| 3900 /** | 3765 /** |
| 3901 * Return the resolved [ASTNode] of the given type enclosing [getNameOffset]. | 3766 * Return the resolved [AstNode] of the given type enclosing [getNameOffset]. |
| 3902 */ | 3767 */ |
| 3903 ASTNode getNode2(Type clazz) { | 3768 AstNode getNode2(Type clazz) { |
| 3904 CompilationUnit unit = this.unit; | 3769 CompilationUnit unit = this.unit; |
| 3905 if (unit == null) { | 3770 if (unit == null) { |
| 3906 return null; | 3771 return null; |
| 3907 } | 3772 } |
| 3908 int offset = nameOffset; | 3773 int offset = nameOffset; |
| 3909 ASTNode node = new NodeLocator.con1(offset).searchWithin(unit); | 3774 AstNode node = new NodeLocator.con1(offset).searchWithin(unit); |
| 3910 if (node == null) { | 3775 if (node == null) { |
| 3911 return null; | 3776 return null; |
| 3912 } | 3777 } |
| 3913 return node.getAncestor(clazz); | 3778 return node.getAncestor(clazz); |
| 3914 } | 3779 } |
| 3915 | 3780 |
| 3916 /** | 3781 /** |
| 3917 * Return `true` if this element has the given modifier associated with it. | 3782 * Return `true` if this element has the given modifier associated with it. |
| 3918 * | 3783 * |
| 3919 * @param modifier the modifier being tested for | 3784 * @param modifier the modifier being tested for |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3963 * @param modifier the modifier to be set | 3828 * @param modifier the modifier to be set |
| 3964 * @param value `true` if the modifier is to be associated with this element | 3829 * @param value `true` if the modifier is to be associated with this element |
| 3965 */ | 3830 */ |
| 3966 void setModifier(Modifier modifier, bool value) { | 3831 void setModifier(Modifier modifier, bool value) { |
| 3967 _modifiers = BooleanArray.set(_modifiers, modifier, value); | 3832 _modifiers = BooleanArray.set(_modifiers, modifier, value); |
| 3968 } | 3833 } |
| 3969 } | 3834 } |
| 3970 | 3835 |
| 3971 /** | 3836 /** |
| 3972 * Instances of the class `ElementLocationImpl` implement an [ElementLocation]. | 3837 * Instances of the class `ElementLocationImpl` implement an [ElementLocation]. |
| 3973 * | |
| 3974 * @coverage dart.engine.element | |
| 3975 */ | 3838 */ |
| 3976 class ElementLocationImpl implements ElementLocation { | 3839 class ElementLocationImpl implements ElementLocation { |
| 3977 /** | 3840 /** |
| 3978 * The path to the element whose location is represented by this object. | 3841 * The path to the element whose location is represented by this object. |
| 3979 */ | 3842 */ |
| 3980 List<String> _components; | 3843 List<String> _components; |
| 3981 | 3844 |
| 3982 /** | 3845 /** |
| 3983 * The character used to separate components in the encoded form. | 3846 * The character used to separate components in the encoded form. |
| 3984 */ | 3847 */ |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4211 * @return the second element | 4074 * @return the second element |
| 4212 */ | 4075 */ |
| 4213 Element get secondElt => _second; | 4076 Element get secondElt => _second; |
| 4214 | 4077 |
| 4215 int get hashCode => ObjectUtilities.combineHashCodes(_first.hashCode, _second.
hashCode); | 4078 int get hashCode => ObjectUtilities.combineHashCodes(_first.hashCode, _second.
hashCode); |
| 4216 } | 4079 } |
| 4217 | 4080 |
| 4218 /** | 4081 /** |
| 4219 * Instances of the class `EmbeddedHtmlScriptElementImpl` implement an | 4082 * Instances of the class `EmbeddedHtmlScriptElementImpl` implement an |
| 4220 * [EmbeddedHtmlScriptElement]. | 4083 * [EmbeddedHtmlScriptElement]. |
| 4221 * | |
| 4222 * @coverage dart.engine.element | |
| 4223 */ | 4084 */ |
| 4224 class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
eddedHtmlScriptElement { | 4085 class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
eddedHtmlScriptElement { |
| 4225 /** | 4086 /** |
| 4226 * The library defined by the script tag's content. | 4087 * The library defined by the script tag's content. |
| 4227 */ | 4088 */ |
| 4228 LibraryElement _scriptLibrary; | 4089 LibraryElement _scriptLibrary; |
| 4229 | 4090 |
| 4230 /** | 4091 /** |
| 4231 * Initialize a newly created script element to have the specified tag name an
d offset. | 4092 * Initialize a newly created script element to have the specified tag name an
d offset. |
| 4232 * | 4093 * |
| (...skipping 18 matching lines...) Expand all Loading... |
| 4251 } | 4112 } |
| 4252 | 4113 |
| 4253 void visitChildren(ElementVisitor visitor) { | 4114 void visitChildren(ElementVisitor visitor) { |
| 4254 safelyVisitChild(_scriptLibrary, visitor); | 4115 safelyVisitChild(_scriptLibrary, visitor); |
| 4255 } | 4116 } |
| 4256 } | 4117 } |
| 4257 | 4118 |
| 4258 /** | 4119 /** |
| 4259 * The abstract class `ExecutableElementImpl` implements the behavior common to | 4120 * The abstract class `ExecutableElementImpl` implements the behavior common to |
| 4260 * `ExecutableElement`s. | 4121 * `ExecutableElement`s. |
| 4261 * | |
| 4262 * @coverage dart.engine.element | |
| 4263 */ | 4122 */ |
| 4264 abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
ement { | 4123 abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
ement { |
| 4265 /** | 4124 /** |
| 4266 * An array containing all of the functions defined within this executable ele
ment. | 4125 * An array containing all of the functions defined within this executable ele
ment. |
| 4267 */ | 4126 */ |
| 4268 List<FunctionElement> _functions = FunctionElementImpl.EMPTY_ARRAY; | 4127 List<FunctionElement> _functions = FunctionElementImpl.EMPTY_ARRAY; |
| 4269 | 4128 |
| 4270 /** | 4129 /** |
| 4271 * An array containing all of the labels defined within this executable elemen
t. | 4130 * An array containing all of the labels defined within this executable elemen
t. |
| 4272 */ | 4131 */ |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4439 } | 4298 } |
| 4440 if (type != null) { | 4299 if (type != null) { |
| 4441 builder.append(Element.RIGHT_ARROW); | 4300 builder.append(Element.RIGHT_ARROW); |
| 4442 builder.append(type.returnType); | 4301 builder.append(type.returnType); |
| 4443 } | 4302 } |
| 4444 } | 4303 } |
| 4445 } | 4304 } |
| 4446 | 4305 |
| 4447 /** | 4306 /** |
| 4448 * Instances of the class `ExportElementImpl` implement an [ExportElement]. | 4307 * Instances of the class `ExportElementImpl` implement an [ExportElement]. |
| 4449 * | |
| 4450 * @coverage dart.engine.element | |
| 4451 */ | 4308 */ |
| 4452 class ExportElementImpl extends ElementImpl implements ExportElement { | 4309 class ExportElementImpl extends ElementImpl implements ExportElement { |
| 4453 /** | 4310 /** |
| 4454 * The URI that is specified by this directive. | 4311 * The URI that is specified by this directive. |
| 4455 */ | 4312 */ |
| 4456 String uri; | 4313 String uri; |
| 4457 | 4314 |
| 4458 /** | 4315 /** |
| 4459 * The library that is exported from this library by this export directive. | 4316 * The library that is exported from this library by this export directive. |
| 4460 */ | 4317 */ |
| (...skipping 18 matching lines...) Expand all Loading... |
| 4479 builder.append("export "); | 4336 builder.append("export "); |
| 4480 (exportedLibrary as LibraryElementImpl).appendTo(builder); | 4337 (exportedLibrary as LibraryElementImpl).appendTo(builder); |
| 4481 } | 4338 } |
| 4482 | 4339 |
| 4483 String get identifier => exportedLibrary.name; | 4340 String get identifier => exportedLibrary.name; |
| 4484 } | 4341 } |
| 4485 | 4342 |
| 4486 /** | 4343 /** |
| 4487 * Instances of the class `ExternalHtmlScriptElementImpl` implement an | 4344 * Instances of the class `ExternalHtmlScriptElementImpl` implement an |
| 4488 * [ExternalHtmlScriptElement]. | 4345 * [ExternalHtmlScriptElement]. |
| 4489 * | |
| 4490 * @coverage dart.engine.element | |
| 4491 */ | 4346 */ |
| 4492 class ExternalHtmlScriptElementImpl extends HtmlScriptElementImpl implements Ext
ernalHtmlScriptElement { | 4347 class ExternalHtmlScriptElementImpl extends HtmlScriptElementImpl implements Ext
ernalHtmlScriptElement { |
| 4493 /** | 4348 /** |
| 4494 * The source specified in the `source` attribute or `null` if unspecified. | 4349 * The source specified in the `source` attribute or `null` if unspecified. |
| 4495 */ | 4350 */ |
| 4496 Source scriptSource; | 4351 Source scriptSource; |
| 4497 | 4352 |
| 4498 /** | 4353 /** |
| 4499 * Initialize a newly created script element to have the specified tag name an
d offset. | 4354 * Initialize a newly created script element to have the specified tag name an
d offset. |
| 4500 * | 4355 * |
| 4501 * @param node the XML node from which this element is derived (not `null`) | 4356 * @param node the XML node from which this element is derived (not `null`) |
| 4502 */ | 4357 */ |
| 4503 ExternalHtmlScriptElementImpl(XmlTagNode node) : super(node); | 4358 ExternalHtmlScriptElementImpl(XmlTagNode node) : super(node); |
| 4504 | 4359 |
| 4505 accept(ElementVisitor visitor) => visitor.visitExternalHtmlScriptElement(this)
; | 4360 accept(ElementVisitor visitor) => visitor.visitExternalHtmlScriptElement(this)
; |
| 4506 | 4361 |
| 4507 ElementKind get kind => ElementKind.EXTERNAL_HTML_SCRIPT; | 4362 ElementKind get kind => ElementKind.EXTERNAL_HTML_SCRIPT; |
| 4508 } | 4363 } |
| 4509 | 4364 |
| 4510 /** | 4365 /** |
| 4511 * Instances of the class `FieldElementImpl` implement a `FieldElement`. | 4366 * Instances of the class `FieldElementImpl` implement a `FieldElement`. |
| 4512 * | |
| 4513 * @coverage dart.engine.element | |
| 4514 */ | 4367 */ |
| 4515 class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme
nt { | 4368 class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme
nt { |
| 4516 /** | 4369 /** |
| 4517 * An empty array of field elements. | 4370 * An empty array of field elements. |
| 4518 */ | 4371 */ |
| 4519 static List<FieldElement> EMPTY_ARRAY = new List<FieldElement>(0); | 4372 static List<FieldElement> EMPTY_ARRAY = new List<FieldElement>(0); |
| 4520 | 4373 |
| 4521 /** | 4374 /** |
| 4522 * Initialize a newly created field element to have the given name. | 4375 * Initialize a newly created field element to have the given name. |
| 4523 * | 4376 * |
| (...skipping 23 matching lines...) Expand all Loading... |
| 4547 */ | 4400 */ |
| 4548 void set static(bool isStatic) { | 4401 void set static(bool isStatic) { |
| 4549 setModifier(Modifier.STATIC, isStatic); | 4402 setModifier(Modifier.STATIC, isStatic); |
| 4550 } | 4403 } |
| 4551 } | 4404 } |
| 4552 | 4405 |
| 4553 /** | 4406 /** |
| 4554 * Instances of the class `FieldFormalParameterElementImpl` extend | 4407 * Instances of the class `FieldFormalParameterElementImpl` extend |
| 4555 * [ParameterElementImpl] to provide the additional information of the [FieldEle
ment] | 4408 * [ParameterElementImpl] to provide the additional information of the [FieldEle
ment] |
| 4556 * associated with the parameter. | 4409 * associated with the parameter. |
| 4557 * | |
| 4558 * @coverage dart.engine.element | |
| 4559 */ | 4410 */ |
| 4560 class FieldFormalParameterElementImpl extends ParameterElementImpl implements Fi
eldFormalParameterElement { | 4411 class FieldFormalParameterElementImpl extends ParameterElementImpl implements Fi
eldFormalParameterElement { |
| 4561 /** | 4412 /** |
| 4562 * The field associated with this field formal parameter. | 4413 * The field associated with this field formal parameter. |
| 4563 */ | 4414 */ |
| 4564 FieldElement field; | 4415 FieldElement field; |
| 4565 | 4416 |
| 4566 /** | 4417 /** |
| 4567 * Initialize a newly created parameter element to have the given name. | 4418 * Initialize a newly created parameter element to have the given name. |
| 4568 * | 4419 * |
| 4569 * @param name the name of this element | 4420 * @param name the name of this element |
| 4570 */ | 4421 */ |
| 4571 FieldFormalParameterElementImpl(Identifier name) : super.con1(name); | 4422 FieldFormalParameterElementImpl(Identifier name) : super.con1(name); |
| 4572 | 4423 |
| 4573 accept(ElementVisitor visitor) => visitor.visitFieldFormalParameterElement(thi
s); | 4424 accept(ElementVisitor visitor) => visitor.visitFieldFormalParameterElement(thi
s); |
| 4574 | 4425 |
| 4575 bool get isInitializingFormal => true; | 4426 bool get isInitializingFormal => true; |
| 4576 } | 4427 } |
| 4577 | 4428 |
| 4578 /** | 4429 /** |
| 4579 * Instances of the class `FunctionElementImpl` implement a `FunctionElement`. | 4430 * Instances of the class `FunctionElementImpl` implement a `FunctionElement`. |
| 4580 * | |
| 4581 * @coverage dart.engine.element | |
| 4582 */ | 4431 */ |
| 4583 class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
nt { | 4432 class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
nt { |
| 4584 /** | 4433 /** |
| 4585 * The offset to the beginning of the visible range for this element. | 4434 * The offset to the beginning of the visible range for this element. |
| 4586 */ | 4435 */ |
| 4587 int _visibleRangeOffset = 0; | 4436 int _visibleRangeOffset = 0; |
| 4588 | 4437 |
| 4589 /** | 4438 /** |
| 4590 * The length of the visible range for this element, or `-1` if this element d
oes not have a | 4439 * The length of the visible range for this element, or `-1` if this element d
oes not have a |
| 4591 * visible range. | 4440 * visible range. |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4648 } | 4497 } |
| 4649 super.appendTo(builder); | 4498 super.appendTo(builder); |
| 4650 } | 4499 } |
| 4651 | 4500 |
| 4652 String get identifier => "${name}@${nameOffset}"; | 4501 String get identifier => "${name}@${nameOffset}"; |
| 4653 } | 4502 } |
| 4654 | 4503 |
| 4655 /** | 4504 /** |
| 4656 * Instances of the class `FunctionTypeAliasElementImpl` implement a | 4505 * Instances of the class `FunctionTypeAliasElementImpl` implement a |
| 4657 * `FunctionTypeAliasElement`. | 4506 * `FunctionTypeAliasElement`. |
| 4658 * | |
| 4659 * @coverage dart.engine.element | |
| 4660 */ | 4507 */ |
| 4661 class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
iasElement { | 4508 class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
iasElement { |
| 4662 /** | 4509 /** |
| 4663 * An array containing all of the parameters defined by this type alias. | 4510 * An array containing all of the parameters defined by this type alias. |
| 4664 */ | 4511 */ |
| 4665 List<ParameterElement> _parameters = ParameterElementImpl.EMPTY_ARRAY; | 4512 List<ParameterElement> _parameters = ParameterElementImpl.EMPTY_ARRAY; |
| 4666 | 4513 |
| 4667 /** | 4514 /** |
| 4668 * The return type defined by this type alias. | 4515 * The return type defined by this type alias. |
| 4669 */ | 4516 */ |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4797 if (type != null) { | 4644 if (type != null) { |
| 4798 builder.append(Element.RIGHT_ARROW); | 4645 builder.append(Element.RIGHT_ARROW); |
| 4799 builder.append(type.returnType); | 4646 builder.append(type.returnType); |
| 4800 } | 4647 } |
| 4801 } | 4648 } |
| 4802 } | 4649 } |
| 4803 | 4650 |
| 4804 /** | 4651 /** |
| 4805 * Instances of the class `HideElementCombinatorImpl` implement a | 4652 * Instances of the class `HideElementCombinatorImpl` implement a |
| 4806 * [HideElementCombinator]. | 4653 * [HideElementCombinator]. |
| 4807 * | |
| 4808 * @coverage dart.engine.element | |
| 4809 */ | 4654 */ |
| 4810 class HideElementCombinatorImpl implements HideElementCombinator { | 4655 class HideElementCombinatorImpl implements HideElementCombinator { |
| 4811 /** | 4656 /** |
| 4812 * The names that are not to be made visible in the importing library even if
they are defined in | 4657 * The names that are not to be made visible in the importing library even if
they are defined in |
| 4813 * the imported library. | 4658 * the imported library. |
| 4814 */ | 4659 */ |
| 4815 List<String> hiddenNames = StringUtilities.EMPTY_ARRAY; | 4660 List<String> hiddenNames = StringUtilities.EMPTY_ARRAY; |
| 4816 | 4661 |
| 4817 String toString() { | 4662 String toString() { |
| 4818 JavaStringBuilder builder = new JavaStringBuilder(); | 4663 JavaStringBuilder builder = new JavaStringBuilder(); |
| 4819 builder.append("show "); | 4664 builder.append("show "); |
| 4820 int count = hiddenNames.length; | 4665 int count = hiddenNames.length; |
| 4821 for (int i = 0; i < count; i++) { | 4666 for (int i = 0; i < count; i++) { |
| 4822 if (i > 0) { | 4667 if (i > 0) { |
| 4823 builder.append(", "); | 4668 builder.append(", "); |
| 4824 } | 4669 } |
| 4825 builder.append(hiddenNames[i]); | 4670 builder.append(hiddenNames[i]); |
| 4826 } | 4671 } |
| 4827 return builder.toString(); | 4672 return builder.toString(); |
| 4828 } | 4673 } |
| 4829 } | 4674 } |
| 4830 | 4675 |
| 4831 /** | 4676 /** |
| 4832 * Instances of the class `HtmlElementImpl` implement an [HtmlElement]. | 4677 * Instances of the class `HtmlElementImpl` implement an [HtmlElement]. |
| 4833 * | |
| 4834 * @coverage dart.engine.element | |
| 4835 */ | 4678 */ |
| 4836 class HtmlElementImpl extends ElementImpl implements HtmlElement { | 4679 class HtmlElementImpl extends ElementImpl implements HtmlElement { |
| 4837 /** | 4680 /** |
| 4838 * An empty array of HTML file elements. | 4681 * An empty array of HTML file elements. |
| 4839 */ | 4682 */ |
| 4840 static List<HtmlElement> EMPTY_ARRAY = new List<HtmlElement>(0); | 4683 static List<HtmlElement> EMPTY_ARRAY = new List<HtmlElement>(0); |
| 4841 | 4684 |
| 4842 /** | 4685 /** |
| 4843 * The analysis context in which this library is defined. | 4686 * The analysis context in which this library is defined. |
| 4844 */ | 4687 */ |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4910 if (source == null) { | 4753 if (source == null) { |
| 4911 builder.append("{HTML file}"); | 4754 builder.append("{HTML file}"); |
| 4912 } else { | 4755 } else { |
| 4913 builder.append(source.fullName); | 4756 builder.append(source.fullName); |
| 4914 } | 4757 } |
| 4915 } | 4758 } |
| 4916 } | 4759 } |
| 4917 | 4760 |
| 4918 /** | 4761 /** |
| 4919 * Instances of the class `HtmlScriptElementImpl` implement an [HtmlScriptElemen
t]. | 4762 * Instances of the class `HtmlScriptElementImpl` implement an [HtmlScriptElemen
t]. |
| 4920 * | |
| 4921 * @coverage dart.engine.element | |
| 4922 */ | 4763 */ |
| 4923 abstract class HtmlScriptElementImpl extends ElementImpl implements HtmlScriptEl
ement { | 4764 abstract class HtmlScriptElementImpl extends ElementImpl implements HtmlScriptEl
ement { |
| 4924 /** | 4765 /** |
| 4925 * An empty array of HTML script elements. | 4766 * An empty array of HTML script elements. |
| 4926 */ | 4767 */ |
| 4927 static List<HtmlScriptElement> EMPTY_ARRAY = new List<HtmlScriptElement>(0); | 4768 static List<HtmlScriptElement> EMPTY_ARRAY = new List<HtmlScriptElement>(0); |
| 4928 | 4769 |
| 4929 /** | 4770 /** |
| 4930 * Initialize a newly created script element to have the specified tag name an
d offset. | 4771 * Initialize a newly created script element to have the specified tag name an
d offset. |
| 4931 * | 4772 * |
| 4932 * @param node the XML node from which this element is derived (not `null`) | 4773 * @param node the XML node from which this element is derived (not `null`) |
| 4933 */ | 4774 */ |
| 4934 HtmlScriptElementImpl(XmlTagNode node) : super.con2(node.tag, node.tagToken.of
fset); | 4775 HtmlScriptElementImpl(XmlTagNode node) : super.con2(node.tag, node.tagToken.of
fset); |
| 4935 } | 4776 } |
| 4936 | 4777 |
| 4937 /** | 4778 /** |
| 4938 * Instances of the class `ImportElementImpl` implement an [ImportElement]. | 4779 * Instances of the class `ImportElementImpl` implement an [ImportElement]. |
| 4939 * | |
| 4940 * @coverage dart.engine.element | |
| 4941 */ | 4780 */ |
| 4942 class ImportElementImpl extends ElementImpl implements ImportElement { | 4781 class ImportElementImpl extends ElementImpl implements ImportElement { |
| 4943 /** | 4782 /** |
| 4944 * The offset of the character immediately following the last character of thi
s node's URI, may be | 4783 * The offset of the character immediately following the last character of thi
s node's URI, may be |
| 4945 * `-1` if synthetic. | 4784 * `-1` if synthetic. |
| 4946 */ | 4785 */ |
| 4947 int uriEnd = -1; | 4786 int uriEnd = -1; |
| 4948 | 4787 |
| 4949 /** | 4788 /** |
| 4950 * The offset of the prefix of this import in the file that contains the this
import directive, or | 4789 * The offset of the prefix of this import in the file that contains the this
import directive, or |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4993 void appendTo(JavaStringBuilder builder) { | 4832 void appendTo(JavaStringBuilder builder) { |
| 4994 builder.append("import "); | 4833 builder.append("import "); |
| 4995 (importedLibrary as LibraryElementImpl).appendTo(builder); | 4834 (importedLibrary as LibraryElementImpl).appendTo(builder); |
| 4996 } | 4835 } |
| 4997 | 4836 |
| 4998 String get identifier => "${(importedLibrary as LibraryElementImpl).identifier
}@${nameOffset}"; | 4837 String get identifier => "${(importedLibrary as LibraryElementImpl).identifier
}@${nameOffset}"; |
| 4999 } | 4838 } |
| 5000 | 4839 |
| 5001 /** | 4840 /** |
| 5002 * Instances of the class `LabelElementImpl` implement a `LabelElement`. | 4841 * Instances of the class `LabelElementImpl` implement a `LabelElement`. |
| 5003 * | |
| 5004 * @coverage dart.engine.element | |
| 5005 */ | 4842 */ |
| 5006 class LabelElementImpl extends ElementImpl implements LabelElement { | 4843 class LabelElementImpl extends ElementImpl implements LabelElement { |
| 5007 /** | 4844 /** |
| 5008 * A flag indicating whether this label is associated with a `switch` statemen
t. | 4845 * A flag indicating whether this label is associated with a `switch` statemen
t. |
| 5009 */ | 4846 */ |
| 5010 bool _onSwitchStatement = false; | 4847 bool _onSwitchStatement = false; |
| 5011 | 4848 |
| 5012 /** | 4849 /** |
| 5013 * A flag indicating whether this label is associated with a `switch` member (
`case` | 4850 * A flag indicating whether this label is associated with a `switch` member (
`case` |
| 5014 * or `default`). | 4851 * or `default`). |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5050 /** | 4887 /** |
| 5051 * Return `true` if this label is associated with a `switch` statement. | 4888 * Return `true` if this label is associated with a `switch` statement. |
| 5052 * | 4889 * |
| 5053 * @return `true` if this label is associated with a `switch` statement | 4890 * @return `true` if this label is associated with a `switch` statement |
| 5054 */ | 4891 */ |
| 5055 bool get isOnSwitchStatement => _onSwitchStatement; | 4892 bool get isOnSwitchStatement => _onSwitchStatement; |
| 5056 } | 4893 } |
| 5057 | 4894 |
| 5058 /** | 4895 /** |
| 5059 * Instances of the class `LibraryElementImpl` implement a `LibraryElement`. | 4896 * Instances of the class `LibraryElementImpl` implement a `LibraryElement`. |
| 5060 * | |
| 5061 * @coverage dart.engine.element | |
| 5062 */ | 4897 */ |
| 5063 class LibraryElementImpl extends ElementImpl implements LibraryElement { | 4898 class LibraryElementImpl extends ElementImpl implements LibraryElement { |
| 5064 /** | 4899 /** |
| 5065 * An empty array of library elements. | 4900 * An empty array of library elements. |
| 5066 */ | 4901 */ |
| 5067 static List<LibraryElement> EMPTY_ARRAY = new List<LibraryElement>(0); | 4902 static List<LibraryElement> EMPTY_ARRAY = new List<LibraryElement>(0); |
| 5068 | 4903 |
| 5069 /** | 4904 /** |
| 5070 * Determine if the given library is up to date with respect to the given time
stamp. | 4905 * Determine if the given library is up to date with respect to the given time
stamp. |
| 5071 * | 4906 * |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5397 visited.add(exportedLibrary); | 5232 visited.add(exportedLibrary); |
| 5398 } | 5233 } |
| 5399 } | 5234 } |
| 5400 } | 5235 } |
| 5401 return false; | 5236 return false; |
| 5402 } | 5237 } |
| 5403 } | 5238 } |
| 5404 | 5239 |
| 5405 /** | 5240 /** |
| 5406 * Instances of the class `LocalVariableElementImpl` implement a `LocalVariableE
lement`. | 5241 * Instances of the class `LocalVariableElementImpl` implement a `LocalVariableE
lement`. |
| 5407 * | |
| 5408 * @coverage dart.engine.element | |
| 5409 */ | 5242 */ |
| 5410 class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
bleElement { | 5243 class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
bleElement { |
| 5411 /** | 5244 /** |
| 5412 * Is `true` if this variable is potentially mutated somewhere in its scope. | 5245 * Is `true` if this variable is potentially mutated somewhere in its scope. |
| 5413 */ | 5246 */ |
| 5414 bool _isPotentiallyMutatedInScope2 = false; | 5247 bool _isPotentiallyMutatedInScope2 = false; |
| 5415 | 5248 |
| 5416 /** | 5249 /** |
| 5417 * Is `true` if this variable is potentially mutated somewhere in closure. | 5250 * Is `true` if this variable is potentially mutated somewhere in closure. |
| 5418 */ | 5251 */ |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5508 builder.append(type); | 5341 builder.append(type); |
| 5509 builder.append(" "); | 5342 builder.append(" "); |
| 5510 builder.append(displayName); | 5343 builder.append(displayName); |
| 5511 } | 5344 } |
| 5512 | 5345 |
| 5513 String get identifier => "${super.identifier}@${nameOffset}"; | 5346 String get identifier => "${super.identifier}@${nameOffset}"; |
| 5514 } | 5347 } |
| 5515 | 5348 |
| 5516 /** | 5349 /** |
| 5517 * Instances of the class `MethodElementImpl` implement a `MethodElement`. | 5350 * Instances of the class `MethodElementImpl` implement a `MethodElement`. |
| 5518 * | |
| 5519 * @coverage dart.engine.element | |
| 5520 */ | 5351 */ |
| 5521 class MethodElementImpl extends ExecutableElementImpl implements MethodElement { | 5352 class MethodElementImpl extends ExecutableElementImpl implements MethodElement { |
| 5522 /** | 5353 /** |
| 5523 * An empty array of method elements. | 5354 * An empty array of method elements. |
| 5524 */ | 5355 */ |
| 5525 static List<MethodElement> EMPTY_ARRAY = new List<MethodElement>(0); | 5356 static List<MethodElement> EMPTY_ARRAY = new List<MethodElement>(0); |
| 5526 | 5357 |
| 5527 /** | 5358 /** |
| 5528 * Initialize a newly created method element to have the given name. | 5359 * Initialize a newly created method element to have the given name. |
| 5529 * | 5360 * |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5593 builder.append(enclosingElement.displayName); | 5424 builder.append(enclosingElement.displayName); |
| 5594 builder.append("."); | 5425 builder.append("."); |
| 5595 builder.append(displayName); | 5426 builder.append(displayName); |
| 5596 super.appendTo(builder); | 5427 super.appendTo(builder); |
| 5597 } | 5428 } |
| 5598 } | 5429 } |
| 5599 | 5430 |
| 5600 /** | 5431 /** |
| 5601 * The enumeration `Modifier` defines constants for all of the modifiers defined
by the Dart | 5432 * The enumeration `Modifier` defines constants for all of the modifiers defined
by the Dart |
| 5602 * language and for a few additional flags that are useful. | 5433 * language and for a few additional flags that are useful. |
| 5603 * | |
| 5604 * @coverage dart.engine.element | |
| 5605 */ | 5434 */ |
| 5606 class Modifier extends Enum<Modifier> { | 5435 class Modifier extends Enum<Modifier> { |
| 5607 /** | 5436 /** |
| 5608 * Indicates that the modifier 'abstract' was applied to the element. | 5437 * Indicates that the modifier 'abstract' was applied to the element. |
| 5609 */ | 5438 */ |
| 5610 static final Modifier ABSTRACT = new Modifier('ABSTRACT', 0); | 5439 static final Modifier ABSTRACT = new Modifier('ABSTRACT', 0); |
| 5611 | 5440 |
| 5612 /** | 5441 /** |
| 5613 * Indicates that the modifier 'const' was applied to the element. | 5442 * Indicates that the modifier 'const' was applied to the element. |
| 5614 */ | 5443 */ |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5671 STATIC, | 5500 STATIC, |
| 5672 SYNTHETIC, | 5501 SYNTHETIC, |
| 5673 TYPEDEF]; | 5502 TYPEDEF]; |
| 5674 | 5503 |
| 5675 Modifier(String name, int ordinal) : super(name, ordinal); | 5504 Modifier(String name, int ordinal) : super(name, ordinal); |
| 5676 } | 5505 } |
| 5677 | 5506 |
| 5678 /** | 5507 /** |
| 5679 * Instances of the class `MultiplyDefinedElementImpl` represent a collection of
elements that | 5508 * Instances of the class `MultiplyDefinedElementImpl` represent a collection of
elements that |
| 5680 * have the same name within the same scope. | 5509 * have the same name within the same scope. |
| 5681 * | |
| 5682 * @coverage dart.engine.element | |
| 5683 */ | 5510 */ |
| 5684 class MultiplyDefinedElementImpl implements MultiplyDefinedElement { | 5511 class MultiplyDefinedElementImpl implements MultiplyDefinedElement { |
| 5685 /** | 5512 /** |
| 5686 * Return an element that represents the given conflicting elements. | 5513 * Return an element that represents the given conflicting elements. |
| 5687 * | 5514 * |
| 5688 * @param context the analysis context in which the multiply defined elements
are defined | 5515 * @param context the analysis context in which the multiply defined elements
are defined |
| 5689 * @param firstElement the first element that conflicts | 5516 * @param firstElement the first element that conflicts |
| 5690 * @param secondElement the second element that conflicts | 5517 * @param secondElement the second element that conflicts |
| 5691 */ | 5518 */ |
| 5692 static Element fromElements(AnalysisContext context, Element firstElement, Ele
ment secondElement) { | 5519 static Element fromElements(AnalysisContext context, Element firstElement, Ele
ment secondElement) { |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5773 LibraryElement get library => null; | 5600 LibraryElement get library => null; |
| 5774 | 5601 |
| 5775 ElementLocation get location => null; | 5602 ElementLocation get location => null; |
| 5776 | 5603 |
| 5777 List<ElementAnnotation> get metadata => ElementAnnotationImpl.EMPTY_ARRAY; | 5604 List<ElementAnnotation> get metadata => ElementAnnotationImpl.EMPTY_ARRAY; |
| 5778 | 5605 |
| 5779 String get name => _name; | 5606 String get name => _name; |
| 5780 | 5607 |
| 5781 int get nameOffset => -1; | 5608 int get nameOffset => -1; |
| 5782 | 5609 |
| 5783 ASTNode get node => null; | 5610 AstNode get node => null; |
| 5784 | 5611 |
| 5785 Source get source => null; | 5612 Source get source => null; |
| 5786 | 5613 |
| 5787 Type2 get type => DynamicTypeImpl.instance; | 5614 Type2 get type => DynamicTypeImpl.instance; |
| 5788 | 5615 |
| 5789 CompilationUnit get unit => null; | 5616 CompilationUnit get unit => null; |
| 5790 | 5617 |
| 5791 bool isAccessibleIn(LibraryElement library) { | 5618 bool isAccessibleIn(LibraryElement library) { |
| 5792 for (Element element in conflictingElements) { | 5619 for (Element element in conflictingElements) { |
| 5793 if (element.isAccessibleIn(library)) { | 5620 if (element.isAccessibleIn(library)) { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5828 } | 5655 } |
| 5829 | 5656 |
| 5830 void visitChildren(ElementVisitor visitor) { | 5657 void visitChildren(ElementVisitor visitor) { |
| 5831 } | 5658 } |
| 5832 } | 5659 } |
| 5833 | 5660 |
| 5834 /** | 5661 /** |
| 5835 * The interface [MultiplyInheritedMethodElementImpl] defines all of the behavio
r of an | 5662 * The interface [MultiplyInheritedMethodElementImpl] defines all of the behavio
r of an |
| 5836 * [MethodElementImpl], with the additional information of an array of | 5663 * [MethodElementImpl], with the additional information of an array of |
| 5837 * [ExecutableElement]s from which this element was composed. | 5664 * [ExecutableElement]s from which this element was composed. |
| 5838 * | |
| 5839 * @coverage dart.engine.element | |
| 5840 */ | 5665 */ |
| 5841 class MultiplyInheritedMethodElementImpl extends MethodElementImpl implements Mu
ltiplyInheritedExecutableElement { | 5666 class MultiplyInheritedMethodElementImpl extends MethodElementImpl implements Mu
ltiplyInheritedExecutableElement { |
| 5842 /** | 5667 /** |
| 5843 * An array the array of executable elements that were used to compose this el
ement. | 5668 * An array the array of executable elements that were used to compose this el
ement. |
| 5844 */ | 5669 */ |
| 5845 List<ExecutableElement> _elements = MethodElementImpl.EMPTY_ARRAY; | 5670 List<ExecutableElement> _elements = MethodElementImpl.EMPTY_ARRAY; |
| 5846 | 5671 |
| 5847 MultiplyInheritedMethodElementImpl(Identifier name) : super.con1(name) { | 5672 MultiplyInheritedMethodElementImpl(Identifier name) : super.con1(name) { |
| 5848 synthetic = true; | 5673 synthetic = true; |
| 5849 } | 5674 } |
| 5850 | 5675 |
| 5851 List<ExecutableElement> get inheritedElements => _elements; | 5676 List<ExecutableElement> get inheritedElements => _elements; |
| 5852 | 5677 |
| 5853 void set inheritedElements(List<ExecutableElement> elements) { | 5678 void set inheritedElements(List<ExecutableElement> elements) { |
| 5854 this._elements = elements; | 5679 this._elements = elements; |
| 5855 } | 5680 } |
| 5856 } | 5681 } |
| 5857 | 5682 |
| 5858 /** | 5683 /** |
| 5859 * The interface [MultiplyInheritedPropertyAccessorElementImpl] defines all of t
he behavior of | 5684 * The interface [MultiplyInheritedPropertyAccessorElementImpl] defines all of t
he behavior of |
| 5860 * an [PropertyAccessorElementImpl], with the additional information of an array
of | 5685 * an [PropertyAccessorElementImpl], with the additional information of an array
of |
| 5861 * [ExecutableElement]s from which this element was composed. | 5686 * [ExecutableElement]s from which this element was composed. |
| 5862 * | |
| 5863 * @coverage dart.engine.element | |
| 5864 */ | 5687 */ |
| 5865 class MultiplyInheritedPropertyAccessorElementImpl extends PropertyAccessorEleme
ntImpl implements MultiplyInheritedExecutableElement { | 5688 class MultiplyInheritedPropertyAccessorElementImpl extends PropertyAccessorEleme
ntImpl implements MultiplyInheritedExecutableElement { |
| 5866 /** | 5689 /** |
| 5867 * An array the array of executable elements that were used to compose this el
ement. | 5690 * An array the array of executable elements that were used to compose this el
ement. |
| 5868 */ | 5691 */ |
| 5869 List<ExecutableElement> _elements = PropertyAccessorElementImpl.EMPTY_ARRAY; | 5692 List<ExecutableElement> _elements = PropertyAccessorElementImpl.EMPTY_ARRAY; |
| 5870 | 5693 |
| 5871 MultiplyInheritedPropertyAccessorElementImpl(Identifier name) : super.con1(nam
e) { | 5694 MultiplyInheritedPropertyAccessorElementImpl(Identifier name) : super.con1(nam
e) { |
| 5872 synthetic = true; | 5695 synthetic = true; |
| 5873 } | 5696 } |
| 5874 | 5697 |
| 5875 List<ExecutableElement> get inheritedElements => _elements; | 5698 List<ExecutableElement> get inheritedElements => _elements; |
| 5876 | 5699 |
| 5877 void set inheritedElements(List<ExecutableElement> elements) { | 5700 void set inheritedElements(List<ExecutableElement> elements) { |
| 5878 this._elements = elements; | 5701 this._elements = elements; |
| 5879 } | 5702 } |
| 5880 } | 5703 } |
| 5881 | 5704 |
| 5882 /** | 5705 /** |
| 5883 * Instances of the class `ParameterElementImpl` implement a `ParameterElement`. | 5706 * Instances of the class `ParameterElementImpl` implement a `ParameterElement`. |
| 5884 * | |
| 5885 * @coverage dart.engine.element | |
| 5886 */ | 5707 */ |
| 5887 class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
nt { | 5708 class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
nt { |
| 5888 /** | 5709 /** |
| 5889 * Is `true` if this variable is potentially mutated somewhere in its scope. | 5710 * Is `true` if this variable is potentially mutated somewhere in its scope. |
| 5890 */ | 5711 */ |
| 5891 bool _isPotentiallyMutatedInScope3 = false; | 5712 bool _isPotentiallyMutatedInScope3 = false; |
| 5892 | 5713 |
| 5893 /** | 5714 /** |
| 5894 * Is `true` if this variable is potentially mutated somewhere in closure. | 5715 * Is `true` if this variable is potentially mutated somewhere in closure. |
| 5895 */ | 5716 */ |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6058 */ | 5879 */ |
| 6059 void appendToWithoutDelimiters(JavaStringBuilder builder) { | 5880 void appendToWithoutDelimiters(JavaStringBuilder builder) { |
| 6060 builder.append(type); | 5881 builder.append(type); |
| 6061 builder.append(" "); | 5882 builder.append(" "); |
| 6062 builder.append(displayName); | 5883 builder.append(displayName); |
| 6063 } | 5884 } |
| 6064 } | 5885 } |
| 6065 | 5886 |
| 6066 /** | 5887 /** |
| 6067 * Instances of the class `PrefixElementImpl` implement a `PrefixElement`. | 5888 * Instances of the class `PrefixElementImpl` implement a `PrefixElement`. |
| 6068 * | |
| 6069 * @coverage dart.engine.element | |
| 6070 */ | 5889 */ |
| 6071 class PrefixElementImpl extends ElementImpl implements PrefixElement { | 5890 class PrefixElementImpl extends ElementImpl implements PrefixElement { |
| 6072 /** | 5891 /** |
| 6073 * An array containing all of the libraries that are imported using this prefi
x. | 5892 * An array containing all of the libraries that are imported using this prefi
x. |
| 6074 */ | 5893 */ |
| 6075 List<LibraryElement> _importedLibraries = LibraryElementImpl.EMPTY_ARRAY; | 5894 List<LibraryElement> _importedLibraries = LibraryElementImpl.EMPTY_ARRAY; |
| 6076 | 5895 |
| 6077 /** | 5896 /** |
| 6078 * An empty array of prefix elements. | 5897 * An empty array of prefix elements. |
| 6079 */ | 5898 */ |
| (...skipping 30 matching lines...) Expand all Loading... |
| 6110 builder.append("as "); | 5929 builder.append("as "); |
| 6111 super.appendTo(builder); | 5930 super.appendTo(builder); |
| 6112 } | 5931 } |
| 6113 | 5932 |
| 6114 String get identifier => "_${super.identifier}"; | 5933 String get identifier => "_${super.identifier}"; |
| 6115 } | 5934 } |
| 6116 | 5935 |
| 6117 /** | 5936 /** |
| 6118 * Instances of the class `PropertyAccessorElementImpl` implement a | 5937 * Instances of the class `PropertyAccessorElementImpl` implement a |
| 6119 * `PropertyAccessorElement`. | 5938 * `PropertyAccessorElement`. |
| 6120 * | |
| 6121 * @coverage dart.engine.element | |
| 6122 */ | 5939 */ |
| 6123 class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
rtyAccessorElement { | 5940 class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
rtyAccessorElement { |
| 6124 /** | 5941 /** |
| 6125 * The variable associated with this accessor. | 5942 * The variable associated with this accessor. |
| 6126 */ | 5943 */ |
| 6127 PropertyInducingElement variable; | 5944 PropertyInducingElement variable; |
| 6128 | 5945 |
| 6129 /** | 5946 /** |
| 6130 * An empty array of property accessor elements. | 5947 * An empty array of property accessor elements. |
| 6131 */ | 5948 */ |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6174 return ElementKind.SETTER; | 5991 return ElementKind.SETTER; |
| 6175 } | 5992 } |
| 6176 | 5993 |
| 6177 String get name { | 5994 String get name { |
| 6178 if (isSetter) { | 5995 if (isSetter) { |
| 6179 return "${super.name}="; | 5996 return "${super.name}="; |
| 6180 } | 5997 } |
| 6181 return super.name; | 5998 return super.name; |
| 6182 } | 5999 } |
| 6183 | 6000 |
| 6184 ASTNode get node { | 6001 AstNode get node { |
| 6185 if (isSynthetic) { | 6002 if (isSynthetic) { |
| 6186 return null; | 6003 return null; |
| 6187 } | 6004 } |
| 6188 if (enclosingElement is ClassElement) { | 6005 if (enclosingElement is ClassElement) { |
| 6189 return getNode2(MethodDeclaration); | 6006 return getNode2(MethodDeclaration); |
| 6190 } | 6007 } |
| 6191 if (enclosingElement is CompilationUnitElement) { | 6008 if (enclosingElement is CompilationUnitElement) { |
| 6192 return getNode2(FunctionDeclaration); | 6009 return getNode2(FunctionDeclaration); |
| 6193 } | 6010 } |
| 6194 return null; | 6011 return null; |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6243 void appendTo(JavaStringBuilder builder) { | 6060 void appendTo(JavaStringBuilder builder) { |
| 6244 builder.append(isGetter ? "get " : "set "); | 6061 builder.append(isGetter ? "get " : "set "); |
| 6245 builder.append(variable.displayName); | 6062 builder.append(variable.displayName); |
| 6246 super.appendTo(builder); | 6063 super.appendTo(builder); |
| 6247 } | 6064 } |
| 6248 } | 6065 } |
| 6249 | 6066 |
| 6250 /** | 6067 /** |
| 6251 * Instances of the class `PropertyInducingElementImpl` implement a | 6068 * Instances of the class `PropertyInducingElementImpl` implement a |
| 6252 * `PropertyInducingElement`. | 6069 * `PropertyInducingElement`. |
| 6253 * | |
| 6254 * @coverage dart.engine.element | |
| 6255 */ | 6070 */ |
| 6256 abstract class PropertyInducingElementImpl extends VariableElementImpl implement
s PropertyInducingElement { | 6071 abstract class PropertyInducingElementImpl extends VariableElementImpl implement
s PropertyInducingElement { |
| 6257 /** | 6072 /** |
| 6258 * The getter associated with this element. | 6073 * The getter associated with this element. |
| 6259 */ | 6074 */ |
| 6260 PropertyAccessorElement getter; | 6075 PropertyAccessorElement getter; |
| 6261 | 6076 |
| 6262 /** | 6077 /** |
| 6263 * The setter associated with this element, or `null` if the element is effect
ively | 6078 * The setter associated with this element, or `null` if the element is effect
ively |
| 6264 * `final` and therefore does not have a setter associated with it. | 6079 * `final` and therefore does not have a setter associated with it. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 6283 * @param name the name of this element | 6098 * @param name the name of this element |
| 6284 */ | 6099 */ |
| 6285 PropertyInducingElementImpl.con2(String name) : super.con2(name, -1) { | 6100 PropertyInducingElementImpl.con2(String name) : super.con2(name, -1) { |
| 6286 synthetic = true; | 6101 synthetic = true; |
| 6287 } | 6102 } |
| 6288 } | 6103 } |
| 6289 | 6104 |
| 6290 /** | 6105 /** |
| 6291 * Instances of the class `ShowElementCombinatorImpl` implement a | 6106 * Instances of the class `ShowElementCombinatorImpl` implement a |
| 6292 * [ShowElementCombinator]. | 6107 * [ShowElementCombinator]. |
| 6293 * | |
| 6294 * @coverage dart.engine.element | |
| 6295 */ | 6108 */ |
| 6296 class ShowElementCombinatorImpl implements ShowElementCombinator { | 6109 class ShowElementCombinatorImpl implements ShowElementCombinator { |
| 6297 /** | 6110 /** |
| 6298 * The names that are to be made visible in the importing library if they are
defined in the | 6111 * The names that are to be made visible in the importing library if they are
defined in the |
| 6299 * imported library. | 6112 * imported library. |
| 6300 */ | 6113 */ |
| 6301 List<String> shownNames = StringUtilities.EMPTY_ARRAY; | 6114 List<String> shownNames = StringUtilities.EMPTY_ARRAY; |
| 6302 | 6115 |
| 6303 /** | 6116 /** |
| 6304 * The offset of the character immediately following the last character of thi
s node. | 6117 * The offset of the character immediately following the last character of thi
s node. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 6319 builder.append(", "); | 6132 builder.append(", "); |
| 6320 } | 6133 } |
| 6321 builder.append(shownNames[i]); | 6134 builder.append(shownNames[i]); |
| 6322 } | 6135 } |
| 6323 return builder.toString(); | 6136 return builder.toString(); |
| 6324 } | 6137 } |
| 6325 } | 6138 } |
| 6326 | 6139 |
| 6327 /** | 6140 /** |
| 6328 * Instances of the class `ToolkitObjectElementImpl` implement a `ToolkitObjectE
lement`. | 6141 * Instances of the class `ToolkitObjectElementImpl` implement a `ToolkitObjectE
lement`. |
| 6329 * | |
| 6330 * @coverage dart.engine.element | |
| 6331 */ | 6142 */ |
| 6332 abstract class ToolkitObjectElementImpl extends ElementImpl implements ToolkitOb
jectElement { | 6143 abstract class ToolkitObjectElementImpl extends ElementImpl implements ToolkitOb
jectElement { |
| 6333 /** | 6144 /** |
| 6334 * Initialize a newly created toolkit object element to have the given name. | 6145 * Initialize a newly created toolkit object element to have the given name. |
| 6335 * | 6146 * |
| 6336 * @param name the name of this element | 6147 * @param name the name of this element |
| 6337 * @param nameOffset the offset of the name of this element in the file that c
ontains the | 6148 * @param nameOffset the offset of the name of this element in the file that c
ontains the |
| 6338 * declaration of this element | 6149 * declaration of this element |
| 6339 */ | 6150 */ |
| 6340 ToolkitObjectElementImpl(String name, int nameOffset) : super.con2(name, nameO
ffset); | 6151 ToolkitObjectElementImpl(String name, int nameOffset) : super.con2(name, nameO
ffset); |
| 6341 } | 6152 } |
| 6342 | 6153 |
| 6343 /** | 6154 /** |
| 6344 * Instances of the class `TopLevelVariableElementImpl` implement a | 6155 * Instances of the class `TopLevelVariableElementImpl` implement a |
| 6345 * `TopLevelVariableElement`. | 6156 * `TopLevelVariableElement`. |
| 6346 * | |
| 6347 * @coverage dart.engine.element | |
| 6348 */ | 6157 */ |
| 6349 class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements
TopLevelVariableElement { | 6158 class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements
TopLevelVariableElement { |
| 6350 /** | 6159 /** |
| 6351 * An empty array of top-level variable elements. | 6160 * An empty array of top-level variable elements. |
| 6352 */ | 6161 */ |
| 6353 static List<TopLevelVariableElement> EMPTY_ARRAY = new List<TopLevelVariableEl
ement>(0); | 6162 static List<TopLevelVariableElement> EMPTY_ARRAY = new List<TopLevelVariableEl
ement>(0); |
| 6354 | 6163 |
| 6355 /** | 6164 /** |
| 6356 * Initialize a newly created top-level variable element to have the given nam
e. | 6165 * Initialize a newly created top-level variable element to have the given nam
e. |
| 6357 * | 6166 * |
| (...skipping 10 matching lines...) Expand all Loading... |
| 6368 | 6177 |
| 6369 accept(ElementVisitor visitor) => visitor.visitTopLevelVariableElement(this); | 6178 accept(ElementVisitor visitor) => visitor.visitTopLevelVariableElement(this); |
| 6370 | 6179 |
| 6371 ElementKind get kind => ElementKind.TOP_LEVEL_VARIABLE; | 6180 ElementKind get kind => ElementKind.TOP_LEVEL_VARIABLE; |
| 6372 | 6181 |
| 6373 bool get isStatic => true; | 6182 bool get isStatic => true; |
| 6374 } | 6183 } |
| 6375 | 6184 |
| 6376 /** | 6185 /** |
| 6377 * Instances of the class `TypeParameterElementImpl` implement a [TypeParameterE
lement]. | 6186 * Instances of the class `TypeParameterElementImpl` implement a [TypeParameterE
lement]. |
| 6378 * | |
| 6379 * @coverage dart.engine.element | |
| 6380 */ | 6187 */ |
| 6381 class TypeParameterElementImpl extends ElementImpl implements TypeParameterEleme
nt { | 6188 class TypeParameterElementImpl extends ElementImpl implements TypeParameterEleme
nt { |
| 6382 /** | 6189 /** |
| 6383 * The type defined by this type parameter. | 6190 * The type defined by this type parameter. |
| 6384 */ | 6191 */ |
| 6385 TypeParameterType type; | 6192 TypeParameterType type; |
| 6386 | 6193 |
| 6387 /** | 6194 /** |
| 6388 * The type representing the bound associated with this parameter, or `null` i
f this | 6195 * The type representing the bound associated with this parameter, or `null` i
f this |
| 6389 * parameter does not have an explicit bound. | 6196 * parameter does not have an explicit bound. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 6410 builder.append(displayName); | 6217 builder.append(displayName); |
| 6411 if (bound != null) { | 6218 if (bound != null) { |
| 6412 builder.append(" extends "); | 6219 builder.append(" extends "); |
| 6413 builder.append(bound); | 6220 builder.append(bound); |
| 6414 } | 6221 } |
| 6415 } | 6222 } |
| 6416 } | 6223 } |
| 6417 | 6224 |
| 6418 /** | 6225 /** |
| 6419 * Instances of the class `VariableElementImpl` implement a `VariableElement`. | 6226 * Instances of the class `VariableElementImpl` implement a `VariableElement`. |
| 6420 * | |
| 6421 * @coverage dart.engine.element | |
| 6422 */ | 6227 */ |
| 6423 abstract class VariableElementImpl extends ElementImpl implements VariableElemen
t { | 6228 abstract class VariableElementImpl extends ElementImpl implements VariableElemen
t { |
| 6424 /** | 6229 /** |
| 6425 * The declared type of this variable. | 6230 * The declared type of this variable. |
| 6426 */ | 6231 */ |
| 6427 Type2 type; | 6232 Type2 type; |
| 6428 | 6233 |
| 6429 /** | 6234 /** |
| 6430 * A synthetic function representing this variable's initializer, or `null` if
this variable | 6235 * A synthetic function representing this variable's initializer, or `null` if
this variable |
| 6431 * does not have an initializer. | 6236 * does not have an initializer. |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6557 } | 6362 } |
| 6558 | 6363 |
| 6559 /** | 6364 /** |
| 6560 * Checks if this application depends on the library with the given [Source]. | 6365 * Checks if this application depends on the library with the given [Source]. |
| 6561 */ | 6366 */ |
| 6562 bool dependsOn(Source librarySource) => _librarySources.contains(librarySource
); | 6367 bool dependsOn(Source librarySource) => _librarySources.contains(librarySource
); |
| 6563 } | 6368 } |
| 6564 | 6369 |
| 6565 /** | 6370 /** |
| 6566 * Implementation of `AngularComponentElement`. | 6371 * Implementation of `AngularComponentElement`. |
| 6567 * | |
| 6568 * @coverage dart.engine.element | |
| 6569 */ | 6372 */ |
| 6570 class AngularComponentElementImpl extends AngularHasSelectorElementImpl implemen
ts AngularComponentElement { | 6373 class AngularComponentElementImpl extends AngularHasSelectorElementImpl implemen
ts AngularComponentElement { |
| 6571 /** | 6374 /** |
| 6572 * The offset of the defining <code>NgComponent</code> annotation. | 6375 * The offset of the defining <code>NgComponent</code> annotation. |
| 6573 */ | 6376 */ |
| 6574 int _annotationOffset = 0; | 6377 int _annotationOffset = 0; |
| 6575 | 6378 |
| 6576 /** | 6379 /** |
| 6577 * The array containing all of the properties declared by this component. | 6380 * The array containing all of the properties declared by this component. |
| 6578 */ | 6381 */ |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6655 safelyVisitChildren(_properties, visitor); | 6458 safelyVisitChildren(_properties, visitor); |
| 6656 safelyVisitChildren(_scopeProperties, visitor); | 6459 safelyVisitChildren(_scopeProperties, visitor); |
| 6657 super.visitChildren(visitor); | 6460 super.visitChildren(visitor); |
| 6658 } | 6461 } |
| 6659 | 6462 |
| 6660 String get identifier => "AngularComponent@${_annotationOffset}"; | 6463 String get identifier => "AngularComponent@${_annotationOffset}"; |
| 6661 } | 6464 } |
| 6662 | 6465 |
| 6663 /** | 6466 /** |
| 6664 * Implementation of `AngularControllerElement`. | 6467 * Implementation of `AngularControllerElement`. |
| 6665 * | |
| 6666 * @coverage dart.engine.element | |
| 6667 */ | 6468 */ |
| 6668 class AngularControllerElementImpl extends AngularHasSelectorElementImpl impleme
nts AngularControllerElement { | 6469 class AngularControllerElementImpl extends AngularHasSelectorElementImpl impleme
nts AngularControllerElement { |
| 6669 /** | 6470 /** |
| 6670 * Initialize a newly created Angular controller to have the given name. | 6471 * Initialize a newly created Angular controller to have the given name. |
| 6671 * | 6472 * |
| 6672 * @param name the name of this element | 6473 * @param name the name of this element |
| 6673 * @param nameOffset the offset of the name of this element in the file that c
ontains the | 6474 * @param nameOffset the offset of the name of this element in the file that c
ontains the |
| 6674 * declaration of this element | 6475 * declaration of this element |
| 6675 */ | 6476 */ |
| 6676 AngularControllerElementImpl(String name, int nameOffset) : super(name, nameOf
fset); | 6477 AngularControllerElementImpl(String name, int nameOffset) : super(name, nameOf
fset); |
| 6677 | 6478 |
| 6678 accept(ElementVisitor visitor) => visitor.visitAngularControllerElement(this); | 6479 accept(ElementVisitor visitor) => visitor.visitAngularControllerElement(this); |
| 6679 | 6480 |
| 6680 ElementKind get kind => ElementKind.ANGULAR_CONTROLLER; | 6481 ElementKind get kind => ElementKind.ANGULAR_CONTROLLER; |
| 6681 } | 6482 } |
| 6682 | 6483 |
| 6683 /** | 6484 /** |
| 6684 * Implementation of `AngularDirectiveElement`. | 6485 * Implementation of `AngularDirectiveElement`. |
| 6685 * | |
| 6686 * @coverage dart.engine.element | |
| 6687 */ | 6486 */ |
| 6688 class AngularDirectiveElementImpl extends AngularHasSelectorElementImpl implemen
ts AngularDirectiveElement { | 6487 class AngularDirectiveElementImpl extends AngularHasSelectorElementImpl implemen
ts AngularDirectiveElement { |
| 6689 /** | 6488 /** |
| 6690 * The offset of the annotation that defines this directive. | 6489 * The offset of the annotation that defines this directive. |
| 6691 */ | 6490 */ |
| 6692 int _offset = 0; | 6491 int _offset = 0; |
| 6693 | 6492 |
| 6694 /** | 6493 /** |
| 6695 * The array containing all of the properties declared by this directive. | 6494 * The array containing all of the properties declared by this directive. |
| 6696 */ | 6495 */ |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6733 void visitChildren(ElementVisitor visitor) { | 6532 void visitChildren(ElementVisitor visitor) { |
| 6734 safelyVisitChildren(_properties, visitor); | 6533 safelyVisitChildren(_properties, visitor); |
| 6735 super.visitChildren(visitor); | 6534 super.visitChildren(visitor); |
| 6736 } | 6535 } |
| 6737 | 6536 |
| 6738 String get identifier => "NgDirective@${_offset}"; | 6537 String get identifier => "NgDirective@${_offset}"; |
| 6739 } | 6538 } |
| 6740 | 6539 |
| 6741 /** | 6540 /** |
| 6742 * Implementation of `AngularElement`. | 6541 * Implementation of `AngularElement`. |
| 6743 * | |
| 6744 * @coverage dart.engine.element | |
| 6745 */ | 6542 */ |
| 6746 abstract class AngularElementImpl extends ToolkitObjectElementImpl implements An
gularElement { | 6543 abstract class AngularElementImpl extends ToolkitObjectElementImpl implements An
gularElement { |
| 6747 /** | 6544 /** |
| 6748 * The [AngularApplication] this element is used in. | 6545 * The [AngularApplication] this element is used in. |
| 6749 */ | 6546 */ |
| 6750 AngularApplication _application; | 6547 AngularApplication _application; |
| 6751 | 6548 |
| 6752 /** | 6549 /** |
| 6753 * Initialize a newly created Angular element to have the given name. | 6550 * Initialize a newly created Angular element to have the given name. |
| 6754 * | 6551 * |
| 6755 * @param name the name of this element | 6552 * @param name the name of this element |
| 6756 * @param nameOffset the offset of the name of this element in the file that c
ontains the | 6553 * @param nameOffset the offset of the name of this element in the file that c
ontains the |
| 6757 * declaration of this element | 6554 * declaration of this element |
| 6758 */ | 6555 */ |
| 6759 AngularElementImpl(String name, int nameOffset) : super(name, nameOffset); | 6556 AngularElementImpl(String name, int nameOffset) : super(name, nameOffset); |
| 6760 | 6557 |
| 6761 AngularApplication get application => _application; | 6558 AngularApplication get application => _application; |
| 6762 | 6559 |
| 6763 /** | 6560 /** |
| 6764 * Set the [AngularApplication] this element is used in. | 6561 * Set the [AngularApplication] this element is used in. |
| 6765 */ | 6562 */ |
| 6766 void set application(AngularApplication application) { | 6563 void set application(AngularApplication application) { |
| 6767 this._application = application; | 6564 this._application = application; |
| 6768 } | 6565 } |
| 6769 } | 6566 } |
| 6770 | 6567 |
| 6771 /** | 6568 /** |
| 6772 * Implementation of `AngularFilterElement`. | 6569 * Implementation of `AngularFilterElement`. |
| 6773 * | |
| 6774 * @coverage dart.engine.element | |
| 6775 */ | 6570 */ |
| 6776 class AngularFilterElementImpl extends AngularElementImpl implements AngularFilt
erElement { | 6571 class AngularFilterElementImpl extends AngularElementImpl implements AngularFilt
erElement { |
| 6777 /** | 6572 /** |
| 6778 * Initialize a newly created Angular filter to have the given name. | 6573 * Initialize a newly created Angular filter to have the given name. |
| 6779 * | 6574 * |
| 6780 * @param name the name of this element | 6575 * @param name the name of this element |
| 6781 * @param nameOffset the offset of the name of this element in the file that c
ontains the | 6576 * @param nameOffset the offset of the name of this element in the file that c
ontains the |
| 6782 * declaration of this element | 6577 * declaration of this element |
| 6783 */ | 6578 */ |
| 6784 AngularFilterElementImpl(String name, int nameOffset) : super(name, nameOffset
); | 6579 AngularFilterElementImpl(String name, int nameOffset) : super(name, nameOffset
); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 6811 } | 6606 } |
| 6812 | 6607 |
| 6813 void appendTo(JavaStringBuilder builder) { | 6608 void appendTo(JavaStringBuilder builder) { |
| 6814 builder.append("."); | 6609 builder.append("."); |
| 6815 builder.append(name); | 6610 builder.append(name); |
| 6816 } | 6611 } |
| 6817 } | 6612 } |
| 6818 | 6613 |
| 6819 /** | 6614 /** |
| 6820 * Implementation of `AngularSelectorElement`. | 6615 * Implementation of `AngularSelectorElement`. |
| 6821 * | |
| 6822 * @coverage dart.engine.element | |
| 6823 */ | 6616 */ |
| 6824 abstract class AngularHasSelectorElementImpl extends AngularElementImpl implemen
ts AngularHasSelectorElement { | 6617 abstract class AngularHasSelectorElementImpl extends AngularElementImpl implemen
ts AngularHasSelectorElement { |
| 6825 /** | 6618 /** |
| 6826 * The selector of this element. | 6619 * The selector of this element. |
| 6827 */ | 6620 */ |
| 6828 AngularSelectorElement _selector; | 6621 AngularSelectorElement _selector; |
| 6829 | 6622 |
| 6830 /** | 6623 /** |
| 6831 * Initialize a newly created Angular element to have the given name. | 6624 * Initialize a newly created Angular element to have the given name. |
| 6832 * | 6625 * |
| (...skipping 16 matching lines...) Expand all Loading... |
| 6849 } | 6642 } |
| 6850 | 6643 |
| 6851 void visitChildren(ElementVisitor visitor) { | 6644 void visitChildren(ElementVisitor visitor) { |
| 6852 safelyVisitChild(_selector, visitor); | 6645 safelyVisitChild(_selector, visitor); |
| 6853 super.visitChildren(visitor); | 6646 super.visitChildren(visitor); |
| 6854 } | 6647 } |
| 6855 } | 6648 } |
| 6856 | 6649 |
| 6857 /** | 6650 /** |
| 6858 * Implementation of `AngularPropertyElement`. | 6651 * Implementation of `AngularPropertyElement`. |
| 6859 * | |
| 6860 * @coverage dart.engine.element | |
| 6861 */ | 6652 */ |
| 6862 class AngularPropertyElementImpl extends AngularElementImpl implements AngularPr
opertyElement { | 6653 class AngularPropertyElementImpl extends AngularElementImpl implements AngularPr
opertyElement { |
| 6863 /** | 6654 /** |
| 6864 * The [FieldElement] to which this property is bound. | 6655 * The [FieldElement] to which this property is bound. |
| 6865 */ | 6656 */ |
| 6866 FieldElement field; | 6657 FieldElement field; |
| 6867 | 6658 |
| 6868 /** | 6659 /** |
| 6869 * The offset of the field name in the property map. | 6660 * The offset of the field name in the property map. |
| 6870 */ | 6661 */ |
| (...skipping 10 matching lines...) Expand all Loading... |
| 6881 */ | 6672 */ |
| 6882 AngularPropertyElementImpl(String name, int nameOffset) : super(name, nameOffs
et); | 6673 AngularPropertyElementImpl(String name, int nameOffset) : super(name, nameOffs
et); |
| 6883 | 6674 |
| 6884 accept(ElementVisitor visitor) => visitor.visitAngularPropertyElement(this); | 6675 accept(ElementVisitor visitor) => visitor.visitAngularPropertyElement(this); |
| 6885 | 6676 |
| 6886 ElementKind get kind => ElementKind.ANGULAR_PROPERTY; | 6677 ElementKind get kind => ElementKind.ANGULAR_PROPERTY; |
| 6887 } | 6678 } |
| 6888 | 6679 |
| 6889 /** | 6680 /** |
| 6890 * Implementation of `AngularScopePropertyElement`. | 6681 * Implementation of `AngularScopePropertyElement`. |
| 6891 * | |
| 6892 * @coverage dart.engine.element | |
| 6893 */ | 6682 */ |
| 6894 class AngularScopePropertyElementImpl extends AngularElementImpl implements Angu
larScopePropertyElement { | 6683 class AngularScopePropertyElementImpl extends AngularElementImpl implements Angu
larScopePropertyElement { |
| 6895 /** | 6684 /** |
| 6896 * The type of the property | 6685 * The type of the property |
| 6897 */ | 6686 */ |
| 6898 final Type2 type; | 6687 final Type2 type; |
| 6899 | 6688 |
| 6900 /** | 6689 /** |
| 6901 * Initialize a newly created Angular scope property to have the given name. | 6690 * Initialize a newly created Angular scope property to have the given name. |
| 6902 * | 6691 * |
| 6903 * @param name the name of this element | 6692 * @param name the name of this element |
| 6904 * @param nameOffset the offset of the name of this element in the file that c
ontains the | 6693 * @param nameOffset the offset of the name of this element in the file that c
ontains the |
| 6905 * declaration of this element | 6694 * declaration of this element |
| 6906 */ | 6695 */ |
| 6907 AngularScopePropertyElementImpl(String name, int nameOffset, this.type) : supe
r(name, nameOffset); | 6696 AngularScopePropertyElementImpl(String name, int nameOffset, this.type) : supe
r(name, nameOffset); |
| 6908 | 6697 |
| 6909 accept(ElementVisitor visitor) => visitor.visitAngularScopePropertyElement(thi
s); | 6698 accept(ElementVisitor visitor) => visitor.visitAngularScopePropertyElement(thi
s); |
| 6910 | 6699 |
| 6911 ElementKind get kind => ElementKind.ANGULAR_SCOPE_PROPERTY; | 6700 ElementKind get kind => ElementKind.ANGULAR_SCOPE_PROPERTY; |
| 6912 } | 6701 } |
| 6913 | 6702 |
| 6914 /** | 6703 /** |
| 6915 * Implementation of `AngularFilterElement`. | 6704 * Implementation of `AngularFilterElement`. |
| 6916 * | |
| 6917 * @coverage dart.engine.element | |
| 6918 */ | 6705 */ |
| 6919 abstract class AngularSelectorElementImpl extends AngularElementImpl implements
AngularSelectorElement { | 6706 abstract class AngularSelectorElementImpl extends AngularElementImpl implements
AngularSelectorElement { |
| 6920 /** | 6707 /** |
| 6921 * Initialize a newly created Angular selector to have the given name. | 6708 * Initialize a newly created Angular selector to have the given name. |
| 6922 * | 6709 * |
| 6923 * @param name the name of this element | 6710 * @param name the name of this element |
| 6924 * @param nameOffset the offset of the name of this element in the file that c
ontains the | 6711 * @param nameOffset the offset of the name of this element in the file that c
ontains the |
| 6925 * declaration of this element | 6712 * declaration of this element |
| 6926 */ | 6713 */ |
| 6927 AngularSelectorElementImpl(String name, int nameOffset) : super(name, nameOffs
et); | 6714 AngularSelectorElementImpl(String name, int nameOffset) : super(name, nameOffs
et); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 6940 bool apply(XmlTagNode node) { | 6727 bool apply(XmlTagNode node) { |
| 6941 String tagName = name; | 6728 String tagName = name; |
| 6942 return node.tag == tagName; | 6729 return node.tag == tagName; |
| 6943 } | 6730 } |
| 6944 | 6731 |
| 6945 AngularApplication get application => (enclosingElement as AngularElementImpl)
.application; | 6732 AngularApplication get application => (enclosingElement as AngularElementImpl)
.application; |
| 6946 } | 6733 } |
| 6947 | 6734 |
| 6948 /** | 6735 /** |
| 6949 * Implementation of `AngularViewElement`. | 6736 * Implementation of `AngularViewElement`. |
| 6950 * | |
| 6951 * @coverage dart.engine.element | |
| 6952 */ | 6737 */ |
| 6953 class AngularViewElementImpl extends AngularElementImpl implements AngularViewEl
ement { | 6738 class AngularViewElementImpl extends AngularElementImpl implements AngularViewEl
ement { |
| 6954 /** | 6739 /** |
| 6955 * The HTML template URI. | 6740 * The HTML template URI. |
| 6956 */ | 6741 */ |
| 6957 final String templateUri; | 6742 final String templateUri; |
| 6958 | 6743 |
| 6959 /** | 6744 /** |
| 6960 * The offset of the [templateUri] in the [getSource]. | 6745 * The offset of the [templateUri] in the [getSource]. |
| 6961 */ | 6746 */ |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7286 LibraryElement get library => _baseElement.library; | 7071 LibraryElement get library => _baseElement.library; |
| 7287 | 7072 |
| 7288 ElementLocation get location => _baseElement.location; | 7073 ElementLocation get location => _baseElement.location; |
| 7289 | 7074 |
| 7290 List<ElementAnnotation> get metadata => _baseElement.metadata; | 7075 List<ElementAnnotation> get metadata => _baseElement.metadata; |
| 7291 | 7076 |
| 7292 String get name => _baseElement.name; | 7077 String get name => _baseElement.name; |
| 7293 | 7078 |
| 7294 int get nameOffset => _baseElement.nameOffset; | 7079 int get nameOffset => _baseElement.nameOffset; |
| 7295 | 7080 |
| 7296 ASTNode get node => _baseElement.node; | 7081 AstNode get node => _baseElement.node; |
| 7297 | 7082 |
| 7298 Source get source => _baseElement.source; | 7083 Source get source => _baseElement.source; |
| 7299 | 7084 |
| 7300 CompilationUnit get unit => _baseElement.unit; | 7085 CompilationUnit get unit => _baseElement.unit; |
| 7301 | 7086 |
| 7302 bool isAccessibleIn(LibraryElement library) => _baseElement.isAccessibleIn(lib
rary); | 7087 bool isAccessibleIn(LibraryElement library) => _baseElement.isAccessibleIn(lib
rary); |
| 7303 | 7088 |
| 7304 bool get isDeprecated => _baseElement.isDeprecated; | 7089 bool get isDeprecated => _baseElement.isDeprecated; |
| 7305 | 7090 |
| 7306 bool get isOverride => _baseElement.isOverride; | 7091 bool get isOverride => _baseElement.isOverride; |
| (...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7705 void visitChildren(ElementVisitor visitor) { | 7490 void visitChildren(ElementVisitor visitor) { |
| 7706 // TODO(brianwilkerson) We need to finish implementing the accessors used be
low so that we can | 7491 // TODO(brianwilkerson) We need to finish implementing the accessors used be
low so that we can |
| 7707 // safely invoke them. | 7492 // safely invoke them. |
| 7708 super.visitChildren(visitor); | 7493 super.visitChildren(visitor); |
| 7709 safelyVisitChild(baseElement.initializer, visitor); | 7494 safelyVisitChild(baseElement.initializer, visitor); |
| 7710 } | 7495 } |
| 7711 } | 7496 } |
| 7712 | 7497 |
| 7713 /** | 7498 /** |
| 7714 * The unique instance of the class `BottomTypeImpl` implements the type `bottom
`. | 7499 * The unique instance of the class `BottomTypeImpl` implements the type `bottom
`. |
| 7715 * | |
| 7716 * @coverage dart.engine.type | |
| 7717 */ | 7500 */ |
| 7718 class BottomTypeImpl extends TypeImpl { | 7501 class BottomTypeImpl extends TypeImpl { |
| 7719 /** | 7502 /** |
| 7720 * The unique instance of this class. | 7503 * The unique instance of this class. |
| 7721 */ | 7504 */ |
| 7722 static BottomTypeImpl _INSTANCE = new BottomTypeImpl(); | 7505 static BottomTypeImpl _INSTANCE = new BottomTypeImpl(); |
| 7723 | 7506 |
| 7724 /** | 7507 /** |
| 7725 * Return the unique instance of this class. | 7508 * Return the unique instance of this class. |
| 7726 * | 7509 * |
| (...skipping 18 matching lines...) Expand all Loading... |
| 7745 | 7528 |
| 7746 bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) => id
entical(object, this); | 7529 bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) => id
entical(object, this); |
| 7747 | 7530 |
| 7748 bool internalIsMoreSpecificThan(Type2 type, bool withDynamic, Set<TypeImpl_Typ
ePair> visitedTypePairs) => true; | 7531 bool internalIsMoreSpecificThan(Type2 type, bool withDynamic, Set<TypeImpl_Typ
ePair> visitedTypePairs) => true; |
| 7749 | 7532 |
| 7750 bool internalIsSubtypeOf(Type2 type, Set<TypeImpl_TypePair> visitedTypePairs)
=> true; | 7533 bool internalIsSubtypeOf(Type2 type, Set<TypeImpl_TypePair> visitedTypePairs)
=> true; |
| 7751 } | 7534 } |
| 7752 | 7535 |
| 7753 /** | 7536 /** |
| 7754 * The unique instance of the class `DynamicTypeImpl` implements the type `dynam
ic`. | 7537 * The unique instance of the class `DynamicTypeImpl` implements the type `dynam
ic`. |
| 7755 * | |
| 7756 * @coverage dart.engine.type | |
| 7757 */ | 7538 */ |
| 7758 class DynamicTypeImpl extends TypeImpl { | 7539 class DynamicTypeImpl extends TypeImpl { |
| 7759 /** | 7540 /** |
| 7760 * The unique instance of this class. | 7541 * The unique instance of this class. |
| 7761 */ | 7542 */ |
| 7762 static DynamicTypeImpl _INSTANCE = new DynamicTypeImpl(); | 7543 static DynamicTypeImpl _INSTANCE = new DynamicTypeImpl(); |
| 7763 | 7544 |
| 7764 /** | 7545 /** |
| 7765 * Return the unique instance of this class. | 7546 * Return the unique instance of this class. |
| 7766 * | 7547 * |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7803 // else | 7584 // else |
| 7804 return withDynamic; | 7585 return withDynamic; |
| 7805 } | 7586 } |
| 7806 | 7587 |
| 7807 bool internalIsSubtypeOf(Type2 type, Set<TypeImpl_TypePair> visitedTypePairs)
=> true; | 7588 bool internalIsSubtypeOf(Type2 type, Set<TypeImpl_TypePair> visitedTypePairs)
=> true; |
| 7808 } | 7589 } |
| 7809 | 7590 |
| 7810 /** | 7591 /** |
| 7811 * Instances of the class `FunctionTypeImpl` defines the behavior common to obje
cts | 7592 * Instances of the class `FunctionTypeImpl` defines the behavior common to obje
cts |
| 7812 * representing the type of a function, method, constructor, getter, or setter. | 7593 * representing the type of a function, method, constructor, getter, or setter. |
| 7813 * | |
| 7814 * @coverage dart.engine.type | |
| 7815 */ | 7594 */ |
| 7816 class FunctionTypeImpl extends TypeImpl implements FunctionType { | 7595 class FunctionTypeImpl extends TypeImpl implements FunctionType { |
| 7817 /** | 7596 /** |
| 7818 * Return `true` if all of the name/type pairs in the first map are equal to t
he | 7597 * Return `true` if all of the name/type pairs in the first map are equal to t
he |
| 7819 * corresponding name/type pairs in the second map. The maps are expected to i
terate over their | 7598 * corresponding name/type pairs in the second map. The maps are expected to i
terate over their |
| 7820 * entries in the same order in which those entries were added to the map. | 7599 * entries in the same order in which those entries were added to the map. |
| 7821 * | 7600 * |
| 7822 * @param firstTypes the first map of name/type pairs being compared | 7601 * @param firstTypes the first map of name/type pairs being compared |
| 7823 * @param secondTypes the second map of name/type pairs being compared | 7602 * @param secondTypes the second map of name/type pairs being compared |
| 7824 * @param visitedElementPairs a set of visited element pairs | 7603 * @param visitedElementPairs a set of visited element pairs |
| (...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8360 } else { | 8139 } else { |
| 8361 return (element as FunctionTypeAliasElement).returnType; | 8140 return (element as FunctionTypeAliasElement).returnType; |
| 8362 } | 8141 } |
| 8363 } | 8142 } |
| 8364 } | 8143 } |
| 8365 | 8144 |
| 8366 /** | 8145 /** |
| 8367 * Instances of the class `InterfaceTypeImpl` defines the behavior common to obj
ects | 8146 * Instances of the class `InterfaceTypeImpl` defines the behavior common to obj
ects |
| 8368 * representing the type introduced by either a class or an interface, or a refe
rence to such a | 8147 * representing the type introduced by either a class or an interface, or a refe
rence to such a |
| 8369 * type. | 8148 * type. |
| 8370 * | |
| 8371 * @coverage dart.engine.type | |
| 8372 */ | 8149 */ |
| 8373 class InterfaceTypeImpl extends TypeImpl implements InterfaceType { | 8150 class InterfaceTypeImpl extends TypeImpl implements InterfaceType { |
| 8374 /** | 8151 /** |
| 8375 * An empty array of types. | 8152 * An empty array of types. |
| 8376 */ | 8153 */ |
| 8377 static List<InterfaceType> EMPTY_ARRAY = new List<InterfaceType>(0); | 8154 static List<InterfaceType> EMPTY_ARRAY = new List<InterfaceType>(0); |
| 8378 | 8155 |
| 8379 /** | 8156 /** |
| 8380 * This method computes the longest inheritance path from some passed [Type] t
o Object. | 8157 * This method computes the longest inheritance path from some passed [Type] t
o Object. |
| 8381 * | 8158 * |
| (...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9088 return true; | 8865 return true; |
| 9089 } | 8866 } |
| 9090 } | 8867 } |
| 9091 return false; | 8868 return false; |
| 9092 } | 8869 } |
| 9093 } | 8870 } |
| 9094 | 8871 |
| 9095 /** | 8872 /** |
| 9096 * The abstract class `TypeImpl` implements the behavior common to objects repre
senting the | 8873 * The abstract class `TypeImpl` implements the behavior common to objects repre
senting the |
| 9097 * declared type of elements in the element model. | 8874 * declared type of elements in the element model. |
| 9098 * | |
| 9099 * @coverage dart.engine.type | |
| 9100 */ | 8875 */ |
| 9101 abstract class TypeImpl implements Type2 { | 8876 abstract class TypeImpl implements Type2 { |
| 9102 static bool equalArrays(List<Type2> typeArgs1, List<Type2> typeArgs2, Set<Elem
entPair> visitedElementPairs) { | 8877 static bool equalArrays(List<Type2> typeArgs1, List<Type2> typeArgs2, Set<Elem
entPair> visitedElementPairs) { |
| 9103 if (typeArgs1.length != typeArgs2.length) { | 8878 if (typeArgs1.length != typeArgs2.length) { |
| 9104 return false; | 8879 return false; |
| 9105 } | 8880 } |
| 9106 for (int i = 0; i < typeArgs1.length; i++) { | 8881 for (int i = 0; i < typeArgs1.length; i++) { |
| 9107 if (!(typeArgs1[i] as TypeImpl).internalEquals(typeArgs2[i], visitedElemen
tPairs)) { | 8882 if (!(typeArgs1[i] as TypeImpl).internalEquals(typeArgs2[i], visitedElemen
tPairs)) { |
| 9108 return false; | 8883 return false; |
| 9109 } | 8884 } |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9298 if (_secondType != null) { | 9073 if (_secondType != null) { |
| 9299 secondHashCode = _secondType.element == null ? 0 : _secondType.element.has
hCode; | 9074 secondHashCode = _secondType.element == null ? 0 : _secondType.element.has
hCode; |
| 9300 } | 9075 } |
| 9301 return firstHashCode + secondHashCode; | 9076 return firstHashCode + secondHashCode; |
| 9302 } | 9077 } |
| 9303 } | 9078 } |
| 9304 | 9079 |
| 9305 /** | 9080 /** |
| 9306 * Instances of the class `TypeParameterTypeImpl` defines the behavior of object
s representing | 9081 * Instances of the class `TypeParameterTypeImpl` defines the behavior of object
s representing |
| 9307 * the type introduced by a type parameter. | 9082 * the type introduced by a type parameter. |
| 9308 * | |
| 9309 * @coverage dart.engine.type | |
| 9310 */ | 9083 */ |
| 9311 class TypeParameterTypeImpl extends TypeImpl implements TypeParameterType { | 9084 class TypeParameterTypeImpl extends TypeImpl implements TypeParameterType { |
| 9312 /** | 9085 /** |
| 9313 * An empty array of type parameter types. | 9086 * An empty array of type parameter types. |
| 9314 */ | 9087 */ |
| 9315 static List<TypeParameterType> EMPTY_ARRAY = new List<TypeParameterType>(0); | 9088 static List<TypeParameterType> EMPTY_ARRAY = new List<TypeParameterType>(0); |
| 9316 | 9089 |
| 9317 /** | 9090 /** |
| 9318 * Return an array containing the type parameter types defined by the given ar
ray of type | 9091 * Return an array containing the type parameter types defined by the given ar
ray of type |
| 9319 * parameter elements. | 9092 * parameter elements. |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9414 // Then check upper bound. | 9187 // Then check upper bound. |
| 9415 return boundTypeParameter.isMoreSpecificThan4(s, visitedTypes, withDynamic
, visitedTypePairs); | 9188 return boundTypeParameter.isMoreSpecificThan4(s, visitedTypes, withDynamic
, visitedTypePairs); |
| 9416 } | 9189 } |
| 9417 // Check interface type. | 9190 // Check interface type. |
| 9418 return (bound as TypeImpl).isMoreSpecificThan3(s, withDynamic, visitedTypePa
irs); | 9191 return (bound as TypeImpl).isMoreSpecificThan3(s, withDynamic, visitedTypePa
irs); |
| 9419 } | 9192 } |
| 9420 } | 9193 } |
| 9421 | 9194 |
| 9422 /** | 9195 /** |
| 9423 * The unique instance of the class `VoidTypeImpl` implements the type `void`. | 9196 * The unique instance of the class `VoidTypeImpl` implements the type `void`. |
| 9424 * | |
| 9425 * @coverage dart.engine.type | |
| 9426 */ | 9197 */ |
| 9427 class VoidTypeImpl extends TypeImpl implements VoidType { | 9198 class VoidTypeImpl extends TypeImpl implements VoidType { |
| 9428 /** | 9199 /** |
| 9429 * The unique instance of this class. | 9200 * The unique instance of this class. |
| 9430 */ | 9201 */ |
| 9431 static VoidTypeImpl _INSTANCE = new VoidTypeImpl(); | 9202 static VoidTypeImpl _INSTANCE = new VoidTypeImpl(); |
| 9432 | 9203 |
| 9433 /** | 9204 /** |
| 9434 * Return the unique instance of this class. | 9205 * Return the unique instance of this class. |
| 9435 * | 9206 * |
| (...skipping 26 matching lines...) Expand all Loading... |
| 9462 * of a function, method, constructor, getter, or setter. Function types come in
three variations: | 9233 * of a function, method, constructor, getter, or setter. Function types come in
three variations: |
| 9463 * <ol> | 9234 * <ol> |
| 9464 * * The types of functions that only have required parameters. These have the g
eneral form | 9235 * * The types of functions that only have required parameters. These have the g
eneral form |
| 9465 * <i>(T<sub>1</sub>, …, T<sub>n</sub>) → T</i>. | 9236 * <i>(T<sub>1</sub>, …, T<sub>n</sub>) → T</i>. |
| 9466 * * The types of functions with optional positional parameters. These have the
general form | 9237 * * The types of functions with optional positional parameters. These have the
general form |
| 9467 * <i>(T<sub>1</sub>, …, T<sub>n</sub>, [T<sub>n+1</sub>, …, T<sub
>n+k</sub>]) → | 9238 * <i>(T<sub>1</sub>, …, T<sub>n</sub>, [T<sub>n+1</sub>, …, T<sub
>n+k</sub>]) → |
| 9468 * T</i>. | 9239 * T</i>. |
| 9469 * * The types of functions with named parameters. These have the general form <
i>(T<sub>1</sub>, | 9240 * * The types of functions with named parameters. These have the general form <
i>(T<sub>1</sub>, |
| 9470 * …, T<sub>n</sub>, {T<sub>x1</sub> x1, …, T<sub>xk</sub> xk}) &r
arr; T</i>. | 9241 * …, T<sub>n</sub>, {T<sub>x1</sub> x1, …, T<sub>xk</sub> xk}) &r
arr; T</i>. |
| 9471 * </ol> | 9242 * </ol> |
| 9472 * | |
| 9473 * @coverage dart.engine.type | |
| 9474 */ | 9243 */ |
| 9475 abstract class FunctionType implements ParameterizedType { | 9244 abstract class FunctionType implements ParameterizedType { |
| 9476 /** | 9245 /** |
| 9477 * Return a map from the names of named parameters to the types of the named p
arameters of this | 9246 * Return a map from the names of named parameters to the types of the named p
arameters of this |
| 9478 * type of function. The entries in the map will be iterated in the same order
as the order in | 9247 * type of function. The entries in the map will be iterated in the same order
as the order in |
| 9479 * which the named parameters were defined. If there were no named parameters
declared then the | 9248 * which the named parameters were defined. If there were no named parameters
declared then the |
| 9480 * map will be empty. | 9249 * map will be empty. |
| 9481 * | 9250 * |
| 9482 * @return a map from the name to the types of the named parameters of this ty
pe of function | 9251 * @return a map from the name to the types of the named parameters of this ty
pe of function |
| 9483 */ | 9252 */ |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9515 * @return the type of object returned by this type of function | 9284 * @return the type of object returned by this type of function |
| 9516 */ | 9285 */ |
| 9517 Type2 get returnType; | 9286 Type2 get returnType; |
| 9518 | 9287 |
| 9519 /** | 9288 /** |
| 9520 * Return `true` if this type is a subtype of the given type. | 9289 * Return `true` if this type is a subtype of the given type. |
| 9521 * | 9290 * |
| 9522 * A function type <i>(T<sub>1</sub>, …, T<sub>n</sub>) → T</i> is
a subtype of the | 9291 * A function type <i>(T<sub>1</sub>, …, T<sub>n</sub>) → T</i> is
a subtype of the |
| 9523 * function type <i>(S<sub>1</sub>, …, S<sub>n</sub>) → S</i>, if
all of the following | 9292 * function type <i>(S<sub>1</sub>, …, S<sub>n</sub>) → S</i>, if
all of the following |
| 9524 * conditions are met: | 9293 * conditions are met: |
| 9525 * | |
| 9526 * * Either | 9294 * * Either |
| 9527 * | |
| 9528 * * <i>S</i> is void, or | 9295 * * <i>S</i> is void, or |
| 9529 * * <i>T ⇔ S</i>. | 9296 * * <i>T ⇔ S</i>. |
| 9530 * | 9297 * |
| 9531 * | |
| 9532 * * For all <i>i</i>, 1 <= <i>i</i> <= <i>n</i>, <i>T<sub>i</sub> ⇔ S<su
b>i</sub></i>. | 9298 * * For all <i>i</i>, 1 <= <i>i</i> <= <i>n</i>, <i>T<sub>i</sub> ⇔ S<su
b>i</sub></i>. |
| 9533 * | |
| 9534 * A function type <i>(T<sub>1</sub>, …, T<sub>n</sub>, [T<sub>n+1</sub
>, …, | 9299 * A function type <i>(T<sub>1</sub>, …, T<sub>n</sub>, [T<sub>n+1</sub
>, …, |
| 9535 * T<sub>n+k</sub>]) → T</i> is a subtype of the function type <i>(S<sub>
1</sub>, …, | 9300 * T<sub>n+k</sub>]) → T</i> is a subtype of the function type <i>(S<sub>
1</sub>, …, |
| 9536 * S<sub>n</sub>, [S<sub>n+1</sub>, …, S<sub>n+m</sub>]) → S</i>,
if all of the | 9301 * S<sub>n</sub>, [S<sub>n+1</sub>, …, S<sub>n+m</sub>]) → S</i>,
if all of the |
| 9537 * following conditions are met: | 9302 * following conditions are met: |
| 9538 * | |
| 9539 * * Either | 9303 * * Either |
| 9540 * | |
| 9541 * * <i>S</i> is void, or | 9304 * * <i>S</i> is void, or |
| 9542 * * <i>T ⇔ S</i>. | 9305 * * <i>T ⇔ S</i>. |
| 9543 * | 9306 * |
| 9544 * | |
| 9545 * * <i>k</i> >= <i>m</i> and for all <i>i</i>, 1 <= <i>i</i> <= <i>n+m</i>, <
i>T<sub>i</sub> | 9307 * * <i>k</i> >= <i>m</i> and for all <i>i</i>, 1 <= <i>i</i> <= <i>n+m</i>, <
i>T<sub>i</sub> |
| 9546 * ⇔ S<sub>i</sub></i>. | 9308 * ⇔ S<sub>i</sub></i>. |
| 9547 * | |
| 9548 * A function type <i>(T<sub>1</sub>, …, T<sub>n</sub>, {T<sub>x1</sub>
x1, …, | 9309 * A function type <i>(T<sub>1</sub>, …, T<sub>n</sub>, {T<sub>x1</sub>
x1, …, |
| 9549 * T<sub>xk</sub> xk}) → T</i> is a subtype of the function type <i>(S<su
b>1</sub>, …, | 9310 * T<sub>xk</sub> xk}) → T</i> is a subtype of the function type <i>(S<su
b>1</sub>, …, |
| 9550 * S<sub>n</sub>, {S<sub>y1</sub> y1, …, S<sub>ym</sub> ym}) → S</
i>, if all of the | 9311 * S<sub>n</sub>, {S<sub>y1</sub> y1, …, S<sub>ym</sub> ym}) → S</
i>, if all of the |
| 9551 * following conditions are met: | 9312 * following conditions are met: |
| 9552 * | |
| 9553 * * Either | 9313 * * Either |
| 9554 * | |
| 9555 * * <i>S</i> is void, | 9314 * * <i>S</i> is void, |
| 9556 * * or <i>T ⇔ S</i>. | 9315 * * or <i>T ⇔ S</i>. |
| 9557 * | 9316 * |
| 9558 * | |
| 9559 * * For all <i>i</i>, 1 <= <i>i</i> <= <i>n</i>, <i>T<sub>i</sub> ⇔ S<su
b>i</sub></i>. | 9317 * * For all <i>i</i>, 1 <= <i>i</i> <= <i>n</i>, <i>T<sub>i</sub> ⇔ S<su
b>i</sub></i>. |
| 9560 * * <i>k</i> >= <i>m</i> and <i>y<sub>i</sub></i> in <i>{x<sub>1</sub>, &hell
ip;, | 9318 * * <i>k</i> >= <i>m</i> and <i>y<sub>i</sub></i> in <i>{x<sub>1</sub>, &hell
ip;, |
| 9561 * x<sub>k</sub>}</i>, 1 <= <i>i</i> <= <i>m</i>. | 9319 * x<sub>k</sub>}</i>, 1 <= <i>i</i> <= <i>m</i>. |
| 9562 * * For all <i>y<sub>i</sub></i> in <i>{y<sub>1</sub>, …, y<sub>m</sub
>}</i>, | 9320 * * For all <i>y<sub>i</sub></i> in <i>{y<sub>1</sub>, …, y<sub>m</sub
>}</i>, |
| 9563 * <i>y<sub>i</sub> = x<sub>j</sub> => Tj ⇔ Si</i>. | 9321 * <i>y<sub>i</sub> = x<sub>j</sub> => Tj ⇔ Si</i>. |
| 9564 * | |
| 9565 * In addition, the following subtype rules apply: | 9322 * In addition, the following subtype rules apply: |
| 9566 * | 9323 * |
| 9567 * <i>(T<sub>1</sub>, …, T<sub>n</sub>, []) → T <: (T<sub>1</sub>,
…, | 9324 * <i>(T<sub>1</sub>, …, T<sub>n</sub>, []) → T <: (T<sub>1</sub>,
…, |
| 9568 * T<sub>n</sub>) → T.</i><br> | 9325 * T<sub>n</sub>) → T.</i><br> |
| 9569 * <i>(T<sub>1</sub>, …, T<sub>n</sub>) → T <: (T<sub>1</sub>, &he
llip;, | 9326 * <i>(T<sub>1</sub>, …, T<sub>n</sub>) → T <: (T<sub>1</sub>, &he
llip;, |
| 9570 * T<sub>n</sub>, {}) → T.</i><br> | 9327 * T<sub>n</sub>, {}) → T.</i><br> |
| 9571 * <i>(T<sub>1</sub>, …, T<sub>n</sub>, {}) → T <: (T<sub>1</sub>,
…, | 9328 * <i>(T<sub>1</sub>, …, T<sub>n</sub>, {}) → T <: (T<sub>1</sub>,
…, |
| 9572 * T<sub>n</sub>) → T.</i><br> | 9329 * T<sub>n</sub>) → T.</i><br> |
| 9573 * <i>(T<sub>1</sub>, …, T<sub>n</sub>) → T <: (T<sub>1</sub>, &he
llip;, | 9330 * <i>(T<sub>1</sub>, …, T<sub>n</sub>) → T <: (T<sub>1</sub>, &he
llip;, |
| 9574 * T<sub>n</sub>, []) → T.</i> | 9331 * T<sub>n</sub>, []) → T.</i> |
| (...skipping 16 matching lines...) Expand all Loading... |
| 9591 * @return the result of performing the substitution | 9348 * @return the result of performing the substitution |
| 9592 */ | 9349 */ |
| 9593 FunctionType substitute3(List<Type2> argumentTypes); | 9350 FunctionType substitute3(List<Type2> argumentTypes); |
| 9594 | 9351 |
| 9595 FunctionType substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes
); | 9352 FunctionType substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes
); |
| 9596 } | 9353 } |
| 9597 | 9354 |
| 9598 /** | 9355 /** |
| 9599 * The interface `InterfaceType` defines the behavior common to objects represen
ting the type | 9356 * The interface `InterfaceType` defines the behavior common to objects represen
ting the type |
| 9600 * introduced by either a class or an interface, or a reference to such a type. | 9357 * introduced by either a class or an interface, or a reference to such a type. |
| 9601 * | |
| 9602 * @coverage dart.engine.type | |
| 9603 */ | 9358 */ |
| 9604 abstract class InterfaceType implements ParameterizedType { | 9359 abstract class InterfaceType implements ParameterizedType { |
| 9605 /** | 9360 /** |
| 9606 * Return an array containing all of the accessors (getters and setters) decla
red in this type. | 9361 * Return an array containing all of the accessors (getters and setters) decla
red in this type. |
| 9607 * | 9362 * |
| 9608 * @return the accessors declared in this type | 9363 * @return the accessors declared in this type |
| 9609 */ | 9364 */ |
| 9610 List<PropertyAccessorElement> get accessors; | 9365 List<PropertyAccessorElement> get accessors; |
| 9611 | 9366 |
| 9612 ClassElement get element; | 9367 ClassElement get element; |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9689 * parameters replaced. | 9444 * parameters replaced. |
| 9690 * | 9445 * |
| 9691 * @return the superclass of this type | 9446 * @return the superclass of this type |
| 9692 */ | 9447 */ |
| 9693 InterfaceType get superclass; | 9448 InterfaceType get superclass; |
| 9694 | 9449 |
| 9695 /** | 9450 /** |
| 9696 * Return `true` if this type is a direct supertype of the given type. The imp
licit | 9451 * Return `true` if this type is a direct supertype of the given type. The imp
licit |
| 9697 * interface of class <i>I</i> is a direct supertype of the implicit interface
of class <i>J</i> | 9452 * interface of class <i>I</i> is a direct supertype of the implicit interface
of class <i>J</i> |
| 9698 * iff: | 9453 * iff: |
| 9699 * | |
| 9700 * * <i>I</i> is Object, and <i>J</i> has no extends clause. | 9454 * * <i>I</i> is Object, and <i>J</i> has no extends clause. |
| 9701 * * <i>I</i> is listed in the extends clause of <i>J</i>. | 9455 * * <i>I</i> is listed in the extends clause of <i>J</i>. |
| 9702 * * <i>I</i> is listed in the implements clause of <i>J</i>. | 9456 * * <i>I</i> is listed in the implements clause of <i>J</i>. |
| 9703 * * <i>I</i> is listed in the with clause of <i>J</i>. | 9457 * * <i>I</i> is listed in the with clause of <i>J</i>. |
| 9704 * * <i>J</i> is a mixin application of the mixin of <i>I</i>. | 9458 * * <i>J</i> is a mixin application of the mixin of <i>I</i>. |
| 9705 * | 9459 * |
| 9706 * | |
| 9707 * @param type the type being compared with this type | 9460 * @param type the type being compared with this type |
| 9708 * @return `true` if this type is a direct supertype of the given type | 9461 * @return `true` if this type is a direct supertype of the given type |
| 9709 */ | 9462 */ |
| 9710 bool isDirectSupertypeOf(InterfaceType type); | 9463 bool isDirectSupertypeOf(InterfaceType type); |
| 9711 | 9464 |
| 9712 /** | 9465 /** |
| 9713 * Return `true` if this type is more specific than the given type. An interfa
ce type | 9466 * Return `true` if this type is more specific than the given type. An interfa
ce type |
| 9714 * <i>T</i> is more specific than an interface type <i>S</i>, written <i>T &la
quo; S</i>, if one | 9467 * <i>T</i> is more specific than an interface type <i>S</i>, written <i>T &la
quo; S</i>, if one |
| 9715 * of the following conditions is met: | 9468 * of the following conditions is met: |
| 9716 * | |
| 9717 * * Reflexivity: <i>T</i> is <i>S</i>. | 9469 * * Reflexivity: <i>T</i> is <i>S</i>. |
| 9718 * * <i>T</i> is bottom. | 9470 * * <i>T</i> is bottom. |
| 9719 * * <i>S</i> is dynamic. | 9471 * * <i>S</i> is dynamic. |
| 9720 * * Direct supertype: <i>S</i> is a direct supertype of <i>T</i>. | 9472 * * Direct supertype: <i>S</i> is a direct supertype of <i>T</i>. |
| 9721 * * <i>T</i> is a type parameter and <i>S</i> is the upper bound of <i>T</i>. | 9473 * * <i>T</i> is a type parameter and <i>S</i> is the upper bound of <i>T</i>. |
| 9722 * * Covariance: <i>T</i> is of the form <i>I<T<sub>1</sub>, …, T<su
b>n</sub>></i> | 9474 * * Covariance: <i>T</i> is of the form <i>I<T<sub>1</sub>, …, T<su
b>n</sub>></i> |
| 9723 * and S</i> is of the form <i>I<S<sub>1</sub>, …, S<sub>n</sub>>
</i> and | 9475 * and S</i> is of the form <i>I<S<sub>1</sub>, …, S<sub>n</sub>>
</i> and |
| 9724 * <i>T<sub>i</sub> « S<sub>i</sub></i>, <i>1 <= i <= n</i>. | 9476 * <i>T<sub>i</sub> « S<sub>i</sub></i>, <i>1 <= i <= n</i>. |
| 9725 * * Transitivity: <i>T « U</i> and <i>U « S</i>. | 9477 * * Transitivity: <i>T « U</i> and <i>U « S</i>. |
| 9726 * | 9478 * |
| 9727 * | |
| 9728 * @param type the type being compared with this type | 9479 * @param type the type being compared with this type |
| 9729 * @return `true` if this type is more specific than the given type | 9480 * @return `true` if this type is more specific than the given type |
| 9730 */ | 9481 */ |
| 9731 bool isMoreSpecificThan(Type2 type); | 9482 bool isMoreSpecificThan(Type2 type); |
| 9732 | 9483 |
| 9733 /** | 9484 /** |
| 9734 * Return `true` if this type is a subtype of the given type. An interface typ
e <i>T</i> is | 9485 * Return `true` if this type is a subtype of the given type. An interface typ
e <i>T</i> is |
| 9735 * a subtype of an interface type <i>S</i>, written <i>T</i> <: <i>S</i>, iff | 9486 * a subtype of an interface type <i>S</i>, written <i>T</i> <: <i>S</i>, iff |
| 9736 * <i>[bottom/dynamic]T</i> « <i>S</i> (<i>T</i> is more specific than <
i>S</i>). If an | 9487 * <i>[bottom/dynamic]T</i> « <i>S</i> (<i>T</i> is more specific than <
i>S</i>). If an |
| 9737 * interface type <i>I</i> includes a method named <i>call()</i>, and the type
of <i>call()</i> is | 9488 * interface type <i>I</i> includes a method named <i>call()</i>, and the type
of <i>call()</i> is |
| (...skipping 18 matching lines...) Expand all Loading... |
| 9756 * library | 9507 * library |
| 9757 */ | 9508 */ |
| 9758 ConstructorElement lookUpConstructor(String constructorName, LibraryElement li
brary); | 9509 ConstructorElement lookUpConstructor(String constructorName, LibraryElement li
brary); |
| 9759 | 9510 |
| 9760 /** | 9511 /** |
| 9761 * Return the element representing the getter that results from looking up the
given getter in | 9512 * Return the element representing the getter that results from looking up the
given getter in |
| 9762 * this class with respect to the given library, or `null` if the look up fail
s. The | 9513 * this class with respect to the given library, or `null` if the look up fail
s. The |
| 9763 * behavior of this method is defined by the Dart Language Specification in se
ction 12.15.1: | 9514 * behavior of this method is defined by the Dart Language Specification in se
ction 12.15.1: |
| 9764 * <blockquote>The result of looking up getter (respectively setter) <i>m</i>
in class <i>C</i> | 9515 * <blockquote>The result of looking up getter (respectively setter) <i>m</i>
in class <i>C</i> |
| 9765 * with respect to library <i>L</i> is: | 9516 * with respect to library <i>L</i> is: |
| 9766 * | |
| 9767 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is | 9517 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is |
| 9768 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. | 9518 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. |
| 9769 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result | 9519 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result |
| 9770 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. | 9520 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. |
| 9771 * Otherwise, we say that the lookup has failed. | 9521 * Otherwise, we say that the lookup has failed. |
| 9772 * | |
| 9773 * </blockquote> | 9522 * </blockquote> |
| 9774 * | 9523 * |
| 9775 * @param getterName the name of the getter being looked up | 9524 * @param getterName the name of the getter being looked up |
| 9776 * @param library the library with respect to which the lookup is being perfor
med | 9525 * @param library the library with respect to which the lookup is being perfor
med |
| 9777 * @return the result of looking up the given getter in this class with respec
t to the given | 9526 * @return the result of looking up the given getter in this class with respec
t to the given |
| 9778 * library | 9527 * library |
| 9779 */ | 9528 */ |
| 9780 PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library
); | 9529 PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library
); |
| 9781 | 9530 |
| 9782 /** | 9531 /** |
| 9783 * Return the element representing the getter that results from looking up the
given getter in the | 9532 * Return the element representing the getter that results from looking up the
given getter in the |
| 9784 * superclass of this class with respect to the given library, or `null` if th
e look up | 9533 * superclass of this class with respect to the given library, or `null` if th
e look up |
| 9785 * fails. The behavior of this method is defined by the Dart Language Specific
ation in section | 9534 * fails. The behavior of this method is defined by the Dart Language Specific
ation in section |
| 9786 * 12.15.1: <blockquote>The result of looking up getter (respectively setter)
<i>m</i> in class | 9535 * 12.15.1: <blockquote>The result of looking up getter (respectively setter)
<i>m</i> in class |
| 9787 * <i>C</i> with respect to library <i>L</i> is: | 9536 * <i>C</i> with respect to library <i>L</i> is: |
| 9788 * | |
| 9789 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is | 9537 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is |
| 9790 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. | 9538 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. |
| 9791 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result | 9539 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result |
| 9792 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. | 9540 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. |
| 9793 * Otherwise, we say that the lookup has failed. | 9541 * Otherwise, we say that the lookup has failed. |
| 9794 * | |
| 9795 * </blockquote> | 9542 * </blockquote> |
| 9796 * | 9543 * |
| 9797 * @param getterName the name of the getter being looked up | 9544 * @param getterName the name of the getter being looked up |
| 9798 * @param library the library with respect to which the lookup is being perfor
med | 9545 * @param library the library with respect to which the lookup is being perfor
med |
| 9799 * @return the result of looking up the given getter in this class with respec
t to the given | 9546 * @return the result of looking up the given getter in this class with respec
t to the given |
| 9800 * library | 9547 * library |
| 9801 */ | 9548 */ |
| 9802 PropertyAccessorElement lookUpGetterInSuperclass(String getterName, LibraryEle
ment library); | 9549 PropertyAccessorElement lookUpGetterInSuperclass(String getterName, LibraryEle
ment library); |
| 9803 | 9550 |
| 9804 /** | 9551 /** |
| 9805 * Return the element representing the method that results from looking up the
given method in | 9552 * Return the element representing the method that results from looking up the
given method in |
| 9806 * this class with respect to the given library, or `null` if the look up fail
s. The | 9553 * this class with respect to the given library, or `null` if the look up fail
s. The |
| 9807 * behavior of this method is defined by the Dart Language Specification in se
ction 12.15.1: | 9554 * behavior of this method is defined by the Dart Language Specification in se
ction 12.15.1: |
| 9808 * <blockquote> The result of looking up method <i>m</i> in class <i>C</i> wit
h respect to library | 9555 * <blockquote> The result of looking up method <i>m</i> in class <i>C</i> wit
h respect to library |
| 9809 * <i>L</i> is: | 9556 * <i>L</i> is: |
| 9810 * | |
| 9811 * * If <i>C</i> declares an instance method named <i>m</i> that is accessible
to <i>L</i>, then | 9557 * * If <i>C</i> declares an instance method named <i>m</i> that is accessible
to <i>L</i>, then |
| 9812 * that method is the result of the lookup. Otherwise, if <i>C</i> has a super
class <i>S</i>, then | 9558 * that method is the result of the lookup. Otherwise, if <i>C</i> has a super
class <i>S</i>, then |
| 9813 * the result of the lookup is the result of looking up method <i>m</i> in <i>
S</i> with respect | 9559 * the result of the lookup is the result of looking up method <i>m</i> in <i>
S</i> with respect |
| 9814 * to <i>L</i>. Otherwise, we say that the lookup has failed. | 9560 * to <i>L</i>. Otherwise, we say that the lookup has failed. |
| 9815 * | |
| 9816 * </blockquote> | 9561 * </blockquote> |
| 9817 * | 9562 * |
| 9818 * @param methodName the name of the method being looked up | 9563 * @param methodName the name of the method being looked up |
| 9819 * @param library the library with respect to which the lookup is being perfor
med | 9564 * @param library the library with respect to which the lookup is being perfor
med |
| 9820 * @return the result of looking up the given method in this class with respec
t to the given | 9565 * @return the result of looking up the given method in this class with respec
t to the given |
| 9821 * library | 9566 * library |
| 9822 */ | 9567 */ |
| 9823 MethodElement lookUpMethod(String methodName, LibraryElement library); | 9568 MethodElement lookUpMethod(String methodName, LibraryElement library); |
| 9824 | 9569 |
| 9825 /** | 9570 /** |
| 9826 * Return the element representing the method that results from looking up the
given method in the | 9571 * Return the element representing the method that results from looking up the
given method in the |
| 9827 * superclass of this class with respect to the given library, or `null` if th
e look up | 9572 * superclass of this class with respect to the given library, or `null` if th
e look up |
| 9828 * fails. The behavior of this method is defined by the Dart Language Specific
ation in section | 9573 * fails. The behavior of this method is defined by the Dart Language Specific
ation in section |
| 9829 * 12.15.1: <blockquote> The result of looking up method <i>m</i> in class <i>
C</i> with respect | 9574 * 12.15.1: <blockquote> The result of looking up method <i>m</i> in class <i>
C</i> with respect |
| 9830 * to library <i>L</i> is: | 9575 * to library <i>L</i> is: |
| 9831 * | |
| 9832 * * If <i>C</i> declares an instance method named <i>m</i> that is accessible
to <i>L</i>, then | 9576 * * If <i>C</i> declares an instance method named <i>m</i> that is accessible
to <i>L</i>, then |
| 9833 * that method is the result of the lookup. Otherwise, if <i>C</i> has a super
class <i>S</i>, then | 9577 * that method is the result of the lookup. Otherwise, if <i>C</i> has a super
class <i>S</i>, then |
| 9834 * the result of the lookup is the result of looking up method <i>m</i> in <i>
S</i> with respect | 9578 * the result of the lookup is the result of looking up method <i>m</i> in <i>
S</i> with respect |
| 9835 * to <i>L</i>. Otherwise, we say that the lookup has failed. | 9579 * to <i>L</i>. Otherwise, we say that the lookup has failed. |
| 9836 * | |
| 9837 * </blockquote> | 9580 * </blockquote> |
| 9838 * | 9581 * |
| 9839 * @param methodName the name of the method being looked up | 9582 * @param methodName the name of the method being looked up |
| 9840 * @param library the library with respect to which the lookup is being perfor
med | 9583 * @param library the library with respect to which the lookup is being perfor
med |
| 9841 * @return the result of looking up the given method in this class with respec
t to the given | 9584 * @return the result of looking up the given method in this class with respec
t to the given |
| 9842 * library | 9585 * library |
| 9843 */ | 9586 */ |
| 9844 MethodElement lookUpMethodInSuperclass(String methodName, LibraryElement libra
ry); | 9587 MethodElement lookUpMethodInSuperclass(String methodName, LibraryElement libra
ry); |
| 9845 | 9588 |
| 9846 /** | 9589 /** |
| 9847 * Return the element representing the setter that results from looking up the
given setter in | 9590 * Return the element representing the setter that results from looking up the
given setter in |
| 9848 * this class with respect to the given library, or `null` if the look up fail
s. The | 9591 * this class with respect to the given library, or `null` if the look up fail
s. The |
| 9849 * behavior of this method is defined by the Dart Language Specification in se
ction 12.16: | 9592 * behavior of this method is defined by the Dart Language Specification in se
ction 12.16: |
| 9850 * <blockquote> The result of looking up getter (respectively setter) <i>m</i>
in class <i>C</i> | 9593 * <blockquote> The result of looking up getter (respectively setter) <i>m</i>
in class <i>C</i> |
| 9851 * with respect to library <i>L</i> is: | 9594 * with respect to library <i>L</i> is: |
| 9852 * | |
| 9853 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is | 9595 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is |
| 9854 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. | 9596 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. |
| 9855 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result | 9597 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result |
| 9856 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. | 9598 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. |
| 9857 * Otherwise, we say that the lookup has failed. | 9599 * Otherwise, we say that the lookup has failed. |
| 9858 * | |
| 9859 * </blockquote> | 9600 * </blockquote> |
| 9860 * | 9601 * |
| 9861 * @param setterName the name of the setter being looked up | 9602 * @param setterName the name of the setter being looked up |
| 9862 * @param library the library with respect to which the lookup is being perfor
med | 9603 * @param library the library with respect to which the lookup is being perfor
med |
| 9863 * @return the result of looking up the given setter in this class with respec
t to the given | 9604 * @return the result of looking up the given setter in this class with respec
t to the given |
| 9864 * library | 9605 * library |
| 9865 */ | 9606 */ |
| 9866 PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library
); | 9607 PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library
); |
| 9867 | 9608 |
| 9868 /** | 9609 /** |
| 9869 * Return the element representing the setter that results from looking up the
given setter in the | 9610 * Return the element representing the setter that results from looking up the
given setter in the |
| 9870 * superclass of this class with respect to the given library, or `null` if th
e look up | 9611 * superclass of this class with respect to the given library, or `null` if th
e look up |
| 9871 * fails. The behavior of this method is defined by the Dart Language Specific
ation in section | 9612 * fails. The behavior of this method is defined by the Dart Language Specific
ation in section |
| 9872 * 12.16: <blockquote> The result of looking up getter (respectively setter) <
i>m</i> in class | 9613 * 12.16: <blockquote> The result of looking up getter (respectively setter) <
i>m</i> in class |
| 9873 * <i>C</i> with respect to library <i>L</i> is: | 9614 * <i>C</i> with respect to library <i>L</i> is: |
| 9874 * | |
| 9875 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is | 9615 * * If <i>C</i> declares an instance getter (respectively setter) named <i>m<
/i> that is |
| 9876 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. | 9616 * accessible to <i>L</i>, then that getter (respectively setter) is the resul
t of the lookup. |
| 9877 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result | 9617 * Otherwise, if <i>C</i> has a superclass <i>S</i>, then the result of the lo
okup is the result |
| 9878 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. | 9618 * of looking up getter (respectively setter) <i>m</i> in <i>S</i> with respec
t to <i>L</i>. |
| 9879 * Otherwise, we say that the lookup has failed. | 9619 * Otherwise, we say that the lookup has failed. |
| 9880 * | |
| 9881 * </blockquote> | 9620 * </blockquote> |
| 9882 * | 9621 * |
| 9883 * @param setterName the name of the setter being looked up | 9622 * @param setterName the name of the setter being looked up |
| 9884 * @param library the library with respect to which the lookup is being perfor
med | 9623 * @param library the library with respect to which the lookup is being perfor
med |
| 9885 * @return the result of looking up the given setter in this class with respec
t to the given | 9624 * @return the result of looking up the given setter in this class with respec
t to the given |
| 9886 * library | 9625 * library |
| 9887 */ | 9626 */ |
| 9888 PropertyAccessorElement lookUpSetterInSuperclass(String setterName, LibraryEle
ment library); | 9627 PropertyAccessorElement lookUpSetterInSuperclass(String setterName, LibraryEle
ment library); |
| 9889 | 9628 |
| 9890 /** | 9629 /** |
| 9891 * Return the type resulting from substituting the given arguments for this ty
pe's parameters. | 9630 * Return the type resulting from substituting the given arguments for this ty
pe's parameters. |
| 9892 * This is fully equivalent to `substitute(argumentTypes, getTypeArguments())`
. | 9631 * This is fully equivalent to `substitute(argumentTypes, getTypeArguments())`
. |
| 9893 * | 9632 * |
| 9894 * @param argumentTypes the actual type arguments being substituted for the ty
pe parameters | 9633 * @param argumentTypes the actual type arguments being substituted for the ty
pe parameters |
| 9895 * @return the result of performing the substitution | 9634 * @return the result of performing the substitution |
| 9896 */ | 9635 */ |
| 9897 InterfaceType substitute4(List<Type2> argumentTypes); | 9636 InterfaceType substitute4(List<Type2> argumentTypes); |
| 9898 | 9637 |
| 9899 InterfaceType substitute2(List<Type2> argumentTypes, List<Type2> parameterType
s); | 9638 InterfaceType substitute2(List<Type2> argumentTypes, List<Type2> parameterType
s); |
| 9900 } | 9639 } |
| 9901 | 9640 |
| 9902 /** | 9641 /** |
| 9903 * The interface `ParameterizedType` defines the behavior common to objects repr
esenting a | 9642 * The interface `ParameterizedType` defines the behavior common to objects repr
esenting a |
| 9904 * type with type parameters, such as a class or function type alias. | 9643 * type with type parameters, such as a class or function type alias. |
| 9905 * | |
| 9906 * @coverage dart.engine.type | |
| 9907 */ | 9644 */ |
| 9908 abstract class ParameterizedType implements Type2 { | 9645 abstract class ParameterizedType implements Type2 { |
| 9909 /** | 9646 /** |
| 9910 * Return an array containing the actual types of the type arguments. If this
type's element does | 9647 * Return an array containing the actual types of the type arguments. If this
type's element does |
| 9911 * not have type parameters, then the array should be empty (although it is po
ssible for type | 9648 * not have type parameters, then the array should be empty (although it is po
ssible for type |
| 9912 * arguments to be erroneously declared). If the element has type parameters a
nd the actual type | 9649 * arguments to be erroneously declared). If the element has type parameters a
nd the actual type |
| 9913 * does not explicitly include argument values, then the type "dynamic" will b
e automatically | 9650 * does not explicitly include argument values, then the type "dynamic" will b
e automatically |
| 9914 * provided. | 9651 * provided. |
| 9915 * | 9652 * |
| 9916 * @return the actual types of the type arguments | 9653 * @return the actual types of the type arguments |
| 9917 */ | 9654 */ |
| 9918 List<Type2> get typeArguments; | 9655 List<Type2> get typeArguments; |
| 9919 | 9656 |
| 9920 /** | 9657 /** |
| 9921 * Return an array containing all of the type parameters declared for this typ
e. | 9658 * Return an array containing all of the type parameters declared for this typ
e. |
| 9922 * | 9659 * |
| 9923 * @return the type parameters declared for this type | 9660 * @return the type parameters declared for this type |
| 9924 */ | 9661 */ |
| 9925 List<TypeParameterElement> get typeParameters; | 9662 List<TypeParameterElement> get typeParameters; |
| 9926 } | 9663 } |
| 9927 | 9664 |
| 9928 /** | 9665 /** |
| 9929 * The interface `Type` defines the behavior of objects representing the declare
d type of | 9666 * The interface `Type` defines the behavior of objects representing the declare
d type of |
| 9930 * elements in the element model. | 9667 * elements in the element model. |
| 9931 * | |
| 9932 * @coverage dart.engine.type | |
| 9933 */ | 9668 */ |
| 9934 abstract class Type2 { | 9669 abstract class Type2 { |
| 9935 /** | 9670 /** |
| 9936 * Return the name of this type as it should appear when presented to users in
contexts such as | 9671 * Return the name of this type as it should appear when presented to users in
contexts such as |
| 9937 * error messages. | 9672 * error messages. |
| 9938 * | 9673 * |
| 9939 * @return the name of this type | 9674 * @return the name of this type |
| 9940 */ | 9675 */ |
| 9941 String get displayName; | 9676 String get displayName; |
| 9942 | 9677 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10050 * @param argumentTypes the actual type arguments being substituted for the pa
rameters | 9785 * @param argumentTypes the actual type arguments being substituted for the pa
rameters |
| 10051 * @param parameterTypes the parameters to be replaced | 9786 * @param parameterTypes the parameters to be replaced |
| 10052 * @return the result of performing the substitution | 9787 * @return the result of performing the substitution |
| 10053 */ | 9788 */ |
| 10054 Type2 substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes); | 9789 Type2 substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes); |
| 10055 } | 9790 } |
| 10056 | 9791 |
| 10057 /** | 9792 /** |
| 10058 * The interface `TypeParameterType` defines the behavior of objects representin
g the type | 9793 * The interface `TypeParameterType` defines the behavior of objects representin
g the type |
| 10059 * introduced by a type parameter. | 9794 * introduced by a type parameter. |
| 10060 * | |
| 10061 * @coverage dart.engine.type | |
| 10062 */ | 9795 */ |
| 10063 abstract class TypeParameterType implements Type2 { | 9796 abstract class TypeParameterType implements Type2 { |
| 10064 TypeParameterElement get element; | 9797 TypeParameterElement get element; |
| 10065 } | 9798 } |
| 10066 | 9799 |
| 10067 /** | 9800 /** |
| 10068 * The interface `VoidType` defines the behavior of the unique object representi
ng the type | 9801 * The interface `VoidType` defines the behavior of the unique object representi
ng the type |
| 10069 * `void`. | 9802 * `void`. |
| 10070 * | |
| 10071 * @coverage dart.engine.type | |
| 10072 */ | 9803 */ |
| 10073 abstract class VoidType implements Type2 { | 9804 abstract class VoidType implements Type2 { |
| 10074 VoidType substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes); | 9805 VoidType substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes); |
| 10075 } | 9806 } |
| OLD | NEW |