Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(488)

Side by Side Diff: pkg/analyzer/lib/src/generated/element.dart

Issue 730783002: Make constant lists immutable (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/engine.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // This code was auto-generated, is not intended to be edited, and is subject to 5 // This code was auto-generated, is not intended to be edited, and is subject to
6 // significant change. Please see the README file for more information. 6 // significant change. Please see the README file for more information.
7 7
8 library engine.element; 8 library engine.element;
9 9
10 import 'dart:collection'; 10 import 'dart:collection';
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 @override 273 @override
274 String get identifier => "Decorator@$_offset"; 274 String get identifier => "Decorator@$_offset";
275 } 275 }
276 276
277 /** 277 /**
278 * The interface `AngularElement` defines the behavior of objects representing i nformation 278 * The interface `AngularElement` defines the behavior of objects representing i nformation
279 * about an Angular specific element. 279 * about an Angular specific element.
280 */ 280 */
281 abstract class AngularElement implements ToolkitObjectElement { 281 abstract class AngularElement implements ToolkitObjectElement {
282 /** 282 /**
283 * An empty array of Angular elements. 283 * An empty list of Angular elements.
284 */ 284 */
285 static final List<AngularElement> EMPTY_ARRAY = new List<AngularElement>(0); 285 static const List<AngularElement> EMPTY_ARRAY = const <AngularElement>[];
286 286
287 /** 287 /**
288 * Returns the [AngularApplication] this element is used in. 288 * Returns the [AngularApplication] this element is used in.
289 * 289 *
290 * @return the [AngularApplication] this element is used in 290 * @return the [AngularApplication] this element is used in
291 */ 291 */
292 AngularApplication get application; 292 AngularApplication get application;
293 } 293 }
294 294
295 /** 295 /**
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 */ 463 */
464 int get templateUriOffset; 464 int get templateUriOffset;
465 } 465 }
466 466
467 /** 467 /**
468 * The interface `AngularPropertyElement` defines a single property in 468 * The interface `AngularPropertyElement` defines a single property in
469 * [AngularComponentElement]. 469 * [AngularComponentElement].
470 */ 470 */
471 abstract class AngularPropertyElement implements AngularElement { 471 abstract class AngularPropertyElement implements AngularElement {
472 /** 472 /**
473 * An empty array of property elements. 473 * An empty list of property elements.
474 */ 474 */
475 static final List<AngularPropertyElement> EMPTY_ARRAY = <AngularPropertyElemen t>[]; 475 static const List<AngularPropertyElement> EMPTY_ARRAY = const <AngularProperty Element>[];
476 476
477 /** 477 /**
478 * Returns the field this property is mapped to. 478 * Returns the field this property is mapped to.
479 * 479 *
480 * @return the field this property is mapped to. 480 * @return the field this property is mapped to.
481 */ 481 */
482 FieldElement get field; 482 FieldElement get field;
483 483
484 /** 484 /**
485 * Return the offset of the field name of this property in the property map, o r `-1` if 485 * Return the offset of the field name of this property in the property map, o r `-1` if
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 @override 587 @override
588 bool callsGetter() => true; 588 bool callsGetter() => true;
589 } 589 }
590 590
591 /** 591 /**
592 * The interface `AngularScopeVariableElement` defines the Angular <code>Scope</ code> 592 * The interface `AngularScopeVariableElement` defines the Angular <code>Scope</ code>
593 * property. They are created for every <code>scope['property'] = value;</code> code snippet. 593 * property. They are created for every <code>scope['property'] = value;</code> code snippet.
594 */ 594 */
595 abstract class AngularScopePropertyElement implements AngularElement { 595 abstract class AngularScopePropertyElement implements AngularElement {
596 /** 596 /**
597 * An empty array of scope property elements. 597 * An empty list of scope property elements.
598 */ 598 */
599 static final List<AngularScopePropertyElement> EMPTY_ARRAY = <AngularScopeProp ertyElement>[]; 599 static const List<AngularScopePropertyElement> EMPTY_ARRAY = const <AngularSco pePropertyElement>[];
600 600
601 /** 601 /**
602 * Returns the type of this property, not `null`, maybe <code>dynamic</code>. 602 * Returns the type of this property, not `null`, maybe <code>dynamic</code>.
603 * 603 *
604 * @return the type of this property. 604 * @return the type of this property.
605 */ 605 */
606 DartType get type; 606 DartType get type;
607 } 607 }
608 608
609 /** 609 /**
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 @override 688 @override
689 AngularApplication get application => (enclosingElement as AngularElementImpl) .application; 689 AngularApplication get application => (enclosingElement as AngularElementImpl) .application;
690 } 690 }
691 691
692 /** 692 /**
693 * The interface `AngularViewElement` defines the Angular view defined using inv ocation like 693 * The interface `AngularViewElement` defines the Angular view defined using inv ocation like
694 * <code>view('views/create.html')</code>. 694 * <code>view('views/create.html')</code>.
695 */ 695 */
696 abstract class AngularViewElement implements AngularHasTemplateElement { 696 abstract class AngularViewElement implements AngularHasTemplateElement {
697 /** 697 /**
698 * An empty array of view elements. 698 * An empty list of view elements.
699 */ 699 */
700 static final List<AngularViewElement> EMPTY_ARRAY = new List<AngularViewElemen t>(0); 700 static const List<AngularViewElement> EMPTY_ARRAY = const <AngularViewElement> [];
701 } 701 }
702 702
703 /** 703 /**
704 * Implementation of `AngularViewElement`. 704 * Implementation of `AngularViewElement`.
705 */ 705 */
706 class AngularViewElementImpl extends AngularElementImpl implements AngularViewEl ement { 706 class AngularViewElementImpl extends AngularElementImpl implements AngularViewEl ement {
707 /** 707 /**
708 * The HTML template URI. 708 * The HTML template URI.
709 */ 709 */
710 final String templateUri; 710 final String templateUri;
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
1261 * The type defined by the class. 1261 * The type defined by the class.
1262 */ 1262 */
1263 InterfaceType type; 1263 InterfaceType type;
1264 1264
1265 /** 1265 /**
1266 * An array containing all of the type parameters defined for this class. 1266 * An array containing all of the type parameters defined for this class.
1267 */ 1267 */
1268 List<TypeParameterElement> _typeParameters = TypeParameterElementImpl.EMPTY_AR RAY; 1268 List<TypeParameterElement> _typeParameters = TypeParameterElementImpl.EMPTY_AR RAY;
1269 1269
1270 /** 1270 /**
1271 * An empty array of class elements. 1271 * An empty list of class elements.
1272 */ 1272 */
1273 static List<ClassElement> EMPTY_ARRAY = new List<ClassElement>(0); 1273 static const List<ClassElement> EMPTY_ARRAY = const <ClassElement>[];
1274 1274
1275 /** 1275 /**
1276 * Initialize a newly created class element to have the given name. 1276 * Initialize a newly created class element to have the given name.
1277 * 1277 *
1278 * @param name the name of this element 1278 * @param name the name of this element
1279 */ 1279 */
1280 ClassElementImpl.forNode(Identifier name) : super.forNode(name); 1280 ClassElementImpl.forNode(Identifier name) : super.forNode(name);
1281 1281
1282 /** 1282 /**
1283 * Initialize a newly created class element to have the given name. 1283 * Initialize a newly created class element to have the given name.
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
2002 */ 2002 */
2003 bool get hasLoadLibraryFunction; 2003 bool get hasLoadLibraryFunction;
2004 } 2004 }
2005 2005
2006 /** 2006 /**
2007 * Instances of the class `CompilationUnitElementImpl` implement a 2007 * Instances of the class `CompilationUnitElementImpl` implement a
2008 * [CompilationUnitElement]. 2008 * [CompilationUnitElement].
2009 */ 2009 */
2010 class CompilationUnitElementImpl extends UriReferencedElementImpl implements Com pilationUnitElement { 2010 class CompilationUnitElementImpl extends UriReferencedElementImpl implements Com pilationUnitElement {
2011 /** 2011 /**
2012 * An empty array of compilation unit elements. 2012 * An empty list of compilation unit elements.
2013 */ 2013 */
2014 static List<CompilationUnitElement> EMPTY_ARRAY = new List<CompilationUnitElem ent>(0); 2014 static const List<CompilationUnitElement> EMPTY_ARRAY = const <CompilationUnit Element>[];
2015 2015
2016 /** 2016 /**
2017 * The source that corresponds to this compilation unit. 2017 * The source that corresponds to this compilation unit.
2018 */ 2018 */
2019 Source source; 2019 Source source;
2020 2020
2021 /** 2021 /**
2022 * An array containing all of the top-level accessors (getters and setters) co ntained in this 2022 * An array containing all of the top-level accessors (getters and setters) co ntained in this
2023 * compilation unit. 2023 * compilation unit.
2024 */ 2024 */
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
2441 * @return `true` if this constructor represents a factory constructor 2441 * @return `true` if this constructor represents a factory constructor
2442 */ 2442 */
2443 bool get isFactory; 2443 bool get isFactory;
2444 } 2444 }
2445 2445
2446 /** 2446 /**
2447 * Instances of the class `ConstructorElementImpl` implement a `ConstructorEleme nt`. 2447 * Instances of the class `ConstructorElementImpl` implement a `ConstructorEleme nt`.
2448 */ 2448 */
2449 class ConstructorElementImpl extends ExecutableElementImpl implements Constructo rElement { 2449 class ConstructorElementImpl extends ExecutableElementImpl implements Constructo rElement {
2450 /** 2450 /**
2451 * An empty array of constructor elements. 2451 * An empty list of constructor elements.
2452 */ 2452 */
2453 static List<ConstructorElement> EMPTY_ARRAY = new List<ConstructorElement>(0); 2453 static const List<ConstructorElement> EMPTY_ARRAY = const <ConstructorElement> [];
2454 2454
2455 /** 2455 /**
2456 * The constructor to which this constructor is redirecting. 2456 * The constructor to which this constructor is redirecting.
2457 */ 2457 */
2458 ConstructorElement redirectedConstructor; 2458 ConstructorElement redirectedConstructor;
2459 2459
2460 /** 2460 /**
2461 * The initializers for this constructor (used for evaluating constant instanc e creation 2461 * The initializers for this constructor (used for evaluating constant instanc e creation
2462 * expressions). 2462 * expressions).
2463 */ 2463 */
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after
3177 /** 3177 /**
3178 * Instances of the class `ElementAnnotationImpl` implement an [ElementAnnotatio n]. 3178 * Instances of the class `ElementAnnotationImpl` implement an [ElementAnnotatio n].
3179 */ 3179 */
3180 class ElementAnnotationImpl implements ElementAnnotation { 3180 class ElementAnnotationImpl implements ElementAnnotation {
3181 /** 3181 /**
3182 * The element representing the field, variable, or constructor being used as an annotation. 3182 * The element representing the field, variable, or constructor being used as an annotation.
3183 */ 3183 */
3184 final Element element; 3184 final Element element;
3185 3185
3186 /** 3186 /**
3187 * An empty array of annotations. 3187 * An empty list of annotations.
3188 */ 3188 */
3189 static List<ElementAnnotationImpl> EMPTY_ARRAY = new List<ElementAnnotationImp l>(0); 3189 static const List<ElementAnnotationImpl> EMPTY_ARRAY = const <ElementAnnotatio nImpl>[];
3190 3190
3191 /** 3191 /**
3192 * The name of the class used to mark an element as being deprecated. 3192 * The name of the class used to mark an element as being deprecated.
3193 */ 3193 */
3194 static String _DEPRECATED_CLASS_NAME = "Deprecated"; 3194 static String _DEPRECATED_CLASS_NAME = "Deprecated";
3195 3195
3196 /** 3196 /**
3197 * The name of the top-level variable used to mark an element as being depreca ted. 3197 * The name of the top-level variable used to mark an element as being depreca ted.
3198 */ 3198 */
3199 static String _DEPRECATED_VARIABLE_NAME = "deprecated"; 3199 static String _DEPRECATED_VARIABLE_NAME = "deprecated";
(...skipping 993 matching lines...) Expand 10 before | Expand all | Expand 10 after
4193 * The return type defined by this executable element. 4193 * The return type defined by this executable element.
4194 */ 4194 */
4195 DartType returnType; 4195 DartType returnType;
4196 4196
4197 /** 4197 /**
4198 * The type of function defined by this executable element. 4198 * The type of function defined by this executable element.
4199 */ 4199 */
4200 FunctionType type; 4200 FunctionType type;
4201 4201
4202 /** 4202 /**
4203 * An empty array of executable elements. 4203 * An empty list of executable elements.
4204 */ 4204 */
4205 static List<ExecutableElement> EMPTY_ARRAY = new List<ExecutableElement>(0); 4205 static const List<ExecutableElement> EMPTY_ARRAY = const <ExecutableElement>[] ;
4206 4206
4207 /** 4207 /**
4208 * Initialize a newly created executable element to have the given name. 4208 * Initialize a newly created executable element to have the given name.
4209 * 4209 *
4210 * @param name the name of this element 4210 * @param name the name of this element
4211 */ 4211 */
4212 ExecutableElementImpl.forNode(Identifier name) : super.forNode(name); 4212 ExecutableElementImpl.forNode(Identifier name) : super.forNode(name);
4213 4213
4214 /** 4214 /**
4215 * Initialize a newly created executable element to have the given name. 4215 * Initialize a newly created executable element to have the given name.
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
4471 safelyVisitChildren(parameters, visitor); 4471 safelyVisitChildren(parameters, visitor);
4472 } 4472 }
4473 } 4473 }
4474 4474
4475 /** 4475 /**
4476 * The interface `ExportElement` defines the behavior of objects representing in formation 4476 * The interface `ExportElement` defines the behavior of objects representing in formation
4477 * about a single export directive within a library. 4477 * about a single export directive within a library.
4478 */ 4478 */
4479 abstract class ExportElement implements Element, UriReferencedElement { 4479 abstract class ExportElement implements Element, UriReferencedElement {
4480 /** 4480 /**
4481 * An empty array of export elements. 4481 * An empty list of export elements.
4482 */ 4482 */
4483 static final List<ExportElement> EMPTY_ARRAY = new List<ExportElement>(0); 4483 static const List<ExportElement> EMPTY_ARRAY = const <ExportElement>[];
4484 4484
4485 /** 4485 /**
4486 * Return an array containing the combinators that were specified as part of t he export directive 4486 * Return an array containing the combinators that were specified as part of t he export directive
4487 * in the order in which they were specified. 4487 * in the order in which they were specified.
4488 * 4488 *
4489 * @return the combinators specified in the export directive 4489 * @return the combinators specified in the export directive
4490 */ 4490 */
4491 List<NamespaceCombinator> get combinators; 4491 List<NamespaceCombinator> get combinators;
4492 4492
4493 /** 4493 /**
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
4578 * within a type. 4578 * within a type.
4579 */ 4579 */
4580 abstract class FieldElement implements ClassMemberElement, PropertyInducingEleme nt { 4580 abstract class FieldElement implements ClassMemberElement, PropertyInducingEleme nt {
4581 } 4581 }
4582 4582
4583 /** 4583 /**
4584 * Instances of the class `FieldElementImpl` implement a `FieldElement`. 4584 * Instances of the class `FieldElementImpl` implement a `FieldElement`.
4585 */ 4585 */
4586 class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme nt { 4586 class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme nt {
4587 /** 4587 /**
4588 * An empty array of field elements. 4588 * An empty list of field elements.
4589 */ 4589 */
4590 static List<FieldElement> EMPTY_ARRAY = new List<FieldElement>(0); 4590 static const List<FieldElement> EMPTY_ARRAY = const <FieldElement>[];
4591 4591
4592 /** 4592 /**
4593 * Initialize a newly created field element to have the given name. 4593 * Initialize a newly created field element to have the given name.
4594 * 4594 *
4595 * @param name the name of this element 4595 * @param name the name of this element
4596 */ 4596 */
4597 FieldElementImpl.forNode(Identifier name) : super.forNode(name); 4597 FieldElementImpl.forNode(Identifier name) : super.forNode(name);
4598 4598
4599 /** 4599 /**
4600 * Initialize a newly created synthetic field element to have the given name. 4600 * Initialize a newly created synthetic field element to have the given name.
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
4829 */ 4829 */
4830 int _visibleRangeOffset = 0; 4830 int _visibleRangeOffset = 0;
4831 4831
4832 /** 4832 /**
4833 * The length of the visible range for this element, or `-1` if this element d oes not have a 4833 * The length of the visible range for this element, or `-1` if this element d oes not have a
4834 * visible range. 4834 * visible range.
4835 */ 4835 */
4836 int _visibleRangeLength = -1; 4836 int _visibleRangeLength = -1;
4837 4837
4838 /** 4838 /**
4839 * An empty array of function elements. 4839 * An empty list of function elements.
4840 */ 4840 */
4841 static List<FunctionElement> EMPTY_ARRAY = new List<FunctionElement>(0); 4841 static const List<FunctionElement> EMPTY_ARRAY = const <FunctionElement>[];
4842 4842
4843 /** 4843 /**
4844 * Initialize a newly created function element to have the given name. 4844 * Initialize a newly created function element to have the given name.
4845 * 4845 *
4846 * @param name the name of this element 4846 * @param name the name of this element
4847 */ 4847 */
4848 FunctionElementImpl.forNode(Identifier name) : super.forNode(name); 4848 FunctionElementImpl.forNode(Identifier name) : super.forNode(name);
4849 4849
4850 /** 4850 /**
4851 * Initialize a newly created function element to have no name and the given o ffset. This is used 4851 * Initialize a newly created function element to have no name and the given o ffset. This is used
(...skipping 1287 matching lines...) Expand 10 before | Expand all | Expand 10 after
6139 * @return the script elements in the HTML file (not `null`, contains no `null `s) 6139 * @return the script elements in the HTML file (not `null`, contains no `null `s)
6140 */ 6140 */
6141 List<HtmlScriptElement> get scripts; 6141 List<HtmlScriptElement> get scripts;
6142 } 6142 }
6143 6143
6144 /** 6144 /**
6145 * Instances of the class `HtmlElementImpl` implement an [HtmlElement]. 6145 * Instances of the class `HtmlElementImpl` implement an [HtmlElement].
6146 */ 6146 */
6147 class HtmlElementImpl extends ElementImpl implements HtmlElement { 6147 class HtmlElementImpl extends ElementImpl implements HtmlElement {
6148 /** 6148 /**
6149 * An empty array of HTML file elements. 6149 * An empty list of HTML file elements.
6150 */ 6150 */
6151 static List<HtmlElement> EMPTY_ARRAY = new List<HtmlElement>(0); 6151 static const List<HtmlElement> EMPTY_ARRAY = const<HtmlElement>[];
6152 6152
6153 /** 6153 /**
6154 * The analysis context in which this library is defined. 6154 * The analysis context in which this library is defined.
6155 */ 6155 */
6156 final AnalysisContext context; 6156 final AnalysisContext context;
6157 6157
6158 /** 6158 /**
6159 * The scripts contained in or referenced from script tags in the HTML file. 6159 * The scripts contained in or referenced from script tags in the HTML file.
6160 */ 6160 */
6161 List<HtmlScriptElement> _scripts = HtmlScriptElementImpl.EMPTY_ARRAY; 6161 List<HtmlScriptElement> _scripts = HtmlScriptElementImpl.EMPTY_ARRAY;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
6267 * See [EmbeddedHtmlScriptElement], and [ExternalHtmlScriptElement], 6267 * See [EmbeddedHtmlScriptElement], and [ExternalHtmlScriptElement],
6268 */ 6268 */
6269 abstract class HtmlScriptElement implements Element { 6269 abstract class HtmlScriptElement implements Element {
6270 } 6270 }
6271 6271
6272 /** 6272 /**
6273 * Instances of the class `HtmlScriptElementImpl` implement an [HtmlScriptElemen t]. 6273 * Instances of the class `HtmlScriptElementImpl` implement an [HtmlScriptElemen t].
6274 */ 6274 */
6275 abstract class HtmlScriptElementImpl extends ElementImpl implements HtmlScriptEl ement { 6275 abstract class HtmlScriptElementImpl extends ElementImpl implements HtmlScriptEl ement {
6276 /** 6276 /**
6277 * An empty array of HTML script elements. 6277 * An empty list of HTML script elements.
6278 */ 6278 */
6279 static List<HtmlScriptElement> EMPTY_ARRAY = new List<HtmlScriptElement>(0); 6279 static const List<HtmlScriptElement> EMPTY_ARRAY = const <HtmlScriptElement>[] ;
6280 6280
6281 /** 6281 /**
6282 * Initialize a newly created script element to have the specified tag name an d offset. 6282 * Initialize a newly created script element to have the specified tag name an d offset.
6283 * 6283 *
6284 * @param node the XML node from which this element is derived (not `null`) 6284 * @param node the XML node from which this element is derived (not `null`)
6285 */ 6285 */
6286 HtmlScriptElementImpl(XmlTagNode node) : super(node.tag, node.tagToken.offset) ; 6286 HtmlScriptElementImpl(XmlTagNode node) : super(node.tag, node.tagToken.offset) ;
6287 } 6287 }
6288 6288
6289 /** 6289 /**
6290 * The interface `ImportElement` defines the behavior of objects representing in formation 6290 * The interface `ImportElement` defines the behavior of objects representing in formation
6291 * about a single import directive within a library. 6291 * about a single import directive within a library.
6292 */ 6292 */
6293 abstract class ImportElement implements Element, UriReferencedElement { 6293 abstract class ImportElement implements Element, UriReferencedElement {
6294 /** 6294 /**
6295 * An empty array of import elements. 6295 * An empty list of import elements.
6296 */ 6296 */
6297 static final List<ImportElement> EMPTY_ARRAY = new List<ImportElement>(0); 6297 static const List<ImportElement> EMPTY_ARRAY = const<ImportElement>[];
6298 6298
6299 /** 6299 /**
6300 * Return an array containing the combinators that were specified as part of t he import directive 6300 * Return an array containing the combinators that were specified as part of t he import directive
6301 * in the order in which they were specified. 6301 * in the order in which they were specified.
6302 * 6302 *
6303 * @return the combinators specified in the import directive 6303 * @return the combinators specified in the import directive
6304 */ 6304 */
6305 List<NamespaceCombinator> get combinators; 6305 List<NamespaceCombinator> get combinators;
6306 6306
6307 /** 6307 /**
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
6403 @override 6403 @override
6404 String get identifier => "${(importedLibrary as LibraryElementImpl).identifier }@$nameOffset"; 6404 String get identifier => "${(importedLibrary as LibraryElementImpl).identifier }@$nameOffset";
6405 } 6405 }
6406 6406
6407 /** 6407 /**
6408 * The interface `InterfaceType` defines the behavior common to objects represen ting the type 6408 * The interface `InterfaceType` defines the behavior common to objects represen ting the type
6409 * introduced by either a class or an interface, or a reference to such a type. 6409 * introduced by either a class or an interface, or a reference to such a type.
6410 */ 6410 */
6411 abstract class InterfaceType implements ParameterizedType { 6411 abstract class InterfaceType implements ParameterizedType {
6412 /** 6412 /**
6413 * An empty array of types. 6413 * An empty list of types.
6414 */ 6414 */
6415 static final List<InterfaceType> EMPTY_ARRAY = new List<InterfaceType>(0); 6415 static const List<InterfaceType> EMPTY_ARRAY = const <InterfaceType>[];
6416 6416
6417 /** 6417 /**
6418 * Return an array containing all of the accessors (getters and setters) decla red in this type. 6418 * Return an array containing all of the accessors (getters and setters) decla red in this type.
6419 * 6419 *
6420 * @return the accessors declared in this type 6420 * @return the accessors declared in this type
6421 */ 6421 */
6422 List<PropertyAccessorElement> get accessors; 6422 List<PropertyAccessorElement> get accessors;
6423 6423
6424 @override 6424 @override
6425 ClassElement get element; 6425 ClassElement get element;
(...skipping 1070 matching lines...) Expand 10 before | Expand all | Expand 10 after
7496 */ 7496 */
7497 final bool _onSwitchStatement; 7497 final bool _onSwitchStatement;
7498 7498
7499 /** 7499 /**
7500 * A flag indicating whether this label is associated with a `switch` member ( `case` 7500 * A flag indicating whether this label is associated with a `switch` member ( `case`
7501 * or `default`). 7501 * or `default`).
7502 */ 7502 */
7503 final bool _onSwitchMember; 7503 final bool _onSwitchMember;
7504 7504
7505 /** 7505 /**
7506 * An empty array of label elements. 7506 * An empty list of label elements.
7507 */ 7507 */
7508 static List<LabelElement> EMPTY_ARRAY = new List<LabelElement>(0); 7508 static const List<LabelElement> EMPTY_ARRAY = const <LabelElement>[];
7509 7509
7510 /** 7510 /**
7511 * Initialize a newly created label element to have the given name. 7511 * Initialize a newly created label element to have the given name.
7512 * 7512 *
7513 * @param name the name of this element 7513 * @param name the name of this element
7514 * @param onSwitchStatement `true` if this label is associated with a `switch` 7514 * @param onSwitchStatement `true` if this label is associated with a `switch`
7515 * statement 7515 * statement
7516 * @param onSwitchMember `true` if this label is associated with a `switch` me mber 7516 * @param onSwitchMember `true` if this label is associated with a `switch` me mber
7517 */ 7517 */
7518 LabelElementImpl(Identifier name, this._onSwitchStatement, this._onSwitchMembe r) : super.forNode(name); 7518 LabelElementImpl(Identifier name, this._onSwitchStatement, this._onSwitchMembe r) : super.forNode(name);
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
7697 * @return `true` if this library is up to date with respect to the given time stamp 7697 * @return `true` if this library is up to date with respect to the given time stamp
7698 */ 7698 */
7699 bool isUpToDate(int timeStamp); 7699 bool isUpToDate(int timeStamp);
7700 } 7700 }
7701 7701
7702 /** 7702 /**
7703 * Instances of the class `LibraryElementImpl` implement a `LibraryElement`. 7703 * Instances of the class `LibraryElementImpl` implement a `LibraryElement`.
7704 */ 7704 */
7705 class LibraryElementImpl extends ElementImpl implements LibraryElement { 7705 class LibraryElementImpl extends ElementImpl implements LibraryElement {
7706 /** 7706 /**
7707 * An empty array of library elements. 7707 * An empty list of library elements.
7708 */ 7708 */
7709 static List<LibraryElement> EMPTY_ARRAY = new List<LibraryElement>(0); 7709 static const List<LibraryElement> EMPTY_ARRAY = const <LibraryElement>[];
7710 7710
7711 /** 7711 /**
7712 * Determine if the given library is up to date with respect to the given time stamp. 7712 * Determine if the given library is up to date with respect to the given time stamp.
7713 * 7713 *
7714 * @param library the library to process 7714 * @param library the library to process
7715 * @param timeStamp the time stamp to check against 7715 * @param timeStamp the time stamp to check against
7716 * @param visitedLibraries the set of visited libraries 7716 * @param visitedLibraries the set of visited libraries
7717 */ 7717 */
7718 static bool _safeIsUpToDate(LibraryElement library, int timeStamp, Set<Library Element> visitedLibraries) { 7718 static bool _safeIsUpToDate(LibraryElement library, int timeStamp, Set<Library Element> visitedLibraries) {
7719 if (!visitedLibraries.contains(library)) { 7719 if (!visitedLibraries.contains(library)) {
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
8201 */ 8201 */
8202 int _visibleRangeOffset = 0; 8202 int _visibleRangeOffset = 0;
8203 8203
8204 /** 8204 /**
8205 * The length of the visible range for this element, or `-1` if this element d oes not have a 8205 * The length of the visible range for this element, or `-1` if this element d oes not have a
8206 * visible range. 8206 * visible range.
8207 */ 8207 */
8208 int _visibleRangeLength = -1; 8208 int _visibleRangeLength = -1;
8209 8209
8210 /** 8210 /**
8211 * An empty array of field elements. 8211 * An empty list of field elements.
8212 */ 8212 */
8213 static List<LocalVariableElement> EMPTY_ARRAY = new List<LocalVariableElement> (0); 8213 static const List<LocalVariableElement> EMPTY_ARRAY = const <LocalVariableElem ent>[];
8214 8214
8215 /** 8215 /**
8216 * Initialize a newly created local variable element to have the given name. 8216 * Initialize a newly created local variable element to have the given name.
8217 * 8217 *
8218 * @param name the name of this element 8218 * @param name the name of this element
8219 */ 8219 */
8220 LocalVariableElementImpl.forNode(Identifier name) : super.forNode(name); 8220 LocalVariableElementImpl.forNode(Identifier name) : super.forNode(name);
8221 8221
8222 /** 8222 /**
8223 * Initialize a newly created method element to have the given name. 8223 * Initialize a newly created method element to have the given name.
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
8492 * @return `true` if this method is abstract 8492 * @return `true` if this method is abstract
8493 */ 8493 */
8494 bool get isAbstract; 8494 bool get isAbstract;
8495 } 8495 }
8496 8496
8497 /** 8497 /**
8498 * Instances of the class `MethodElementImpl` implement a `MethodElement`. 8498 * Instances of the class `MethodElementImpl` implement a `MethodElement`.
8499 */ 8499 */
8500 class MethodElementImpl extends ExecutableElementImpl implements MethodElement { 8500 class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
8501 /** 8501 /**
8502 * An empty array of method elements. 8502 * An empty list of method elements.
8503 */ 8503 */
8504 static List<MethodElement> EMPTY_ARRAY = new List<MethodElement>(0); 8504 static const List<MethodElement> EMPTY_ARRAY = const <MethodElement>[];
8505 8505
8506 /** 8506 /**
8507 * Initialize a newly created method element to have the given name. 8507 * Initialize a newly created method element to have the given name.
8508 * 8508 *
8509 * @param name the name of this element 8509 * @param name the name of this element
8510 */ 8510 */
8511 MethodElementImpl.forNode(Identifier name) : super.forNode(name); 8511 MethodElementImpl.forNode(Identifier name) : super.forNode(name);
8512 8512
8513 /** 8513 /**
8514 * Initialize a newly created method element to have the given name. 8514 * Initialize a newly created method element to have the given name.
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
9067 this._elements = elements; 9067 this._elements = elements;
9068 } 9068 }
9069 } 9069 }
9070 9070
9071 /** 9071 /**
9072 * The interface `NamespaceCombinator` defines the behavior common to objects th at control how 9072 * The interface `NamespaceCombinator` defines the behavior common to objects th at control how
9073 * namespaces are combined. 9073 * namespaces are combined.
9074 */ 9074 */
9075 abstract class NamespaceCombinator { 9075 abstract class NamespaceCombinator {
9076 /** 9076 /**
9077 * An empty array of namespace combinators. 9077 * An empty list of namespace combinators.
9078 */ 9078 */
9079 static const List<NamespaceCombinator> EMPTY_ARRAY = const <NamespaceCombinato r>[]; 9079 static const List<NamespaceCombinator> EMPTY_ARRAY = const <NamespaceCombinato r>[];
9080 } 9080 }
9081 9081
9082 /** 9082 /**
9083 * The interface `ParameterElement` defines the behavior of elements representin g a parameter 9083 * The interface `ParameterElement` defines the behavior of elements representin g a parameter
9084 * defined within an executable element. 9084 * defined within an executable element.
9085 */ 9085 */
9086 abstract class ParameterElement implements LocalElement, VariableElement { 9086 abstract class ParameterElement implements LocalElement, VariableElement {
9087 /** 9087 /**
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
9139 */ 9139 */
9140 int _visibleRangeOffset = 0; 9140 int _visibleRangeOffset = 0;
9141 9141
9142 /** 9142 /**
9143 * The length of the visible range for this element, or `-1` if this element d oes not have a 9143 * The length of the visible range for this element, or `-1` if this element d oes not have a
9144 * visible range. 9144 * visible range.
9145 */ 9145 */
9146 int _visibleRangeLength = -1; 9146 int _visibleRangeLength = -1;
9147 9147
9148 /** 9148 /**
9149 * An empty array of field elements. 9149 * An empty list of field elements.
9150 */ 9150 */
9151 static List<ParameterElement> EMPTY_ARRAY = new List<ParameterElement>(0); 9151 static const List<ParameterElement> EMPTY_ARRAY = const<ParameterElement>[];
9152 9152
9153 /** 9153 /**
9154 * Initialize a newly created parameter element to have the given name. 9154 * Initialize a newly created parameter element to have the given name.
9155 * 9155 *
9156 * @param name the name of this element 9156 * @param name the name of this element
9157 */ 9157 */
9158 ParameterElementImpl.forNode(Identifier name) : super.forNode(name); 9158 ParameterElementImpl.forNode(Identifier name) : super.forNode(name);
9159 9159
9160 /** 9160 /**
9161 * Initialize a newly created parameter element to have the given name. 9161 * Initialize a newly created parameter element to have the given name.
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
9452 * The interface `PolymerAttributeElement` defines an attribute in 9452 * The interface `PolymerAttributeElement` defines an attribute in
9453 * [PolymerTagHtmlElement]. 9453 * [PolymerTagHtmlElement].
9454 * 9454 *
9455 * <pre> 9455 * <pre>
9456 * <polymer-element name="my-example" attributes='attrA attrB'> 9456 * <polymer-element name="my-example" attributes='attrA attrB'>
9457 * </polymer-element> 9457 * </polymer-element>
9458 * </pre> 9458 * </pre>
9459 */ 9459 */
9460 abstract class PolymerAttributeElement implements PolymerElement { 9460 abstract class PolymerAttributeElement implements PolymerElement {
9461 /** 9461 /**
9462 * An empty array of Polymer custom tag attributes. 9462 * An empty list of Polymer custom tag attributes.
9463 */ 9463 */
9464 static final List<PolymerAttributeElement> EMPTY_ARRAY = new List<PolymerAttri buteElement>(0); 9464 static const List<PolymerAttributeElement> EMPTY_ARRAY = const <PolymerAttribu teElement>[];
9465 9465
9466 /** 9466 /**
9467 * Return the [FieldElement] associated with this attribute. Maybe `null` if 9467 * Return the [FieldElement] associated with this attribute. Maybe `null` if
9468 * [PolymerTagDartElement] does not have a field associated with it. 9468 * [PolymerTagDartElement] does not have a field associated with it.
9469 */ 9469 */
9470 FieldElement get field; 9470 FieldElement get field;
9471 } 9471 }
9472 9472
9473 /** 9473 /**
9474 * Implementation of `PolymerAttributeElement`. 9474 * Implementation of `PolymerAttributeElement`.
(...skipping 19 matching lines...) Expand all
9494 @override 9494 @override
9495 ElementKind get kind => ElementKind.POLYMER_ATTRIBUTE; 9495 ElementKind get kind => ElementKind.POLYMER_ATTRIBUTE;
9496 } 9496 }
9497 9497
9498 /** 9498 /**
9499 * The interface `PolymerElement` defines the behavior of objects representing i nformation 9499 * The interface `PolymerElement` defines the behavior of objects representing i nformation
9500 * about a Polymer specific element. 9500 * about a Polymer specific element.
9501 */ 9501 */
9502 abstract class PolymerElement implements ToolkitObjectElement { 9502 abstract class PolymerElement implements ToolkitObjectElement {
9503 /** 9503 /**
9504 * An empty array of Polymer elements. 9504 * An empty list of Polymer elements.
9505 */ 9505 */
9506 static final List<PolymerElement> EMPTY_ARRAY = new List<PolymerElement>(0); 9506 static const List<PolymerElement> EMPTY_ARRAY = const <PolymerElement>[];
9507 } 9507 }
9508 9508
9509 /** 9509 /**
9510 * Implementation of `PolymerElement`. 9510 * Implementation of `PolymerElement`.
9511 */ 9511 */
9512 abstract class PolymerElementImpl extends ToolkitObjectElementImpl implements Po lymerElement { 9512 abstract class PolymerElementImpl extends ToolkitObjectElementImpl implements Po lymerElement {
9513 /** 9513 /**
9514 * Initialize a newly created Polymer element to have the given name. 9514 * Initialize a newly created Polymer element to have the given name.
9515 * 9515 *
9516 * @param name the name of this element 9516 * @param name the name of this element
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
9576 /** 9576 /**
9577 * The interface `PolymerTagHtmlElement` defines a Polymer custom tag in HTML. 9577 * The interface `PolymerTagHtmlElement` defines a Polymer custom tag in HTML.
9578 * 9578 *
9579 * <pre> 9579 * <pre>
9580 * <polymer-element name="my-example" attributes='attrA attrB'> 9580 * <polymer-element name="my-example" attributes='attrA attrB'>
9581 * </polymer-element> 9581 * </polymer-element>
9582 * </pre> 9582 * </pre>
9583 */ 9583 */
9584 abstract class PolymerTagHtmlElement implements PolymerElement { 9584 abstract class PolymerTagHtmlElement implements PolymerElement {
9585 /** 9585 /**
9586 * An empty array of [PolymerTagHtmlElement]s. 9586 * An empty list of [PolymerTagHtmlElement]s.
9587 */ 9587 */
9588 static final List<PolymerTagHtmlElement> EMPTY_ARRAY = new List<PolymerTagHtml Element>(0); 9588 static const List<PolymerTagHtmlElement> EMPTY_ARRAY = const <PolymerTagHtmlEl ement>[];
9589 9589
9590 /** 9590 /**
9591 * Return an array containing all of the attributes declared by this tag. 9591 * Return an array containing all of the attributes declared by this tag.
9592 */ 9592 */
9593 List<PolymerAttributeElement> get attributes; 9593 List<PolymerAttributeElement> get attributes;
9594 9594
9595 /** 9595 /**
9596 * Return the [PolymerTagDartElement] part on this Polymer custom tag. Maybe ` null` if 9596 * Return the [PolymerTagDartElement] part on this Polymer custom tag. Maybe ` null` if
9597 * it has not been resolved yet or there are no corresponding Dart part define d. 9597 * it has not been resolved yet or there are no corresponding Dart part define d.
9598 */ 9598 */
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
9675 /** 9675 /**
9676 * Instances of the class `PrefixElementImpl` implement a `PrefixElement`. 9676 * Instances of the class `PrefixElementImpl` implement a `PrefixElement`.
9677 */ 9677 */
9678 class PrefixElementImpl extends ElementImpl implements PrefixElement { 9678 class PrefixElementImpl extends ElementImpl implements PrefixElement {
9679 /** 9679 /**
9680 * An array containing all of the libraries that are imported using this prefi x. 9680 * An array containing all of the libraries that are imported using this prefi x.
9681 */ 9681 */
9682 List<LibraryElement> _importedLibraries = LibraryElementImpl.EMPTY_ARRAY; 9682 List<LibraryElement> _importedLibraries = LibraryElementImpl.EMPTY_ARRAY;
9683 9683
9684 /** 9684 /**
9685 * An empty array of prefix elements. 9685 * An empty list of prefix elements.
9686 */ 9686 */
9687 static List<PrefixElement> EMPTY_ARRAY = new List<PrefixElement>(0); 9687 static const List<PrefixElement> EMPTY_ARRAY = const <PrefixElement>[];
9688 9688
9689 /** 9689 /**
9690 * Initialize a newly created prefix element to have the given name. 9690 * Initialize a newly created prefix element to have the given name.
9691 * 9691 *
9692 * @param name the name of this element 9692 * @param name the name of this element
9693 */ 9693 */
9694 PrefixElementImpl.forNode(Identifier name) : super.forNode(name); 9694 PrefixElementImpl.forNode(Identifier name) : super.forNode(name);
9695 9695
9696 /** 9696 /**
9697 * Initialize a newly created method element to have the given name. 9697 * Initialize a newly created method element to have the given name.
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
9803 * Instances of the class `PropertyAccessorElementImpl` implement a 9803 * Instances of the class `PropertyAccessorElementImpl` implement a
9804 * `PropertyAccessorElement`. 9804 * `PropertyAccessorElement`.
9805 */ 9805 */
9806 class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope rtyAccessorElement { 9806 class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope rtyAccessorElement {
9807 /** 9807 /**
9808 * The variable associated with this accessor. 9808 * The variable associated with this accessor.
9809 */ 9809 */
9810 PropertyInducingElement variable; 9810 PropertyInducingElement variable;
9811 9811
9812 /** 9812 /**
9813 * An empty array of property accessor elements. 9813 * An empty list of property accessor elements.
9814 */ 9814 */
9815 static List<PropertyAccessorElement> EMPTY_ARRAY = new List<PropertyAccessorEl ement>(0); 9815 static const List<PropertyAccessorElement> EMPTY_ARRAY = const <PropertyAccess orElement>[];
9816 9816
9817 /** 9817 /**
9818 * Initialize a newly created property accessor element to have the given name . 9818 * Initialize a newly created property accessor element to have the given name .
9819 * 9819 *
9820 * @param name the name of this element 9820 * @param name the name of this element
9821 */ 9821 */
9822 PropertyAccessorElementImpl.forNode(Identifier name) : super.forNode(name); 9822 PropertyAccessorElementImpl.forNode(Identifier name) : super.forNode(name);
9823 9823
9824 /** 9824 /**
9825 * Initialize a newly created synthetic property accessor element to be associ ated with the given 9825 * Initialize a newly created synthetic property accessor element to be associ ated with the given
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
10158 */ 10158 */
10159 PropertyAccessorElement setter; 10159 PropertyAccessorElement setter;
10160 10160
10161 /** 10161 /**
10162 * The propagated type of this variable, or `null` if type propagation has not been 10162 * The propagated type of this variable, or `null` if type propagation has not been
10163 * performed. 10163 * performed.
10164 */ 10164 */
10165 DartType propagatedType; 10165 DartType propagatedType;
10166 10166
10167 /** 10167 /**
10168 * An empty array of elements. 10168 * An empty list of elements.
10169 */ 10169 */
10170 static List<PropertyInducingElement> EMPTY_ARRAY = new List<PropertyInducingEl ement>(0); 10170 static const List<PropertyInducingElement> EMPTY_ARRAY = const <PropertyInduci ngElement>[];
10171 10171
10172 /** 10172 /**
10173 * Initialize a newly created element to have the given name. 10173 * Initialize a newly created element to have the given name.
10174 * 10174 *
10175 * @param name the name of this element 10175 * @param name the name of this element
10176 */ 10176 */
10177 PropertyInducingElementImpl.forNode(Identifier name) : super.forNode(name); 10177 PropertyInducingElementImpl.forNode(Identifier name) : super.forNode(name);
10178 10178
10179 /** 10179 /**
10180 * Initialize a newly created synthetic element to have the given name. 10180 * Initialize a newly created synthetic element to have the given name.
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
10567 R visitTypeParameterElement(TypeParameterElement element) => null; 10567 R visitTypeParameterElement(TypeParameterElement element) => null;
10568 } 10568 }
10569 10569
10570 /** 10570 /**
10571 * The interface `ToolkitObjectElement` defines the behavior of elements that re present a 10571 * The interface `ToolkitObjectElement` defines the behavior of elements that re present a
10572 * toolkit specific object, such as Angular controller or component. These eleme nts are not based on 10572 * toolkit specific object, such as Angular controller or component. These eleme nts are not based on
10573 * the Dart syntax, but on some semantic agreement, such as a special annotation . 10573 * the Dart syntax, but on some semantic agreement, such as a special annotation .
10574 */ 10574 */
10575 abstract class ToolkitObjectElement implements Element { 10575 abstract class ToolkitObjectElement implements Element {
10576 /** 10576 /**
10577 * An empty array of toolkit object elements. 10577 * An empty list of toolkit object elements.
10578 */ 10578 */
10579 static final List<ToolkitObjectElement> EMPTY_ARRAY = new List<ToolkitObjectEl ement>(0); 10579 static const List<ToolkitObjectElement> EMPTY_ARRAY = const <ToolkitObjectElem ent>[];
10580 } 10580 }
10581 10581
10582 /** 10582 /**
10583 * Instances of the class `ToolkitObjectElementImpl` implement a `ToolkitObjectE lement`. 10583 * Instances of the class `ToolkitObjectElementImpl` implement a `ToolkitObjectE lement`.
10584 */ 10584 */
10585 abstract class ToolkitObjectElementImpl extends ElementImpl implements ToolkitOb jectElement { 10585 abstract class ToolkitObjectElementImpl extends ElementImpl implements ToolkitOb jectElement {
10586 /** 10586 /**
10587 * Initialize a newly created toolkit object element to have the given name. 10587 * Initialize a newly created toolkit object element to have the given name.
10588 * 10588 *
10589 * @param name the name of this element 10589 * @param name the name of this element
10590 * @param nameOffset the offset of the name of this element in the file that c ontains the 10590 * @param nameOffset the offset of the name of this element in the file that c ontains the
10591 * declaration of this element 10591 * declaration of this element
10592 */ 10592 */
10593 ToolkitObjectElementImpl(String name, int nameOffset) : super(name, nameOffset ); 10593 ToolkitObjectElementImpl(String name, int nameOffset) : super(name, nameOffset );
10594 } 10594 }
10595 10595
10596 /** 10596 /**
10597 * The interface `TopLevelVariableElement` defines the behavior of elements repr esenting a 10597 * The interface `TopLevelVariableElement` defines the behavior of elements repr esenting a
10598 * top-level variable. 10598 * top-level variable.
10599 */ 10599 */
10600 abstract class TopLevelVariableElement implements PropertyInducingElement { 10600 abstract class TopLevelVariableElement implements PropertyInducingElement {
10601 } 10601 }
10602 10602
10603 /** 10603 /**
10604 * Instances of the class `TopLevelVariableElementImpl` implement a 10604 * Instances of the class `TopLevelVariableElementImpl` implement a
10605 * `TopLevelVariableElement`. 10605 * `TopLevelVariableElement`.
10606 */ 10606 */
10607 class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements TopLevelVariableElement { 10607 class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements TopLevelVariableElement {
10608 /** 10608 /**
10609 * An empty array of top-level variable elements. 10609 * An empty list of top-level variable elements.
10610 */ 10610 */
10611 static List<TopLevelVariableElement> EMPTY_ARRAY = new List<TopLevelVariableEl ement>(0); 10611 static const List<TopLevelVariableElement> EMPTY_ARRAY = const <TopLevelVariab leElement>[];
10612 10612
10613 /** 10613 /**
10614 * Initialize a newly created top-level variable element to have the given nam e. 10614 * Initialize a newly created top-level variable element to have the given nam e.
10615 * 10615 *
10616 * @param name the name of this element 10616 * @param name the name of this element
10617 */ 10617 */
10618 TopLevelVariableElementImpl.forNode(Identifier name) : super.forNode(name); 10618 TopLevelVariableElementImpl.forNode(Identifier name) : super.forNode(name);
10619 10619
10620 /** 10620 /**
10621 * Initialize a newly created synthetic top-level variable element to have the given name. 10621 * Initialize a newly created synthetic top-level variable element to have the given name.
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
10694 * cannot, be associated with an element. 10694 * cannot, be associated with an element.
10695 */ 10695 */
10696 final Element _element; 10696 final Element _element;
10697 10697
10698 /** 10698 /**
10699 * The name of this type, or `null` if the type does not have a name. 10699 * The name of this type, or `null` if the type does not have a name.
10700 */ 10700 */
10701 final String name; 10701 final String name;
10702 10702
10703 /** 10703 /**
10704 * An empty array of types. 10704 * An empty list of types.
10705 */ 10705 */
10706 static List<DartType> EMPTY_ARRAY = new List<DartType>(0); 10706 static const List<DartType> EMPTY_ARRAY = const <DartType>[];
10707 10707
10708 /** 10708 /**
10709 * Initialize a newly created type to be declared by the given element and to have the given name. 10709 * Initialize a newly created type to be declared by the given element and to have the given name.
10710 * 10710 *
10711 * @param element the element representing the declaration of the type 10711 * @param element the element representing the declaration of the type
10712 * @param name the name of the type 10712 * @param name the name of the type
10713 */ 10713 */
10714 TypeImpl(this._element, this.name); 10714 TypeImpl(this._element, this.name);
10715 10715
10716 @override 10716 @override
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
10943 */ 10943 */
10944 TypeParameterType type; 10944 TypeParameterType type;
10945 10945
10946 /** 10946 /**
10947 * The type representing the bound associated with this parameter, or `null` i f this 10947 * The type representing the bound associated with this parameter, or `null` i f this
10948 * parameter does not have an explicit bound. 10948 * parameter does not have an explicit bound.
10949 */ 10949 */
10950 DartType bound; 10950 DartType bound;
10951 10951
10952 /** 10952 /**
10953 * An empty array of type parameter elements. 10953 * An empty list of type parameter elements.
10954 */ 10954 */
10955 static List<TypeParameterElement> EMPTY_ARRAY = new List<TypeParameterElement> (0); 10955 static const List<TypeParameterElement> EMPTY_ARRAY = const <TypeParameterElem ent>[];
10956 10956
10957 /** 10957 /**
10958 * Initialize a newly created type parameter element to have the given name. 10958 * Initialize a newly created type parameter element to have the given name.
10959 * 10959 *
10960 * @param name the name of this element 10960 * @param name the name of this element
10961 */ 10961 */
10962 TypeParameterElementImpl.forNode(Identifier name) : super.forNode(name); 10962 TypeParameterElementImpl.forNode(Identifier name) : super.forNode(name);
10963 10963
10964 /** 10964 /**
10965 * Initialize a newly created method element to have the given name. 10965 * Initialize a newly created method element to have the given name.
(...skipping 28 matching lines...) Expand all
10994 @override 10994 @override
10995 TypeParameterElement get element; 10995 TypeParameterElement get element;
10996 } 10996 }
10997 10997
10998 /** 10998 /**
10999 * Instances of the class `TypeParameterTypeImpl` defines the behavior of object s representing 10999 * Instances of the class `TypeParameterTypeImpl` defines the behavior of object s representing
11000 * the type introduced by a type parameter. 11000 * the type introduced by a type parameter.
11001 */ 11001 */
11002 class TypeParameterTypeImpl extends TypeImpl implements TypeParameterType { 11002 class TypeParameterTypeImpl extends TypeImpl implements TypeParameterType {
11003 /** 11003 /**
11004 * An empty array of type parameter types. 11004 * An empty list of type parameter types.
11005 */ 11005 */
11006 static List<TypeParameterType> EMPTY_ARRAY = new List<TypeParameterType>(0); 11006 static const List<TypeParameterType> EMPTY_ARRAY = const <TypeParameterType>[] ;
11007 11007
11008 /** 11008 /**
11009 * Return an array containing the type parameter types defined by the given ar ray of type 11009 * Return an array containing the type parameter types defined by the given ar ray of type
11010 * parameter elements. 11010 * parameter elements.
11011 * 11011 *
11012 * @param typeParameters the type parameter elements defining the type paramet er types to be 11012 * @param typeParameters the type parameter elements defining the type paramet er types to be
11013 * returned 11013 * returned
11014 * @return the type parameter types defined by the type parameter elements 11014 * @return the type parameter types defined by the type parameter elements
11015 */ 11015 */
11016 static List<TypeParameterType> getTypes(List<TypeParameterElement> typeParamet ers) { 11016 static List<TypeParameterType> getTypes(List<TypeParameterElement> typeParamet ers) {
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
11518 */ 11518 */
11519 DartType type; 11519 DartType type;
11520 11520
11521 /** 11521 /**
11522 * A synthetic function representing this variable's initializer, or `null` if this variable 11522 * A synthetic function representing this variable's initializer, or `null` if this variable
11523 * does not have an initializer. 11523 * does not have an initializer.
11524 */ 11524 */
11525 FunctionElement _initializer; 11525 FunctionElement _initializer;
11526 11526
11527 /** 11527 /**
11528 * An empty array of variable elements. 11528 * An empty list of variable elements.
11529 */ 11529 */
11530 static List<VariableElement> EMPTY_ARRAY = new List<VariableElement>(0); 11530 static const List<VariableElement> EMPTY_ARRAY = const <VariableElement>[];
11531 11531
11532 /** 11532 /**
11533 * Initialize a newly created variable element to have the given name. 11533 * Initialize a newly created variable element to have the given name.
11534 * 11534 *
11535 * @param name the name of this element 11535 * @param name the name of this element
11536 */ 11536 */
11537 VariableElementImpl.forNode(Identifier name) : super.forNode(name); 11537 VariableElementImpl.forNode(Identifier name) : super.forNode(name);
11538 11538
11539 /** 11539 /**
11540 * Initialize a newly created variable element to have the given name. 11540 * Initialize a newly created variable element to have the given name.
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
11739 if (type is UnionType) { 11739 if (type is UnionType) {
11740 return (type as UnionTypeImpl).internalUnionTypeIsSuperTypeOf(this, visite dTypePairs); 11740 return (type as UnionTypeImpl).internalUnionTypeIsSuperTypeOf(this, visite dTypePairs);
11741 } 11741 }
11742 // The only subtype relations that pertain to void are therefore: 11742 // The only subtype relations that pertain to void are therefore:
11743 // void <: void (by reflexivity) 11743 // void <: void (by reflexivity)
11744 // bottom <: void (as bottom is a subtype of all types). 11744 // bottom <: void (as bottom is a subtype of all types).
11745 // void <: dynamic (as dynamic is a supertype of all types) 11745 // void <: dynamic (as dynamic is a supertype of all types)
11746 return identical(type, this) || type.isDynamic; 11746 return identical(type, this) || type.isDynamic;
11747 } 11747 }
11748 } 11748 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/engine.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698