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 |