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

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

Issue 90713003: Dart2js option to dump info about compilation (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years 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 7
8 import '../tree/tree.dart'; 8 import '../tree/tree.dart';
9 import '../util/util.dart'; 9 import '../util/util.dart';
10 import '../resolution/resolution.dart'; 10 import '../resolution/resolution.dart';
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 } 620 }
621 621
622 // TODO(kasperl): This probably shouldn't be called an element. It's 622 // TODO(kasperl): This probably shouldn't be called an element. It's
623 // just an interface shared by classes and libraries. 623 // just an interface shared by classes and libraries.
624 abstract class ScopeContainerElement implements Element { 624 abstract class ScopeContainerElement implements Element {
625 Element localLookup(String elementName); 625 Element localLookup(String elementName);
626 626
627 void forEachLocalMember(f(Element element)); 627 void forEachLocalMember(f(Element element));
628 } 628 }
629 629
630 abstract class ClosureContainer implements Element {
631 List<FunctionElement> get nestedClosures;
632 }
633
630 abstract class CompilationUnitElement extends Element { 634 abstract class CompilationUnitElement extends Element {
631 Script get script; 635 Script get script;
632 PartOf get partTag; 636 PartOf get partTag;
633 637
634 void forEachLocalMember(f(Element element)); 638 void forEachLocalMember(f(Element element));
635 void addMember(Element element, DiagnosticListener listener); 639 void addMember(Element element, DiagnosticListener listener);
636 void setPartOf(PartOf tag, DiagnosticListener listener); 640 void setPartOf(PartOf tag, DiagnosticListener listener);
637 bool get hasMembers; 641 bool get hasMembers;
638 642
639 int compareTo(CompilationUnitElement other); 643 int compareTo(CompilationUnitElement other);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
725 729
726 bool get isResolved; 730 bool get isResolved;
727 731
728 // TODO(kasperl): Try to get rid of these setters. 732 // TODO(kasperl): Try to get rid of these setters.
729 void set alias(DartType value); 733 void set alias(DartType value);
730 void set functionSignature(FunctionSignature value); 734 void set functionSignature(FunctionSignature value);
731 735
732 void checkCyclicReference(Compiler compiler); 736 void checkCyclicReference(Compiler compiler);
733 } 737 }
734 738
735 abstract class VariableElement extends Element { 739 abstract class VariableElement extends Element implements ClosureContainer {
736 VariableListElement get variables; 740 VariableListElement get variables;
737 741
738 // TODO(kasperl): Try to get rid of this. 742 // TODO(kasperl): Try to get rid of this.
739 Expression get cachedNode; 743 Expression get cachedNode;
740 } 744 }
741 745
742 abstract class FieldParameterElement extends VariableElement { 746 abstract class FieldParameterElement extends VariableElement {
743 VariableElement get fieldElement; 747 VariableElement get fieldElement;
744 } 748 }
745 749
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 782
779 void forEachParameter(void function(Element parameter)); 783 void forEachParameter(void function(Element parameter));
780 void forEachRequiredParameter(void function(Element parameter)); 784 void forEachRequiredParameter(void function(Element parameter));
781 void forEachOptionalParameter(void function(Element parameter)); 785 void forEachOptionalParameter(void function(Element parameter));
782 786
783 void orderedForEachParameter(void function(Element parameter)); 787 void orderedForEachParameter(void function(Element parameter));
784 788
785 bool isCompatibleWith(FunctionSignature constructorSignature); 789 bool isCompatibleWith(FunctionSignature constructorSignature);
786 } 790 }
787 791
788 abstract class FunctionElement extends Element { 792 abstract class FunctionElement extends Element implements ClosureContainer {
789 FunctionExpression get cachedNode; 793 FunctionExpression get cachedNode;
790 DartType get type; 794 DartType get type;
791 FunctionSignature get functionSignature; 795 FunctionSignature get functionSignature;
792 FunctionElement get redirectionTarget; 796 FunctionElement get redirectionTarget;
793 FunctionElement get defaultImplementation; 797 FunctionElement get defaultImplementation;
794 798
795 FunctionElement get patch; 799 FunctionElement get patch;
796 FunctionElement get origin; 800 FunctionElement get origin;
797 801
798 bool get isRedirectingFactory; 802 bool get isRedirectingFactory;
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
983 Token get endToken; 987 Token get endToken;
984 988
985 // TODO(kasperl): Try to get rid of these. 989 // TODO(kasperl): Try to get rid of these.
986 void set annotatedElement(Element value); 990 void set annotatedElement(Element value);
987 void set resolutionState(int value); 991 void set resolutionState(int value);
988 992
989 MetadataAnnotation ensureResolved(Compiler compiler); 993 MetadataAnnotation ensureResolved(Compiler compiler);
990 } 994 }
991 995
992 abstract class VoidElement extends Element {} 996 abstract class VoidElement extends Element {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698