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

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

Issue 1217373005: Generic method support in element model (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 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
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/element_handle.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) 2014, the Dart project authors. Please see the AUTHORS file 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 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 // This code was auto-generated, is not intended to be edited, and is subject to 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. 6 // significant change. Please see the README file for more information.
7 7
8 library engine.element; 8 library engine.element;
9 9
10 import 'dart:collection'; 10 import 'dart:collection';
(...skipping 3575 matching lines...) Expand 10 before | Expand all | Expand 10 after
3586 3586
3587 /** 3587 /**
3588 * Return the return type defined by this executable element. 3588 * Return the return type defined by this executable element.
3589 */ 3589 */
3590 DartType get returnType; 3590 DartType get returnType;
3591 3591
3592 /** 3592 /**
3593 * Return the type of function defined by this executable element. 3593 * Return the type of function defined by this executable element.
3594 */ 3594 */
3595 FunctionType get type; 3595 FunctionType get type;
3596
3597 /**
3598 * Return a list containing all of the type parameters defined for this
3599 * executable element.
3600 */
3601 List<TypeParameterElement> get typeParameters;
3596 } 3602 }
3597 3603
3598 /** 3604 /**
3599 * A base class for concrete implementations of an [ExecutableElement]. 3605 * A base class for concrete implementations of an [ExecutableElement].
3600 */ 3606 */
3601 abstract class ExecutableElementImpl extends ElementImpl 3607 abstract class ExecutableElementImpl extends ElementImpl
3602 implements ExecutableElement { 3608 implements ExecutableElement {
3603 /** 3609 /**
3604 * An empty list of executable elements. 3610 * An empty list of executable elements.
3605 */ 3611 */
(...skipping 17 matching lines...) Expand all
3623 * element. 3629 * element.
3624 */ 3630 */
3625 List<LocalVariableElement> _localVariables = LocalVariableElement.EMPTY_LIST; 3631 List<LocalVariableElement> _localVariables = LocalVariableElement.EMPTY_LIST;
3626 3632
3627 /** 3633 /**
3628 * A list containing all of the parameters defined by this executable element. 3634 * A list containing all of the parameters defined by this executable element.
3629 */ 3635 */
3630 List<ParameterElement> _parameters = ParameterElement.EMPTY_LIST; 3636 List<ParameterElement> _parameters = ParameterElement.EMPTY_LIST;
3631 3637
3632 /** 3638 /**
3639 * A list containing all of the type parameters defined for this function.
scheglov 2015/07/06 15:03:21 "for this executable element"?
Brian Wilkerson 2015/07/09 22:02:27 Done
3640 */
3641 List<TypeParameterElement> _typeParameters = TypeParameterElement.EMPTY_LIST;
3642
3643 /**
3633 * The return type defined by this executable element. 3644 * The return type defined by this executable element.
3634 */ 3645 */
3635 DartType returnType; 3646 DartType returnType;
3636 3647
3637 /** 3648 /**
3638 * The type of function defined by this executable element. 3649 * The type of function defined by this executable element.
3639 */ 3650 */
3640 FunctionType type; 3651 FunctionType type;
3641 3652
3642 /** 3653 /**
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
3739 * [parameters]. 3750 * [parameters].
3740 */ 3751 */
3741 void set parameters(List<ParameterElement> parameters) { 3752 void set parameters(List<ParameterElement> parameters) {
3742 for (ParameterElement parameter in parameters) { 3753 for (ParameterElement parameter in parameters) {
3743 (parameter as ParameterElementImpl).enclosingElement = this; 3754 (parameter as ParameterElementImpl).enclosingElement = this;
3744 } 3755 }
3745 this._parameters = parameters; 3756 this._parameters = parameters;
3746 } 3757 }
3747 3758
3748 @override 3759 @override
3760 List<TypeParameterElement> get typeParameters => _typeParameters;
3761
3762 /**
3763 * Set the type parameters defined by this executable element to the given
3764 * [typeParameters].
3765 */
3766 void set typeParameters(List<TypeParameterElement> typeParameters) {
3767 for (TypeParameterElement parameter in typeParameters) {
3768 (parameter as TypeParameterElementImpl).enclosingElement = this;
3769 }
3770 this._typeParameters = typeParameters;
3771 }
3772
3773 @override
3749 void appendTo(StringBuffer buffer) { 3774 void appendTo(StringBuffer buffer) {
3750 if (this.kind != ElementKind.GETTER) { 3775 if (this.kind != ElementKind.GETTER) {
3776 int typeParameterCount = _typeParameters.length;
3777 if (typeParameterCount > 0) {
3778 buffer.write('<');
3779 for (int i = 0; i < typeParameterCount; i++) {
3780 if (i > 0) {
3781 buffer.write(", ");
3782 }
3783 (_typeParameters[i] as TypeParameterElementImpl).appendTo(buffer);
3784 }
3785 buffer.write('>');
3786 }
3751 buffer.write("("); 3787 buffer.write("(");
3752 String closing = null; 3788 String closing = null;
3753 ParameterKind kind = ParameterKind.REQUIRED; 3789 ParameterKind kind = ParameterKind.REQUIRED;
3754 int parameterCount = _parameters.length; 3790 int parameterCount = _parameters.length;
3755 for (int i = 0; i < parameterCount; i++) { 3791 for (int i = 0; i < parameterCount; i++) {
3756 if (i > 0) { 3792 if (i > 0) {
3757 buffer.write(", "); 3793 buffer.write(", ");
3758 } 3794 }
3759 ParameterElementImpl parameter = _parameters[i] as ParameterElementImpl; 3795 ParameterElementImpl parameter = _parameters[i] as ParameterElementImpl;
3760 ParameterKind parameterKind = parameter.parameterKind; 3796 ParameterKind parameterKind = parameter.parameterKind;
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
3896 return parameterizedParameters; 3932 return parameterizedParameters;
3897 } 3933 }
3898 3934
3899 @override 3935 @override
3900 DartType get returnType => substituteFor(baseElement.returnType); 3936 DartType get returnType => substituteFor(baseElement.returnType);
3901 3937
3902 @override 3938 @override
3903 FunctionType get type => substituteFor(baseElement.type); 3939 FunctionType get type => substituteFor(baseElement.type);
3904 3940
3905 @override 3941 @override
3942 List<TypeParameterElement> get typeParameters => baseElement.typeParameters;
3943
3944 @override
3906 void visitChildren(ElementVisitor visitor) { 3945 void visitChildren(ElementVisitor visitor) {
3907 // TODO(brianwilkerson) We need to finish implementing the accessors used 3946 // TODO(brianwilkerson) We need to finish implementing the accessors used
3908 // below so that we can safely invoke them. 3947 // below so that we can safely invoke them.
3909 super.visitChildren(visitor); 3948 super.visitChildren(visitor);
3910 safelyVisitChildren(baseElement.functions, visitor); 3949 safelyVisitChildren(baseElement.functions, visitor);
3911 safelyVisitChildren(labels, visitor); 3950 safelyVisitChildren(labels, visitor);
3912 safelyVisitChildren(baseElement.localVariables, visitor); 3951 safelyVisitChildren(baseElement.localVariables, visitor);
3913 safelyVisitChildren(parameters, visitor); 3952 safelyVisitChildren(parameters, visitor);
3914 } 3953 }
3915 } 3954 }
(...skipping 4681 matching lines...) Expand 10 before | Expand all | Expand 10 after
8597 */ 8636 */
8598 ParameterKind get parameterKind; 8637 ParameterKind get parameterKind;
8599 8638
8600 /** 8639 /**
8601 * Return a list containing all of the parameters defined by this parameter. 8640 * Return a list containing all of the parameters defined by this parameter.
8602 * A parameter will only define other parameters if it is a function typed 8641 * A parameter will only define other parameters if it is a function typed
8603 * parameter. 8642 * parameter.
8604 */ 8643 */
8605 List<ParameterElement> get parameters; 8644 List<ParameterElement> get parameters;
8606 8645
8646 /**
8647 * Return a list containing all of the type parameters defined by this
8648 * parameter. A parameter will only define other parameters if it is a
8649 * function typed parameter.
8650 */
8651 List<TypeParameterElement> get typeParameters;
8652
8607 @override 8653 @override
8608 FormalParameter computeNode(); 8654 FormalParameter computeNode();
8609 } 8655 }
8610 8656
8611 /** 8657 /**
8612 * A concrete implementation of a [ParameterElement]. 8658 * A concrete implementation of a [ParameterElement].
8613 */ 8659 */
8614 class ParameterElementImpl extends VariableElementImpl 8660 class ParameterElementImpl extends VariableElementImpl
8615 with PotentiallyConstVariableElement implements ParameterElement { 8661 with PotentiallyConstVariableElement implements ParameterElement {
8616 /** 8662 /**
8617 * An empty list of parameter elements. 8663 * An empty list of parameter elements.
8618 */ 8664 */
8619 @deprecated // Use ParameterElement.EMPTY_LIST 8665 @deprecated // Use ParameterElement.EMPTY_LIST
8620 static const List<ParameterElement> EMPTY_ARRAY = const <ParameterElement>[]; 8666 static const List<ParameterElement> EMPTY_ARRAY = const <ParameterElement>[];
8621 8667
8622 /** 8668 /**
8623 * A list containing all of the parameters defined by this parameter element. 8669 * A list containing all of the parameters defined by this parameter element.
8624 * There will only be parameters if this parameter is a function typed 8670 * There will only be parameters if this parameter is a function typed
8625 * parameter. 8671 * parameter.
8626 */ 8672 */
8627 List<ParameterElement> _parameters = ParameterElement.EMPTY_LIST; 8673 List<ParameterElement> _parameters = ParameterElement.EMPTY_LIST;
8628 8674
8629 /** 8675 /**
8676 * A list containing all of the type parameters defined for this parameter
8677 * element. There will only be parameters if this parameter is a function
8678 * typed parameter.
8679 */
8680 List<TypeParameterElement> _typeParameters = TypeParameterElement.EMPTY_LIST;
8681
8682 /**
8630 * The kind of this parameter. 8683 * The kind of this parameter.
8631 */ 8684 */
8632 ParameterKind parameterKind; 8685 ParameterKind parameterKind;
8633 8686
8634 /** 8687 /**
8635 * The Dart code of the default value. 8688 * The Dart code of the default value.
8636 */ 8689 */
8637 String _defaultValueCode; 8690 String _defaultValueCode;
8638 8691
8639 /** 8692 /**
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
8690 * [parameters]. 8743 * [parameters].
8691 */ 8744 */
8692 void set parameters(List<ParameterElement> parameters) { 8745 void set parameters(List<ParameterElement> parameters) {
8693 for (ParameterElement parameter in parameters) { 8746 for (ParameterElement parameter in parameters) {
8694 (parameter as ParameterElementImpl).enclosingElement = this; 8747 (parameter as ParameterElementImpl).enclosingElement = this;
8695 } 8748 }
8696 this._parameters = parameters; 8749 this._parameters = parameters;
8697 } 8750 }
8698 8751
8699 @override 8752 @override
8753 List<TypeParameterElement> get typeParameters => _typeParameters;
8754
8755 /**
8756 * Set the type parameters defined by this executable element to the given
scheglov 2015/07/06 15:03:21 "defined by this parameter element"?
Brian Wilkerson 2015/07/09 22:02:28 Done
8757 * [typeParameters].
8758 */
8759 void set typeParameters(List<TypeParameterElement> typeParameters) {
8760 for (TypeParameterElement parameter in typeParameters) {
8761 (parameter as TypeParameterElementImpl).enclosingElement = this;
8762 }
8763 this._typeParameters = typeParameters;
8764 }
8765
8766 @override
8700 SourceRange get visibleRange { 8767 SourceRange get visibleRange {
8701 if (_visibleRangeLength < 0) { 8768 if (_visibleRangeLength < 0) {
8702 return null; 8769 return null;
8703 } 8770 }
8704 return new SourceRange(_visibleRangeOffset, _visibleRangeLength); 8771 return new SourceRange(_visibleRangeOffset, _visibleRangeLength);
8705 } 8772 }
8706 8773
8707 @override 8774 @override
8708 accept(ElementVisitor visitor) => visitor.visitParameterElement(this); 8775 accept(ElementVisitor visitor) => visitor.visitParameterElement(this);
8709 8776
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
8845 List<ParameterElement> parameterizedParameters = 8912 List<ParameterElement> parameterizedParameters =
8846 new List<ParameterElement>(parameterCount); 8913 new List<ParameterElement>(parameterCount);
8847 for (int i = 0; i < parameterCount; i++) { 8914 for (int i = 0; i < parameterCount; i++) {
8848 parameterizedParameters[i] = 8915 parameterizedParameters[i] =
8849 ParameterMember.from(baseParameters[i], definingType); 8916 ParameterMember.from(baseParameters[i], definingType);
8850 } 8917 }
8851 return parameterizedParameters; 8918 return parameterizedParameters;
8852 } 8919 }
8853 8920
8854 @override 8921 @override
8922 List<TypeParameterElement> get typeParameters => baseElement.typeParameters;
8923
8924 @override
8855 SourceRange get visibleRange => baseElement.visibleRange; 8925 SourceRange get visibleRange => baseElement.visibleRange;
8856 8926
8857 @override 8927 @override
8858 accept(ElementVisitor visitor) => visitor.visitParameterElement(this); 8928 accept(ElementVisitor visitor) => visitor.visitParameterElement(this);
8859 8929
8860 @override 8930 @override
8861 FormalParameter computeNode() => baseElement.computeNode(); 8931 FormalParameter computeNode() => baseElement.computeNode();
8862 8932
8863 @override 8933 @override
8864 Element getAncestor(Predicate<Element> predicate) { 8934 Element getAncestor(Predicate<Element> predicate) {
(...skipping 1773 matching lines...) Expand 10 before | Expand all | Expand 10 after
10638 10708
10639 @override 10709 @override
10640 void visitElement(Element element) { 10710 void visitElement(Element element) {
10641 int offset = element.nameOffset; 10711 int offset = element.nameOffset;
10642 if (offset != -1) { 10712 if (offset != -1) {
10643 map[offset] = element; 10713 map[offset] = element;
10644 } 10714 }
10645 super.visitElement(element); 10715 super.visitElement(element);
10646 } 10716 }
10647 } 10717 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/element_handle.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698