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

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

Issue 459703002: New analyzer snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 months 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 | « pkg/analyzer/bin/analyzer.dart ('k') | 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
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
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.
7
8 library engine.element_handle;
9
10 import 'ast.dart';
11 import 'element.dart';
12 import 'engine.dart';
13 import 'source.dart';
14 import 'utilities_dart.dart';
15 import 'java_core.dart';
16 import 'java_engine.dart';
17
18 /**
19 * Instances of the class `ClassElementHandle` implement a handle to a `ClassEle ment`.
20 */
21 class ClassElementHandle extends ElementHandle implements ClassElement {
22 /**
23 * Initialize a newly created element handle to represent the given element.
24 *
25 * @param element the element being represented
26 */
27 ClassElementHandle(ClassElement element) : super(element);
28
29 @override
30 List<PropertyAccessorElement> get accessors => actualElement.accessors;
31
32 @override
33 List<InterfaceType> get allSupertypes => actualElement.allSupertypes;
34
35 @override
36 List<ConstructorElement> get constructors => actualElement.constructors;
37
38 @override
39 FieldElement getField(String fieldName) => actualElement.getField(fieldName);
40
41 @override
42 List<FieldElement> get fields => actualElement.fields;
43
44 @override
45 PropertyAccessorElement getGetter(String getterName) => actualElement.getGette r(getterName);
46
47 @override
48 List<InterfaceType> get interfaces => actualElement.interfaces;
49
50 @override
51 ElementKind get kind => ElementKind.CLASS;
52
53 @override
54 MethodElement getMethod(String methodName) => actualElement.getMethod(methodNa me);
55
56 @override
57 List<MethodElement> get methods => actualElement.methods;
58
59 @override
60 List<InterfaceType> get mixins => actualElement.mixins;
61
62 @override
63 ConstructorElement getNamedConstructor(String name) => actualElement.getNamedC onstructor(name);
64
65 @override
66 ClassDeclaration get node => actualElement.node;
67
68 @override
69 PropertyAccessorElement getSetter(String setterName) => actualElement.getSette r(setterName);
70
71 @override
72 InterfaceType get supertype => actualElement.supertype;
73
74 @override
75 List<ToolkitObjectElement> get toolkitObjects => actualElement.toolkitObjects;
76
77 @override
78 InterfaceType get type => actualElement.type;
79
80 @override
81 List<TypeParameterElement> get typeParameters => actualElement.typeParameters;
82
83 @override
84 ConstructorElement get unnamedConstructor => actualElement.unnamedConstructor;
85
86 @override
87 bool get hasNonFinalField => actualElement.hasNonFinalField;
88
89 @override
90 bool get hasReferenceToSuper => actualElement.hasReferenceToSuper;
91
92 @override
93 bool get hasStaticMember => actualElement.hasStaticMember;
94
95 @override
96 bool get isAbstract => actualElement.isAbstract;
97
98 @override
99 bool get isOrInheritsProxy => actualElement.isOrInheritsProxy;
100
101 @override
102 bool get isProxy => actualElement.isProxy;
103
104 @override
105 bool get isTypedef => actualElement.isTypedef;
106
107 @override
108 bool get isValidMixin => actualElement.isValidMixin;
109
110 @override
111 MethodElement lookUpConcreteMethod(String methodName, LibraryElement library) => actualElement.lookUpConcreteMethod(methodName, library);
112
113 @override
114 PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library ) => actualElement.lookUpGetter(getterName, library);
115
116 @override
117 PropertyAccessorElement lookUpInheritedConcreteGetter(String methodName, Libra ryElement library) => actualElement.lookUpInheritedConcreteGetter(methodName, li brary);
118
119 @override
120 MethodElement lookUpInheritedConcreteMethod(String methodName, LibraryElement library) => actualElement.lookUpInheritedConcreteMethod(methodName, library);
121
122 @override
123 PropertyAccessorElement lookUpInheritedConcreteSetter(String methodName, Libra ryElement library) => actualElement.lookUpInheritedConcreteSetter(methodName, li brary);
124
125 @override
126 MethodElement lookUpInheritedMethod(String methodName, LibraryElement library) => actualElement.lookUpInheritedMethod(methodName, library);
127
128 @override
129 MethodElement lookUpMethod(String methodName, LibraryElement library) => actua lElement.lookUpMethod(methodName, library);
130
131 @override
132 PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library ) => actualElement.lookUpSetter(setterName, library);
133
134 @override
135 ClassElement get actualElement => super.actualElement as ClassElement;
136 }
137
138 /**
139 * Instances of the class `CompilationUnitElementHandle` implements a handle to a
140 * [CompilationUnitElement].
141 */
142 class CompilationUnitElementHandle extends ElementHandle implements CompilationU nitElement {
143 /**
144 * Initialize a newly created element handle to represent the given element.
145 *
146 * @param element the element being represented
147 */
148 CompilationUnitElementHandle(CompilationUnitElement element) : super(element);
149
150 @override
151 List<PropertyAccessorElement> get accessors => actualElement.accessors;
152
153 @override
154 List<AngularViewElement> get angularViews => actualElement.angularViews;
155
156 @override
157 LibraryElement get enclosingElement => super.enclosingElement as LibraryElemen t;
158
159 @override
160 ClassElement getEnum(String enumName) => actualElement.getEnum(enumName);
161
162 @override
163 List<ClassElement> get enums => actualElement.enums;
164
165 @override
166 List<FunctionElement> get functions => actualElement.functions;
167
168 @override
169 List<FunctionTypeAliasElement> get functionTypeAliases => actualElement.functi onTypeAliases;
170
171 @override
172 ElementKind get kind => ElementKind.COMPILATION_UNIT;
173
174 @override
175 CompilationUnit get node => actualElement.node;
176
177 @override
178 Source get source => actualElement.source;
179
180 @override
181 List<TopLevelVariableElement> get topLevelVariables => actualElement.topLevelV ariables;
182
183 @override
184 ClassElement getType(String className) => actualElement.getType(className);
185
186 @override
187 List<ClassElement> get types => actualElement.types;
188
189 @override
190 String get uri => actualElement.uri;
191
192 @override
193 int get uriEnd => actualElement.uriEnd;
194
195 @override
196 int get uriOffset => actualElement.uriOffset;
197
198 @override
199 bool get hasLoadLibraryFunction => actualElement.hasLoadLibraryFunction;
200
201 @override
202 CompilationUnitElement get actualElement => super.actualElement as Compilation UnitElement;
203 }
204
205 /**
206 * Instances of the class `ConstructorElementHandle` implement a handle to a
207 * `ConstructorElement`.
208 */
209 class ConstructorElementHandle extends ExecutableElementHandle implements Constr uctorElement {
210 /**
211 * Initialize a newly created element handle to represent the given element.
212 *
213 * @param element the element being represented
214 */
215 ConstructorElementHandle(ConstructorElement element) : super(element);
216
217 @override
218 ClassElement get enclosingElement => actualElement.enclosingElement;
219
220 @override
221 ElementKind get kind => ElementKind.CONSTRUCTOR;
222
223 @override
224 ConstructorDeclaration get node => actualElement.node;
225
226 @override
227 ConstructorElement get redirectedConstructor => actualElement.redirectedConstr uctor;
228
229 @override
230 bool get isConst => actualElement.isConst;
231
232 @override
233 bool get isDefaultConstructor => actualElement.isDefaultConstructor;
234
235 @override
236 bool get isFactory => actualElement.isFactory;
237
238 @override
239 ConstructorElement get actualElement => super.actualElement as ConstructorElem ent;
240 }
241
242 /**
243 * The abstract class `ElementHandle` implements the behavior common to objects that implement
244 * a handle to an [Element].
245 */
246 abstract class ElementHandle implements Element {
247 /**
248 * Return a handle on the given element. If the element is already a handle, t hen it will be
249 * returned directly, otherwise a handle of the appropriate class will be cons tructed.
250 *
251 * @param element the element for which a handle is to be constructed
252 * @return a handle on the given element
253 */
254 static Element forElement(Element element) {
255 if (element is ElementHandle) {
256 return element;
257 }
258 while (true) {
259 if (element.kind == ElementKind.CLASS) {
260 return new ClassElementHandle(element as ClassElement);
261 } else if (element.kind == ElementKind.COMPILATION_UNIT) {
262 return new CompilationUnitElementHandle(element as CompilationUnitElemen t);
263 } else if (element.kind == ElementKind.CONSTRUCTOR) {
264 return new ConstructorElementHandle(element as ConstructorElement);
265 } else if (element.kind == ElementKind.EXPORT) {
266 return new ExportElementHandle(element as ExportElement);
267 } else if (element.kind == ElementKind.FIELD) {
268 return new FieldElementHandle(element as FieldElement);
269 } else if (element.kind == ElementKind.FUNCTION) {
270 return new FunctionElementHandle(element as FunctionElement);
271 } else if (element.kind == ElementKind.GETTER) {
272 return new PropertyAccessorElementHandle(element as PropertyAccessorElem ent);
273 } else if (element.kind == ElementKind.IMPORT) {
274 return new ImportElementHandle(element as ImportElement);
275 } else if (element.kind == ElementKind.LABEL) {
276 return new LabelElementHandle(element as LabelElement);
277 } else if (element.kind == ElementKind.LIBRARY) {
278 return new LibraryElementHandle(element as LibraryElement);
279 } else if (element.kind == ElementKind.LOCAL_VARIABLE) {
280 return new LocalVariableElementHandle(element as LocalVariableElement);
281 } else if (element.kind == ElementKind.METHOD) {
282 return new MethodElementHandle(element as MethodElement);
283 } else if (element.kind == ElementKind.PARAMETER) {
284 return new ParameterElementHandle(element as ParameterElement);
285 } else if (element.kind == ElementKind.PREFIX) {
286 return new PrefixElementHandle(element as PrefixElement);
287 } else if (element.kind == ElementKind.SETTER) {
288 return new PropertyAccessorElementHandle(element as PropertyAccessorElem ent);
289 } else if (element.kind == ElementKind.TOP_LEVEL_VARIABLE) {
290 return new TopLevelVariableElementHandle(element as TopLevelVariableElem ent);
291 } else if (element.kind == ElementKind.FUNCTION_TYPE_ALIAS) {
292 return new FunctionTypeAliasElementHandle(element as FunctionTypeAliasEl ement);
293 } else if (element.kind == ElementKind.TYPE_PARAMETER) {
294 return new TypeParameterElementHandle(element as TypeParameterElement);
295 } else {
296 throw new UnsupportedOperationException();
297 }
298 break;
299 }
300 }
301
302 /**
303 * Return an array of the same size as the given array where each element of t he returned array is
304 * a handle for the corresponding element of the given array.
305 *
306 * @param elements the elements for which handles are to be created
307 * @return an array of handles to the given elements
308 */
309 static List<Element> forElements(List<Element> elements) {
310 int length = elements.length;
311 List<Element> handles = new List<Element>.from(elements);
312 for (int i = 0; i < length; i++) {
313 handles[i] = forElement(elements[i]);
314 }
315 return handles;
316 }
317
318 /**
319 * The context in which the element is defined.
320 */
321 AnalysisContext _context;
322
323 /**
324 * The location of this element, used to reconstitute the element if it has be en garbage
325 * collected.
326 */
327 ElementLocation _location;
328
329 /**
330 * A reference to the element being referenced by this handle, or `null` if th e element has
331 * been garbage collected.
332 */
333 WeakReference<Element> _elementReference;
334
335 /**
336 * Initialize a newly created element handle to represent the given element.
337 *
338 * @param element the element being represented
339 */
340 ElementHandle(Element element) {
341 _context = element.context;
342 _location = element.location;
343 _elementReference = new WeakReference<Element>(element);
344 }
345
346 @override
347 accept(ElementVisitor visitor) => actualElement.accept(visitor);
348
349 @override
350 String computeDocumentationComment() => actualElement.computeDocumentationComm ent();
351
352 @override
353 bool operator ==(Object object) => object is Element && object.location == _lo cation;
354
355 @override
356 Element getAncestor(Predicate<Element> predicate) => actualElement.getAncestor (predicate);
357
358 @override
359 AnalysisContext get context => _context;
360
361 @override
362 String get displayName => actualElement.displayName;
363
364 @override
365 Element get enclosingElement => actualElement.enclosingElement;
366
367 @override
368 String getExtendedDisplayName(String shortName) => actualElement.getExtendedDi splayName(shortName);
369
370 @override
371 LibraryElement get library => getAncestor((element) => element is LibraryEleme nt);
372
373 @override
374 ElementLocation get location => _location;
375
376 @override
377 List<ElementAnnotation> get metadata => actualElement.metadata;
378
379 @override
380 String get name => actualElement.name;
381
382 @override
383 int get nameOffset => actualElement.nameOffset;
384
385 @override
386 AstNode get node => actualElement.node;
387
388 @override
389 Source get source => actualElement.source;
390
391 @override
392 CompilationUnit get unit => actualElement.unit;
393
394 @override
395 int get hashCode => _location.hashCode;
396
397 @override
398 bool isAccessibleIn(LibraryElement library) => actualElement.isAccessibleIn(li brary);
399
400 @override
401 bool get isDeprecated => actualElement.isDeprecated;
402
403 @override
404 bool get isOverride => actualElement.isOverride;
405
406 @override
407 bool get isPrivate => actualElement.isPrivate;
408
409 @override
410 bool get isPublic => actualElement.isPublic;
411
412 @override
413 bool get isSynthetic => actualElement.isSynthetic;
414
415 @override
416 void visitChildren(ElementVisitor visitor) {
417 actualElement.visitChildren(visitor);
418 }
419
420 /**
421 * Return the element being represented by this handle, reconstituting the ele ment if the
422 * reference has been set to `null`.
423 *
424 * @return the element being represented by this handle
425 */
426 Element get actualElement {
427 Element element = _elementReference.get();
428 if (element == null) {
429 element = _context.getElement(_location);
430 _elementReference = new WeakReference<Element>(element);
431 }
432 return element;
433 }
434 }
435
436 /**
437 * The abstract class `ExecutableElementHandle` implements the behavior common t o objects that
438 * implement a handle to an [ExecutableElement].
439 */
440 abstract class ExecutableElementHandle extends ElementHandle implements Executab leElement {
441 /**
442 * Initialize a newly created element handle to represent the given element.
443 *
444 * @param element the element being represented
445 */
446 ExecutableElementHandle(ExecutableElement element) : super(element);
447
448 @override
449 List<FunctionElement> get functions => actualElement.functions;
450
451 @override
452 List<LabelElement> get labels => actualElement.labels;
453
454 @override
455 List<LocalVariableElement> get localVariables => actualElement.localVariables;
456
457 @override
458 List<ParameterElement> get parameters => actualElement.parameters;
459
460 @override
461 DartType get returnType => actualElement.returnType;
462
463 @override
464 FunctionType get type => actualElement.type;
465
466 @override
467 bool get isOperator => actualElement.isOperator;
468
469 @override
470 bool get isStatic => actualElement.isStatic;
471
472 @override
473 ExecutableElement get actualElement => super.actualElement as ExecutableElemen t;
474 }
475
476 /**
477 * Instances of the class `ExportElementHandle` implement a handle to an `Export Element`
478 * .
479 */
480 class ExportElementHandle extends ElementHandle implements ExportElement {
481 /**
482 * Initialize a newly created element handle to represent the given element.
483 *
484 * @param element the element being represented
485 */
486 ExportElementHandle(ExportElement element) : super(element);
487
488 @override
489 List<NamespaceCombinator> get combinators => actualElement.combinators;
490
491 @override
492 LibraryElement get exportedLibrary => actualElement.exportedLibrary;
493
494 @override
495 ElementKind get kind => ElementKind.EXPORT;
496
497 @override
498 String get uri => actualElement.uri;
499
500 @override
501 int get uriEnd => actualElement.uriEnd;
502
503 @override
504 int get uriOffset => actualElement.uriOffset;
505
506 @override
507 ExportElement get actualElement => super.actualElement as ExportElement;
508 }
509
510 /**
511 * Instances of the class `FieldElementHandle` implement a handle to a `FieldEle ment`.
512 */
513 class FieldElementHandle extends PropertyInducingElementHandle implements FieldE lement {
514 /**
515 * Initialize a newly created element handle to represent the given element.
516 *
517 * @param element the element being represented
518 */
519 FieldElementHandle(FieldElement element) : super(element);
520
521 @override
522 ClassElement get enclosingElement => actualElement.enclosingElement;
523
524 @override
525 ElementKind get kind => ElementKind.FIELD;
526
527 @override
528 bool get isStatic => actualElement.isStatic;
529
530 @override
531 FieldElement get actualElement => super.actualElement as FieldElement;
532 }
533
534 /**
535 * Instances of the class `FunctionElementHandle` implement a handle to a
536 * `FunctionElement`.
537 */
538 class FunctionElementHandle extends ExecutableElementHandle implements FunctionE lement {
539 /**
540 * Initialize a newly created element handle to represent the given element.
541 *
542 * @param element the element being represented
543 */
544 FunctionElementHandle(FunctionElement element) : super(element);
545
546 @override
547 ElementKind get kind => ElementKind.FUNCTION;
548
549 @override
550 FunctionDeclaration get node => actualElement.node;
551
552 @override
553 SourceRange get visibleRange => actualElement.visibleRange;
554
555 @override
556 FunctionElement get actualElement => super.actualElement as FunctionElement;
557 }
558
559 /**
560 * Instances of the class `FunctionTypeAliasElementHandle` implement a handle to a
561 * `FunctionTypeAliasElement`.
562 */
563 class FunctionTypeAliasElementHandle extends ElementHandle implements FunctionTy peAliasElement {
564 /**
565 * Initialize a newly created element handle to represent the given element.
566 *
567 * @param element the element being represented
568 */
569 FunctionTypeAliasElementHandle(FunctionTypeAliasElement element) : super(eleme nt);
570
571 @override
572 CompilationUnitElement get enclosingElement => super.enclosingElement as Compi lationUnitElement;
573
574 @override
575 ElementKind get kind => ElementKind.FUNCTION_TYPE_ALIAS;
576
577 @override
578 FunctionTypeAlias get node => actualElement.node;
579
580 @override
581 List<ParameterElement> get parameters => actualElement.parameters;
582
583 @override
584 DartType get returnType => actualElement.returnType;
585
586 @override
587 FunctionType get type => actualElement.type;
588
589 @override
590 List<TypeParameterElement> get typeParameters => actualElement.typeParameters;
591
592 @override
593 FunctionTypeAliasElement get actualElement => super.actualElement as FunctionT ypeAliasElement;
594 }
595
596 /**
597 * Instances of the class `ImportElementHandle` implement a handle to an `Import Element`
598 * .
599 */
600 class ImportElementHandle extends ElementHandle implements ImportElement {
601 /**
602 * Initialize a newly created element handle to represent the given element.
603 *
604 * @param element the element being represented
605 */
606 ImportElementHandle(ImportElement element) : super(element);
607
608 @override
609 List<NamespaceCombinator> get combinators => actualElement.combinators;
610
611 @override
612 LibraryElement get importedLibrary => actualElement.importedLibrary;
613
614 @override
615 ElementKind get kind => ElementKind.IMPORT;
616
617 @override
618 PrefixElement get prefix => actualElement.prefix;
619
620 @override
621 int get prefixOffset => actualElement.prefixOffset;
622
623 @override
624 String get uri => actualElement.uri;
625
626 @override
627 int get uriEnd => actualElement.uriEnd;
628
629 @override
630 int get uriOffset => actualElement.uriOffset;
631
632 @override
633 bool get isDeferred => actualElement.isDeferred;
634
635 @override
636 ImportElement get actualElement => super.actualElement as ImportElement;
637 }
638
639 /**
640 * Instances of the class `LabelElementHandle` implement a handle to a `LabelEle ment`.
641 */
642 class LabelElementHandle extends ElementHandle implements LabelElement {
643 /**
644 * Initialize a newly created element handle to represent the given element.
645 *
646 * @param element the element being represented
647 */
648 LabelElementHandle(LabelElement element) : super(element);
649
650 @override
651 ExecutableElement get enclosingElement => super.enclosingElement as Executable Element;
652
653 @override
654 ElementKind get kind => ElementKind.LABEL;
655 }
656
657 /**
658 * Instances of the class `LibraryElementHandle` implement a handle to a
659 * `LibraryElement`.
660 */
661 class LibraryElementHandle extends ElementHandle implements LibraryElement {
662 /**
663 * Initialize a newly created element handle to represent the given element.
664 *
665 * @param element the element being represented
666 */
667 LibraryElementHandle(LibraryElement element) : super(element);
668
669 @override
670 CompilationUnitElement get definingCompilationUnit => actualElement.definingCo mpilationUnit;
671
672 @override
673 FunctionElement get entryPoint => actualElement.entryPoint;
674
675 @override
676 List<LibraryElement> get exportedLibraries => actualElement.exportedLibraries;
677
678 @override
679 List<ExportElement> get exports => actualElement.exports;
680
681 @override
682 List<LibraryElement> get importedLibraries => actualElement.importedLibraries;
683
684 @override
685 List<ImportElement> get imports => actualElement.imports;
686
687 @override
688 List<ImportElement> getImportsWithPrefix(PrefixElement prefixElement) => actua lElement.getImportsWithPrefix(prefixElement);
689
690 @override
691 ElementKind get kind => ElementKind.LIBRARY;
692
693 @override
694 FunctionElement get loadLibraryFunction => actualElement.loadLibraryFunction;
695
696 @override
697 List<CompilationUnitElement> get parts => actualElement.parts;
698
699 @override
700 List<PrefixElement> get prefixes => actualElement.prefixes;
701
702 @override
703 ClassElement getType(String className) => actualElement.getType(className);
704
705 @override
706 List<CompilationUnitElement> get units => actualElement.units;
707
708 @override
709 List<LibraryElement> get visibleLibraries => actualElement.visibleLibraries;
710
711 @override
712 bool get hasExtUri => actualElement.hasExtUri;
713
714 @override
715 bool get hasLoadLibraryFunction => actualElement.hasLoadLibraryFunction;
716
717 @override
718 bool get isAngularHtml => actualElement.isAngularHtml;
719
720 @override
721 bool get isBrowserApplication => actualElement.isBrowserApplication;
722
723 @override
724 bool get isDartCore => actualElement.isDartCore;
725
726 @override
727 bool get isInSdk => actualElement.isInSdk;
728
729 @override
730 bool isUpToDate(int timeStamp) => actualElement.isUpToDate(timeStamp);
731
732 @override
733 LibraryElement get actualElement => super.actualElement as LibraryElement;
734 }
735
736 /**
737 * Instances of the class `LocalVariableElementHandle` implement a handle to a
738 * `LocalVariableElement`.
739 */
740 class LocalVariableElementHandle extends VariableElementHandle implements LocalV ariableElement {
741 /**
742 * Initialize a newly created element handle to represent the given element.
743 *
744 * @param element the element being represented
745 */
746 LocalVariableElementHandle(LocalVariableElement element) : super(element);
747
748 @override
749 ElementKind get kind => ElementKind.LOCAL_VARIABLE;
750
751 @override
752 List<ToolkitObjectElement> get toolkitObjects => actualElement.toolkitObjects;
753
754 @override
755 SourceRange get visibleRange => actualElement.visibleRange;
756
757 @override
758 LocalVariableElement get actualElement => super.actualElement as LocalVariable Element;
759 }
760
761 /**
762 * Instances of the class `MethodElementHandle` implement a handle to a `MethodE lement`.
763 */
764 class MethodElementHandle extends ExecutableElementHandle implements MethodEleme nt {
765 /**
766 * Initialize a newly created element handle to represent the given element.
767 *
768 * @param element the element being represented
769 */
770 MethodElementHandle(MethodElement element) : super(element);
771
772 @override
773 ClassElement get enclosingElement => super.enclosingElement as ClassElement;
774
775 @override
776 ElementKind get kind => ElementKind.METHOD;
777
778 @override
779 MethodDeclaration get node => actualElement.node;
780
781 @override
782 bool get isAbstract => actualElement.isAbstract;
783
784 @override
785 bool get isStatic => actualElement.isStatic;
786
787 @override
788 MethodElement get actualElement => super.actualElement as MethodElement;
789 }
790
791 /**
792 * Instances of the class `ParameterElementHandle` implement a handle to a
793 * `ParameterElement`.
794 */
795 class ParameterElementHandle extends VariableElementHandle implements ParameterE lement {
796 /**
797 * Initialize a newly created element handle to represent the given element.
798 *
799 * @param element the element being represented
800 */
801 ParameterElementHandle(ParameterElement element) : super(element);
802
803 @override
804 SourceRange get defaultValueRange => actualElement.defaultValueRange;
805
806 @override
807 ElementKind get kind => ElementKind.PARAMETER;
808
809 @override
810 ParameterKind get parameterKind => actualElement.parameterKind;
811
812 @override
813 List<ParameterElement> get parameters => actualElement.parameters;
814
815 @override
816 SourceRange get visibleRange => actualElement.visibleRange;
817
818 @override
819 bool get isInitializingFormal => actualElement.isInitializingFormal;
820
821 @override
822 ParameterElement get actualElement => super.actualElement as ParameterElement;
823 }
824
825 /**
826 * Instances of the class `PrefixElementHandle` implement a handle to a `PrefixE lement`.
827 */
828 class PrefixElementHandle extends ElementHandle implements PrefixElement {
829 /**
830 * Initialize a newly created element handle to represent the given element.
831 *
832 * @param element the element being represented
833 */
834 PrefixElementHandle(PrefixElement element) : super(element);
835
836 @override
837 LibraryElement get enclosingElement => super.enclosingElement as LibraryElemen t;
838
839 @override
840 List<LibraryElement> get importedLibraries => actualElement.importedLibraries;
841
842 @override
843 ElementKind get kind => ElementKind.PREFIX;
844
845 @override
846 PrefixElement get actualElement => super.actualElement as PrefixElement;
847 }
848
849 /**
850 * Instances of the class `PropertyAccessorElementHandle` implement a handle to a
851 * `PropertyAccessorElement`.
852 */
853 class PropertyAccessorElementHandle extends ExecutableElementHandle implements P ropertyAccessorElement {
854 /**
855 * Initialize a newly created element handle to represent the given element.
856 *
857 * @param element the element being represented
858 */
859 PropertyAccessorElementHandle(PropertyAccessorElement element) : super(element );
860
861 @override
862 PropertyAccessorElement get correspondingGetter => actualElement.corresponding Getter;
863
864 @override
865 PropertyAccessorElement get correspondingSetter => actualElement.corresponding Setter;
866
867 @override
868 ElementKind get kind {
869 if (isGetter) {
870 return ElementKind.GETTER;
871 } else {
872 return ElementKind.SETTER;
873 }
874 }
875
876 @override
877 PropertyInducingElement get variable => actualElement.variable;
878
879 @override
880 bool get isAbstract => actualElement.isAbstract;
881
882 @override
883 bool get isGetter => actualElement.isGetter;
884
885 @override
886 bool get isSetter => actualElement.isSetter;
887
888 @override
889 PropertyAccessorElement get actualElement => super.actualElement as PropertyAc cessorElement;
890 }
891
892 /**
893 * The abstract class `PropertyInducingElementHandle` implements the behavior co mmon to
894 * objects that implement a handle to an `PropertyInducingElement`.
895 */
896 abstract class PropertyInducingElementHandle extends VariableElementHandle imple ments PropertyInducingElement {
897 /**
898 * Initialize a newly created element handle to represent the given element.
899 *
900 * @param element the element being represented
901 */
902 PropertyInducingElementHandle(PropertyInducingElement element) : super(element );
903
904 @override
905 PropertyAccessorElement get getter => actualElement.getter;
906
907 @override
908 DartType get propagatedType => actualElement.propagatedType;
909
910 @override
911 PropertyAccessorElement get setter => actualElement.setter;
912
913 @override
914 bool get isStatic => actualElement.isStatic;
915
916 @override
917 PropertyInducingElement get actualElement => super.actualElement as PropertyIn ducingElement;
918 }
919
920 /**
921 * Instances of the class `TopLevelVariableElementHandle` implement a handle to a
922 * `TopLevelVariableElement`.
923 */
924 class TopLevelVariableElementHandle extends PropertyInducingElementHandle implem ents TopLevelVariableElement {
925 /**
926 * Initialize a newly created element handle to represent the given element.
927 *
928 * @param element the element being represented
929 */
930 TopLevelVariableElementHandle(TopLevelVariableElement element) : super(element );
931
932 @override
933 ElementKind get kind => ElementKind.TOP_LEVEL_VARIABLE;
934 }
935
936 /**
937 * Instances of the class `TypeParameterElementHandle` implement a handle to a
938 * [TypeParameterElement].
939 */
940 class TypeParameterElementHandle extends ElementHandle implements TypeParameterE lement {
941 /**
942 * Initialize a newly created element handle to represent the given element.
943 *
944 * @param element the element being represented
945 */
946 TypeParameterElementHandle(TypeParameterElement element) : super(element);
947
948 @override
949 DartType get bound => actualElement.bound;
950
951 @override
952 ElementKind get kind => ElementKind.TYPE_PARAMETER;
953
954 @override
955 TypeParameterType get type => actualElement.type;
956
957 @override
958 TypeParameterElement get actualElement => super.actualElement as TypeParameter Element;
959 }
960
961 /**
962 * The abstract class `VariableElementHandle` implements the behavior common to objects that
963 * implement a handle to an `VariableElement`.
964 */
965 abstract class VariableElementHandle extends ElementHandle implements VariableEl ement {
966 /**
967 * Initialize a newly created element handle to represent the given element.
968 *
969 * @param element the element being represented
970 */
971 VariableElementHandle(VariableElement element) : super(element);
972
973 @override
974 FunctionElement get initializer => actualElement.initializer;
975
976 @override
977 VariableDeclaration get node => actualElement.node;
978
979 @override
980 DartType get type => actualElement.type;
981
982 @override
983 bool get isConst => actualElement.isConst;
984
985 @override
986 bool get isFinal => actualElement.isFinal;
987
988 @override
989 VariableElement get actualElement => super.actualElement as VariableElement;
990 }
991 /**
992 * TODO(scheglov) invalid implementation
993 */
994 class WeakReference<T> {
995 final T value;
996 WeakReference(this.value);
997 T get() => value;
998 }
OLDNEW
« no previous file with comments | « pkg/analyzer/bin/analyzer.dart ('k') | pkg/analyzer/lib/src/generated/engine.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698