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

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

Issue 12093019: Support type variables on redirecting factory constructors. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. Created 7 years, 6 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 | « no previous file | sdk/lib/_internal/compiler/implementation/elements/modelx.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) 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 'modelx.dart'; 8 import 'modelx.dart';
9 import '../tree/tree.dart'; 9 import '../tree/tree.dart';
10 import '../util/util.dart'; 10 import '../util/util.dart';
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 Element get firstOptionalParameter; 714 Element get firstOptionalParameter;
715 715
716 int get parameterCount; 716 int get parameterCount;
717 List<Element> get orderedOptionalParameters; 717 List<Element> get orderedOptionalParameters;
718 718
719 void forEachParameter(void function(Element parameter)); 719 void forEachParameter(void function(Element parameter));
720 void forEachRequiredParameter(void function(Element parameter)); 720 void forEachRequiredParameter(void function(Element parameter));
721 void forEachOptionalParameter(void function(Element parameter)); 721 void forEachOptionalParameter(void function(Element parameter));
722 722
723 void orderedForEachParameter(void function(Element parameter)); 723 void orderedForEachParameter(void function(Element parameter));
724
725 bool isCompatibleWith(FunctionSignature constructorSignature);
724 } 726 }
725 727
726 abstract class FunctionElement extends Element { 728 abstract class FunctionElement extends Element {
727 FunctionExpression get cachedNode; 729 FunctionExpression get cachedNode;
728 DartType get type; 730 DartType get type;
729 FunctionSignature get functionSignature; 731 FunctionSignature get functionSignature;
730 FunctionElement get redirectionTarget; 732 FunctionElement get redirectionTarget;
731 FunctionElement get defaultImplementation; 733 FunctionElement get defaultImplementation;
732 734
733 FunctionElement get patch; 735 FunctionElement get patch;
734 FunctionElement get origin; 736 FunctionElement get origin;
735 737
738 bool get isRedirectingFactory;
739
736 // TODO(kasperl): These are bit fishy. Do we really need them? 740 // TODO(kasperl): These are bit fishy. Do we really need them?
737 void set patch(FunctionElement value); 741 void set patch(FunctionElement value);
738 void set origin(FunctionElement value); 742 void set origin(FunctionElement value);
739 void set defaultImplementation(FunctionElement value); 743 void set defaultImplementation(FunctionElement value);
740 744
741 void setPatch(FunctionElement patchElement); 745 void setPatch(FunctionElement patchElement);
742 FunctionSignature computeSignature(Compiler compiler); 746 FunctionSignature computeSignature(Compiler compiler);
743 int requiredParameterCount(Compiler compiler); 747 int requiredParameterCount(Compiler compiler);
744 int optionalParameterCount(Compiler compiler); 748 int optionalParameterCount(Compiler compiler);
745 int parameterCount(Compiler compiler); 749 int parameterCount(Compiler compiler);
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 int get resolutionState; 912 int get resolutionState;
909 Token get beginToken; 913 Token get beginToken;
910 Token get endToken; 914 Token get endToken;
911 915
912 // TODO(kasperl): Try to get rid of these. 916 // TODO(kasperl): Try to get rid of these.
913 void set annotatedElement(Element value); 917 void set annotatedElement(Element value);
914 void set resolutionState(int value); 918 void set resolutionState(int value);
915 919
916 MetadataAnnotation ensureResolved(Compiler compiler); 920 MetadataAnnotation ensureResolved(Compiler compiler);
917 } 921 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/_internal/compiler/implementation/elements/modelx.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698