OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 library elements; | 5 library elements; |
6 | 6 |
7 import 'dart:uri'; | 7 import 'dart:uri'; |
8 | 8 |
9 import 'modelx.dart'; | 9 import 'modelx.dart'; |
10 import '../tree/tree.dart'; | 10 import '../tree/tree.dart'; |
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 MessageKind get messageKind; | 497 MessageKind get messageKind; |
498 Map get messageArguments; | 498 Map get messageArguments; |
499 Element get existingElement; | 499 Element get existingElement; |
500 Element get newElement; | 500 Element get newElement; |
501 } | 501 } |
502 | 502 |
503 // TODO(kasperl): This probably shouldn't be called an element. It's | 503 // TODO(kasperl): This probably shouldn't be called an element. It's |
504 // just an interface shared by classes and libraries. | 504 // just an interface shared by classes and libraries. |
505 abstract class ScopeContainerElement { | 505 abstract class ScopeContainerElement { |
506 Element localLookup(SourceString elementName); | 506 Element localLookup(SourceString elementName); |
| 507 |
| 508 void forEachLocalMember(f(Element element)); |
507 } | 509 } |
508 | 510 |
509 abstract class CompilationUnitElement extends Element { | 511 abstract class CompilationUnitElement extends Element { |
510 Script get script; | 512 Script get script; |
511 PartOf get partTag; | 513 PartOf get partTag; |
512 | 514 |
513 void addMember(Element element, DiagnosticListener listener); | 515 void addMember(Element element, DiagnosticListener listener); |
514 void setPartOf(PartOf tag, DiagnosticListener listener); | 516 void setPartOf(PartOf tag, DiagnosticListener listener); |
515 bool get hasMembers; | 517 bool get hasMembers; |
516 } | 518 } |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 | 567 |
566 // TODO(kasperl): Get rid of this method. | 568 // TODO(kasperl): Get rid of this method. |
567 Iterable<Element> getNonPrivateElementsInScope(); | 569 Iterable<Element> getNonPrivateElementsInScope(); |
568 | 570 |
569 void setExports(Iterable<Element> exportedElements); | 571 void setExports(Iterable<Element> exportedElements); |
570 | 572 |
571 Element find(SourceString elementName); | 573 Element find(SourceString elementName); |
572 Element findLocal(SourceString elementName); | 574 Element findLocal(SourceString elementName); |
573 void forEachExport(f(Element element)); | 575 void forEachExport(f(Element element)); |
574 | 576 |
575 void forEachLocalMember(f(Element element)); | |
576 | |
577 bool hasLibraryName(); | 577 bool hasLibraryName(); |
578 String getLibraryOrScriptName(); | 578 String getLibraryOrScriptName(); |
579 } | 579 } |
580 | 580 |
581 abstract class PrefixElement extends Element { | 581 abstract class PrefixElement extends Element { |
582 Map<SourceString, Element> get imported; | 582 Map<SourceString, Element> get imported; |
583 Element lookupLocalMember(SourceString memberName); | 583 Element lookupLocalMember(SourceString memberName); |
584 } | 584 } |
585 | 585 |
586 abstract class TypedefElement extends Element | 586 abstract class TypedefElement extends Element |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 [Element noMatch(Element)]); | 780 [Element noMatch(Element)]); |
781 | 781 |
782 void forEachMember(void f(ClassElement enclosingClass, Element member), | 782 void forEachMember(void f(ClassElement enclosingClass, Element member), |
783 {includeBackendMembers: false, | 783 {includeBackendMembers: false, |
784 includeSuperMembers: false}); | 784 includeSuperMembers: false}); |
785 | 785 |
786 void forEachInstanceField(void f(ClassElement enclosingClass, Element field), | 786 void forEachInstanceField(void f(ClassElement enclosingClass, Element field), |
787 {includeBackendMembers: false, | 787 {includeBackendMembers: false, |
788 includeSuperMembers: false}); | 788 includeSuperMembers: false}); |
789 | 789 |
790 void forEachLocalMember(void f(Element member)); | |
791 void forEachBackendMember(void f(Element member)); | 790 void forEachBackendMember(void f(Element member)); |
792 } | 791 } |
793 | 792 |
794 abstract class MixinApplicationElement extends ClassElement { | 793 abstract class MixinApplicationElement extends ClassElement { |
795 ClassElement get mixin; | 794 ClassElement get mixin; |
796 void set mixin(ClassElement value); | 795 void set mixin(ClassElement value); |
797 } | 796 } |
798 | 797 |
799 abstract class LabelElement extends Element { | 798 abstract class LabelElement extends Element { |
800 Label get label; | 799 Label get label; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 int get resolutionState; | 840 int get resolutionState; |
842 Token get beginToken; | 841 Token get beginToken; |
843 Token get endToken; | 842 Token get endToken; |
844 | 843 |
845 // TODO(kasperl): Try to get rid of these. | 844 // TODO(kasperl): Try to get rid of these. |
846 void set annotatedElement(Element value); | 845 void set annotatedElement(Element value); |
847 void set resolutionState(int value); | 846 void set resolutionState(int value); |
848 | 847 |
849 MetadataAnnotation ensureResolved(Compiler compiler); | 848 MetadataAnnotation ensureResolved(Compiler compiler); |
850 } | 849 } |
OLD | NEW |