Chromium Code Reviews| Index: pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart |
| diff --git a/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart b/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart |
| index 92d8f84a9ed18bee731608e28b95a116e7eac103..b4aca8023384ce4a70108babd050612e9ada31a6 100644 |
| --- a/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart |
| +++ b/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart |
| @@ -1018,6 +1018,52 @@ class AstBuilder extends ScopeListener { |
| push(ast.typeParameterList(toAnalyzerToken(beginToken), typeParameters, |
| toAnalyzerToken(endToken))); |
| } |
| + |
| + void endMethod(Token getOrSet, Token beginToken, Token endToken) { |
|
scheglov
2017/02/21 20:17:27
@override
Paul Berry
2017/02/21 20:24:03
Done.
|
| + debugEvent("Method"); |
| + FunctionBody body = _endFunctionBody(); |
| + ConstructorName redirectedConstructor = null; // TODO(paulberry) |
| + List<ConstructorInitializer> initializers = null; // TODO(paulberry) |
| + Token separator = null; // TODO(paulberry) |
| + FormalParameterList parameters = pop(); |
| + TypeParameterList typeParameters = pop(); |
| + var name = pop(); |
| + analyzer.Token propertyKeyword = toAnalyzerToken(getOrSet); |
| + TypeAnnotation returnType = pop(); |
| + // TODO(paulberry): handle modifiers. |
| + var modifiers = pop(); |
| + assert(modifiers == null); |
| + Token externalKeyword = null; // TODO(paulberry) |
| + Token constKeyword = null; // TODO(paulberry) |
| + Token factoryKeyword = null; // TODO(paulberry) |
| + List<Annotation> metadata = pop(); |
| + // TODO(paulberry): capture doc comments. |
| + Comment comment = null; |
| + SimpleIdentifier returnType2; |
| + Token period; |
| + SimpleIdentifier name2; |
| + if (name is SimpleIdentifier) { |
| + SimpleIdentifier returnType2 = name; |
|
ahe
2017/02/22 11:30:38
There's a few hints introduced with this change. C
Paul Berry
2017/02/22 16:37:12
Fair enough. I will follow up with a fix.
|
| + } |
| + push(ast.constructorDeclaration( |
| + comment, |
| + metadata, |
| + toAnalyzerToken(externalKeyword), |
| + toAnalyzerToken(constKeyword), |
| + toAnalyzerToken(factoryKeyword), |
| + returnType2, |
| + toAnalyzerToken(period), |
| + name2, |
| + parameters, |
| + toAnalyzerToken(separator), |
| + initializers, |
| + redirectedConstructor, |
| + body)); |
| + } |
| + |
| + void endMember() { |
|
scheglov
2017/02/21 20:17:27
@override
Paul Berry
2017/02/21 20:24:03
Done.
|
| + debugEvent("Member"); |
| + } |
| } |
| /// Data structure placed on the stack to represent a class body. |