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

Side by Side Diff: dart/sdk/lib/_internal/compiler/implementation/elements/elements.dart

Issue 12525007: Record dependency information to implement first version of dependency (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address review comments Created 7 years, 9 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
OLDNEW
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698