Chromium Code Reviews| Index: pkg/analyzer/lib/src/generated/ast.dart |
| diff --git a/pkg/analyzer/lib/src/generated/ast.dart b/pkg/analyzer/lib/src/generated/ast.dart |
| index 7a4be39cfc21472f77a205d734a42ed790c4e20b..ebe68a80c2e0986945c5a6b3b8948f5209abeaf6 100644 |
| --- a/pkg/analyzer/lib/src/generated/ast.dart |
| +++ b/pkg/analyzer/lib/src/generated/ast.dart |
| @@ -1245,7 +1245,7 @@ class AstCloner implements AstVisitor<AstNode> { |
| cloneNodeList(node.metadata), cloneToken(node.keyword), |
| cloneNode(node.type), cloneToken(node.thisKeyword), |
| cloneToken(node.period), cloneNode(node.identifier), |
| - cloneNode(node.parameters)); |
| + cloneNode(node.typeParameters), cloneNode(node.parameters)); |
| @override |
| ForEachStatement visitForEachStatement(ForEachStatement node) { |
| @@ -1292,12 +1292,14 @@ class AstCloner implements AstVisitor<AstNode> { |
| @override |
| FunctionExpression visitFunctionExpression(FunctionExpression node) => |
| - new FunctionExpression(cloneNode(node.parameters), cloneNode(node.body)); |
| + new FunctionExpression(cloneNode(node.typeParameters), |
| + cloneNode(node.parameters), cloneNode(node.body)); |
| @override |
| FunctionExpressionInvocation visitFunctionExpressionInvocation( |
| FunctionExpressionInvocation node) => new FunctionExpressionInvocation( |
| - cloneNode(node.function), cloneNode(node.argumentList)); |
| + cloneNode(node.function), cloneNode(node.typeArguments), |
| + cloneNode(node.argumentList)); |
| @override |
| FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => |
| @@ -1312,7 +1314,7 @@ class AstCloner implements AstVisitor<AstNode> { |
| FunctionTypedFormalParameter node) => new FunctionTypedFormalParameter( |
| cloneNode(node.documentationComment), cloneNodeList(node.metadata), |
| cloneNode(node.returnType), cloneNode(node.identifier), |
| - cloneNode(node.parameters)); |
| + cloneNode(node.typeParameters), cloneNode(node.parameters)); |
| @override |
| HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( |
| @@ -1424,13 +1426,14 @@ class AstCloner implements AstVisitor<AstNode> { |
| cloneNodeList(node.metadata), cloneToken(node.externalKeyword), |
| cloneToken(node.modifierKeyword), cloneNode(node.returnType), |
| cloneToken(node.propertyKeyword), cloneToken(node.operatorKeyword), |
| - cloneNode(node.name), cloneNode(node.parameters), |
| - cloneNode(node.body)); |
| + cloneNode(node.name), cloneNode(node.typeParameters), |
| + cloneNode(node.parameters), cloneNode(node.body)); |
| @override |
| MethodInvocation visitMethodInvocation(MethodInvocation node) => |
| new MethodInvocation(cloneNode(node.target), cloneToken(node.operator), |
| - cloneNode(node.methodName), cloneNode(node.argumentList)); |
| + cloneNode(node.methodName), cloneNode(node.typeArguments), |
| + cloneNode(node.argumentList)); |
| @override |
| NamedExpression visitNamedExpression(NamedExpression node) => |
| @@ -7129,7 +7132,7 @@ class FieldDeclaration extends ClassMember { |
| * |
| * > fieldFormalParameter ::= |
| * > ('final' [TypeName] | 'const' [TypeName] | 'var' | [TypeName])? |
| - * > 'this' '.' [SimpleIdentifier] [FormalParameterList]? |
| + * > 'this' '.' [SimpleIdentifier] ([TypeParameterList]? [FormalParameterList])? |
| */ |
| class FieldFormalParameter extends NormalFormalParameter { |
| /** |
| @@ -7155,6 +7158,12 @@ class FieldFormalParameter extends NormalFormalParameter { |
| Token period; |
| /** |
| + * The type parameters associated with the method, or `null` if the method is |
| + * not a generic method. |
| + */ |
| + TypeParameterList _typeParameters; |
| + |
| + /** |
| * The parameters of the function-typed parameter, or `null` if this is not a |
| * function-typed field formal parameter. |
| */ |
| @@ -7171,9 +7180,10 @@ class FieldFormalParameter extends NormalFormalParameter { |
| */ |
| FieldFormalParameter(Comment comment, List<Annotation> metadata, this.keyword, |
| TypeName type, this.thisKeyword, this.period, SimpleIdentifier identifier, |
| - FormalParameterList parameters) |
| + TypeParameterList typeParameters, FormalParameterList parameters) |
| : super(comment, metadata, identifier) { |
| _type = _becomeParentOf(type); |
| + _typeParameters = _becomeParentOf(typeParameters); |
| _parameters = _becomeParentOf(parameters); |
| } |
| @@ -7255,6 +7265,20 @@ class FieldFormalParameter extends NormalFormalParameter { |
| _type = _becomeParentOf(typeName); |
| } |
| + /** |
| + * Return the type parameters associated with this method, or `null` if this |
| + * method is not a generic method. |
| + */ |
| + TypeParameterList get typeParameters => _typeParameters; |
| + |
| + /** |
| + * Set the type parameters associated with this method to the given |
| + * [typeParameters]. |
| + */ |
| + void set typeParameters(TypeParameterList typeParameters) { |
| + _typeParameters = _becomeParentOf(typeParameters); |
| + } |
| + |
| @override |
| accept(AstVisitor visitor) => visitor.visitFieldFormalParameter(this); |
| @@ -7263,6 +7287,7 @@ class FieldFormalParameter extends NormalFormalParameter { |
| super.visitChildren(visitor); |
| _safelyVisitChild(_type, visitor); |
| _safelyVisitChild(identifier, visitor); |
| + _safelyVisitChild(_typeParameters, visitor); |
| _safelyVisitChild(_parameters, visitor); |
| } |
| } |
| @@ -8010,10 +8035,16 @@ class FunctionDeclarationStatement extends Statement { |
| * A function expression. |
| * |
| * > functionExpression ::= |
| - * > [FormalParameterList] [FunctionBody] |
| + * > [TypeParameterList]? [FormalParameterList] [FunctionBody] |
| */ |
| class FunctionExpression extends Expression { |
| /** |
| + * The type parameters associated with the method, or `null` if the method is |
| + * not a generic method. |
| + */ |
| + TypeParameterList _typeParameters; |
| + |
| + /** |
| * The parameters associated with the function. |
| */ |
| FormalParameterList _parameters; |
| @@ -8032,14 +8063,18 @@ class FunctionExpression extends Expression { |
| /** |
| * Initialize a newly created function declaration. |
| */ |
| - FunctionExpression(FormalParameterList parameters, FunctionBody body) { |
| + FunctionExpression(TypeParameterList typeParameters, |
| + FormalParameterList parameters, FunctionBody body) { |
| + _typeParameters = _becomeParentOf(typeParameters); |
| _parameters = _becomeParentOf(parameters); |
| _body = _becomeParentOf(body); |
| } |
| @override |
| Token get beginToken { |
| - if (_parameters != null) { |
| + if (_typeParameters != null) { |
| + return _typeParameters.beginToken; |
| + } else if (_parameters != null) { |
| return _parameters.beginToken; |
| } else if (_body != null) { |
| return _body.beginToken; |
| @@ -8093,11 +8128,26 @@ class FunctionExpression extends Expression { |
| @override |
| int get precedence => 16; |
| + /** |
| + * Return the type parameters associated with this method, or `null` if this |
| + * method is not a generic method. |
| + */ |
| + TypeParameterList get typeParameters => _typeParameters; |
| + |
| + /** |
| + * Set the type parameters associated with this method to the given |
| + * [typeParameters]. |
| + */ |
| + void set typeParameters(TypeParameterList typeParameters) { |
| + _typeParameters = _becomeParentOf(typeParameters); |
| + } |
| + |
| @override |
| accept(AstVisitor visitor) => visitor.visitFunctionExpression(this); |
| @override |
| void visitChildren(AstVisitor visitor) { |
| + _safelyVisitChild(_typeParameters, visitor); |
| _safelyVisitChild(_parameters, visitor); |
| _safelyVisitChild(_body, visitor); |
| } |
| @@ -8110,7 +8160,7 @@ class FunctionExpression extends Expression { |
| * by either [PrefixedIdentifier] or [PropertyAccess] nodes. |
| * |
| * > functionExpressionInvoction ::= |
| - * > [Expression] [ArgumentList] |
| + * > [Expression] [TypeArgumentList]? [ArgumentList] |
| */ |
| class FunctionExpressionInvocation extends Expression { |
| /** |
| @@ -8119,6 +8169,12 @@ class FunctionExpressionInvocation extends Expression { |
| Expression _function; |
| /** |
| + * The type arguments to be applied to the method being invoked, or `null` if |
| + * no type arguments were provided. |
| + */ |
| + TypeArgumentList _typeArguments; |
| + |
| + /** |
| * The list of arguments to the function. |
| */ |
| ArgumentList _argumentList; |
| @@ -8140,8 +8196,10 @@ class FunctionExpressionInvocation extends Expression { |
| /** |
| * Initialize a newly created function expression invocation. |
| */ |
| - FunctionExpressionInvocation(Expression function, ArgumentList argumentList) { |
| + FunctionExpressionInvocation(Expression function, |
| + TypeArgumentList typeArguments, ArgumentList argumentList) { |
| _function = _becomeParentOf(function); |
| + _typeArguments = _becomeParentOf(typeArguments); |
| _argumentList = _becomeParentOf(argumentList); |
| } |
| @@ -8198,12 +8256,27 @@ class FunctionExpressionInvocation extends Expression { |
| @override |
| int get precedence => 15; |
| + /** |
| + * Return the type arguments to be applied to the method being invoked, or |
| + * `null` if no type arguments were provided. |
| + */ |
| + TypeArgumentList get typeArguments => _typeArguments; |
| + |
| + /** |
| + * Set the type arguments to be applied to the method being invoked to the |
| + * given [typeArguments]. |
| + */ |
| + void set typeArguments(TypeArgumentList typeArguments) { |
| + _typeArguments = _becomeParentOf(typeArguments); |
| + } |
| + |
| @override |
| accept(AstVisitor visitor) => visitor.visitFunctionExpressionInvocation(this); |
| @override |
| void visitChildren(AstVisitor visitor) { |
| _safelyVisitChild(_function, visitor); |
| + _safelyVisitChild(_typeArguments, visitor); |
| _safelyVisitChild(_argumentList, visitor); |
| } |
| } |
| @@ -8323,7 +8396,7 @@ class FunctionTypeAlias extends TypeAlias { |
| * A function-typed formal parameter. |
| * |
| * > functionSignature ::= |
| - * > [TypeName]? [SimpleIdentifier] [FormalParameterList] |
| + * > [TypeName]? [SimpleIdentifier] [TypeParameterList]? [FormalParameterList] |
| */ |
| class FunctionTypedFormalParameter extends NormalFormalParameter { |
| /** |
| @@ -8333,6 +8406,12 @@ class FunctionTypedFormalParameter extends NormalFormalParameter { |
| TypeName _returnType; |
| /** |
| + * The type parameters associated with the method, or `null` if the method is |
|
scheglov
2015/06/26 01:33:50
method -> function
Brian Wilkerson
2015/06/26 19:07:34
Done
|
| + * not a generic method. |
| + */ |
| + TypeParameterList _typeParameters; |
| + |
| + /** |
| * The parameters of the function-typed parameter. |
| */ |
| FormalParameterList _parameters; |
| @@ -8345,9 +8424,10 @@ class FunctionTypedFormalParameter extends NormalFormalParameter { |
| */ |
| FunctionTypedFormalParameter(Comment comment, List<Annotation> metadata, |
| TypeName returnType, SimpleIdentifier identifier, |
| - FormalParameterList parameters) |
| + TypeParameterList typeParameters, FormalParameterList parameters) |
| : super(comment, metadata, identifier) { |
| _returnType = _becomeParentOf(returnType); |
| + _typeParameters = _becomeParentOf(typeParameters); |
| _parameters = _becomeParentOf(parameters); |
| } |
| @@ -8398,6 +8478,20 @@ class FunctionTypedFormalParameter extends NormalFormalParameter { |
| _returnType = _becomeParentOf(type); |
| } |
| + /** |
| + * Return the type parameters associated with this method, or `null` if this |
| + * method is not a generic method. |
| + */ |
| + TypeParameterList get typeParameters => _typeParameters; |
|
scheglov
2015/06/26 01:33:49
method -> function
Brian Wilkerson
2015/06/26 19:07:34
Done
|
| + |
| + /** |
| + * Set the type parameters associated with this method to the given |
| + * [typeParameters]. |
| + */ |
| + void set typeParameters(TypeParameterList typeParameters) { |
| + _typeParameters = _becomeParentOf(typeParameters); |
| + } |
| + |
| @override |
| accept(AstVisitor visitor) => visitor.visitFunctionTypedFormalParameter(this); |
| @@ -8406,6 +8500,7 @@ class FunctionTypedFormalParameter extends NormalFormalParameter { |
| super.visitChildren(visitor); |
| _safelyVisitChild(_returnType, visitor); |
| _safelyVisitChild(identifier, visitor); |
| + _safelyVisitChild(_typeParameters, visitor); |
| _safelyVisitChild(_parameters, visitor); |
| } |
| } |
| @@ -9651,7 +9746,7 @@ class IncrementalAstCloner implements AstVisitor<AstNode> { |
| _cloneNodeList(node.metadata), _mapToken(node.keyword), |
| _cloneNode(node.type), _mapToken(node.thisKeyword), |
| _mapToken(node.period), _cloneNode(node.identifier), |
| - _cloneNode(node.parameters)); |
| + _cloneNode(node.typeParameters), _cloneNode(node.parameters)); |
| @override |
| ForEachStatement visitForEachStatement(ForEachStatement node) { |
| @@ -9699,7 +9794,8 @@ class IncrementalAstCloner implements AstVisitor<AstNode> { |
| @override |
| FunctionExpression visitFunctionExpression(FunctionExpression node) { |
| FunctionExpression copy = new FunctionExpression( |
| - _cloneNode(node.parameters), _cloneNode(node.body)); |
| + _cloneNode(node.typeParameters), _cloneNode(node.parameters), |
| + _cloneNode(node.body)); |
| copy.element = node.element; |
| copy.propagatedType = node.propagatedType; |
| copy.staticType = node.staticType; |
| @@ -9710,7 +9806,8 @@ class IncrementalAstCloner implements AstVisitor<AstNode> { |
| FunctionExpressionInvocation visitFunctionExpressionInvocation( |
| FunctionExpressionInvocation node) { |
| FunctionExpressionInvocation copy = new FunctionExpressionInvocation( |
| - _cloneNode(node.function), _cloneNode(node.argumentList)); |
| + _cloneNode(node.function), _cloneNode(node.typeArguments), |
| + _cloneNode(node.argumentList)); |
| copy.propagatedElement = node.propagatedElement; |
| copy.propagatedType = node.propagatedType; |
| copy.staticElement = node.staticElement; |
| @@ -9731,7 +9828,7 @@ class IncrementalAstCloner implements AstVisitor<AstNode> { |
| FunctionTypedFormalParameter node) => new FunctionTypedFormalParameter( |
| _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), |
| _cloneNode(node.returnType), _cloneNode(node.identifier), |
| - _cloneNode(node.parameters)); |
| + _cloneNode(node.typeParameters), _cloneNode(node.parameters)); |
| @override |
| HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( |
| @@ -9873,14 +9970,14 @@ class IncrementalAstCloner implements AstVisitor<AstNode> { |
| _cloneNodeList(node.metadata), _mapToken(node.externalKeyword), |
| _mapToken(node.modifierKeyword), _cloneNode(node.returnType), |
| _mapToken(node.propertyKeyword), _mapToken(node.operatorKeyword), |
| - _cloneNode(node.name), _cloneNode(node.parameters), |
| - _cloneNode(node.body)); |
| + _cloneNode(node.name), _cloneNode(node._typeParameters), |
| + _cloneNode(node.parameters), _cloneNode(node.body)); |
| @override |
| MethodInvocation visitMethodInvocation(MethodInvocation node) { |
| MethodInvocation copy = new MethodInvocation(_cloneNode(node.target), |
| _mapToken(node.operator), _cloneNode(node.methodName), |
| - _cloneNode(node.argumentList)); |
| + _cloneNode(node.typeArguments), _cloneNode(node.argumentList)); |
| copy.propagatedType = node.propagatedType; |
| copy.staticType = node.staticType; |
| return copy; |
| @@ -11416,7 +11513,7 @@ class MapLiteralEntry extends AstNode { |
| * > |
| * > methodSignature ::= |
| * > 'external'? ('abstract' | 'static')? [Type]? ('get' | 'set')? |
| - * > methodName [FormalParameterList] |
| + * > methodName [TypeParameterList] [FormalParameterList] |
| * > |
| * > methodName ::= |
| * > [SimpleIdentifier] |
| @@ -11458,6 +11555,12 @@ class MethodDeclaration extends ClassMember { |
| SimpleIdentifier _name; |
| /** |
| + * The type parameters associated with the method, or `null` if the method is |
| + * not a generic method. |
| + */ |
| + TypeParameterList _typeParameters; |
| + |
| + /** |
| * The parameters associated with the method, or `null` if this method |
| * declares a getter. |
| */ |
| @@ -11482,10 +11585,12 @@ class MethodDeclaration extends ClassMember { |
| MethodDeclaration(Comment comment, List<Annotation> metadata, |
| this.externalKeyword, this.modifierKeyword, TypeName returnType, |
| this.propertyKeyword, this.operatorKeyword, SimpleIdentifier name, |
| - FormalParameterList parameters, FunctionBody body) |
| + TypeParameterList typeParameters, FormalParameterList parameters, |
| + FunctionBody body) |
| : super(comment, metadata) { |
| _returnType = _becomeParentOf(returnType); |
| _name = _becomeParentOf(name); |
| + _typeParameters = _becomeParentOf(typeParameters); |
| _parameters = _becomeParentOf(parameters); |
| _body = _becomeParentOf(body); |
| } |
| @@ -11612,6 +11717,20 @@ class MethodDeclaration extends ClassMember { |
| _returnType = _becomeParentOf(typeName); |
| } |
| + /** |
| + * Return the type parameters associated with this method, or `null` if this |
| + * method is not a generic method. |
| + */ |
| + TypeParameterList get typeParameters => _typeParameters; |
| + |
| + /** |
| + * Set the type parameters associated with this method to the given |
| + * [typeParameters]. |
| + */ |
| + void set typeParameters(TypeParameterList typeParameters) { |
| + _typeParameters = _becomeParentOf(typeParameters); |
| + } |
| + |
| @override |
| accept(AstVisitor visitor) => visitor.visitMethodDeclaration(this); |
| @@ -11620,6 +11739,7 @@ class MethodDeclaration extends ClassMember { |
| super.visitChildren(visitor); |
| _safelyVisitChild(_returnType, visitor); |
| _safelyVisitChild(_name, visitor); |
| + _safelyVisitChild(_typeParameters, visitor); |
| _safelyVisitChild(_parameters, visitor); |
| _safelyVisitChild(_body, visitor); |
| } |
| @@ -11632,7 +11752,7 @@ class MethodDeclaration extends ClassMember { |
| * represented by either [PrefixedIdentifier] or [PropertyAccess] nodes. |
| * |
| * > methodInvoction ::= |
| - * > ([Expression] '.')? [SimpleIdentifier] [ArgumentList] |
| + * > ([Expression] '.')? [SimpleIdentifier] [TypeArgumentList]? [ArgumentList] |
| */ |
| class MethodInvocation extends Expression { |
| /** |
| @@ -11655,6 +11775,12 @@ class MethodInvocation extends Expression { |
| SimpleIdentifier _methodName; |
| /** |
| + * The type arguments to be applied to the method being invoked, or `null` if |
| + * no type arguments were provided. |
| + */ |
| + TypeArgumentList _typeArguments; |
| + |
| + /** |
| * The list of arguments to the method. |
| */ |
| ArgumentList _argumentList; |
| @@ -11664,9 +11790,11 @@ class MethodInvocation extends Expression { |
| * can be `null` if there is no target. |
| */ |
| MethodInvocation(Expression target, this.operator, |
| - SimpleIdentifier methodName, ArgumentList argumentList) { |
| + SimpleIdentifier methodName, TypeArgumentList typeArguments, |
| + ArgumentList argumentList) { |
| _target = _becomeParentOf(target); |
| _methodName = _becomeParentOf(methodName); |
| + _typeArguments = _becomeParentOf(typeArguments); |
| _argumentList = _becomeParentOf(argumentList); |
| } |
| @@ -11783,6 +11911,20 @@ class MethodInvocation extends Expression { |
| _target = _becomeParentOf(expression); |
| } |
| + /** |
| + * Return the type arguments to be applied to the method being invoked, or |
| + * `null` if no type arguments were provided. |
| + */ |
| + TypeArgumentList get typeArguments => _typeArguments; |
| + |
| + /** |
| + * Set the type arguments to be applied to the method being invoked to the |
| + * given [typeArguments]. |
| + */ |
| + void set typeArguments(TypeArgumentList typeArguments) { |
| + _typeArguments = _becomeParentOf(typeArguments); |
| + } |
| + |
| @override |
| accept(AstVisitor visitor) => visitor.visitMethodInvocation(this); |
| @@ -11790,6 +11932,7 @@ class MethodInvocation extends Expression { |
| void visitChildren(AstVisitor visitor) { |
| _safelyVisitChild(_target, visitor); |
| _safelyVisitChild(_methodName, visitor); |
| + _safelyVisitChild(_typeArguments, visitor); |
| _safelyVisitChild(_argumentList, visitor); |
| } |
| } |
| @@ -17766,6 +17909,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
| _visitNodeWithSuffix(node.type, " "); |
| _writer.print("this."); |
| _visitNode(node.identifier); |
| + _visitNode(node.typeParameters); |
| _visitNode(node.parameters); |
| return null; |
| } |
| @@ -17854,6 +17998,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
| @override |
| Object visitFunctionExpression(FunctionExpression node) { |
| + _visitNode(node.typeParameters); |
| _visitNode(node.parameters); |
| _writer.print(' '); |
| _visitNode(node.body); |
| @@ -17863,6 +18008,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
| @override |
| Object visitFunctionExpressionInvocation(FunctionExpressionInvocation node) { |
| _visitNode(node.function); |
| + _visitNode(node.typeArguments); |
| _visitNode(node.argumentList); |
| return null; |
| } |
| @@ -17883,6 +18029,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
| Object visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) { |
| _visitNodeWithSuffix(node.returnType, " "); |
| _visitNode(node.identifier); |
| + _visitNode(node.typeParameters); |
| _visitNode(node.parameters); |
| return null; |
| } |
| @@ -18056,6 +18203,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
| _visitTokenWithSuffix(node.operatorKeyword, " "); |
| _visitNode(node.name); |
| if (!node.isGetter) { |
| + _visitNode(node.typeParameters); |
| _visitNode(node.parameters); |
| } |
| _visitFunctionWithPrefix(" ", node.body); |
| @@ -18073,6 +18221,7 @@ class ToSourceVisitor implements AstVisitor<Object> { |
| } |
| } |
| _visitNode(node.methodName); |
| + _visitNode(node.typeArguments); |
| _visitNode(node.argumentList); |
| return null; |
| } |