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 33c595c6f0f95785295c955280cc73ba18443cf6..73cd841f17493a8d41bf5c8e4b788e7bf1e461e7 100644 |
--- a/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart |
+++ b/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart |
@@ -478,7 +478,8 @@ class AstBuilder extends ScopeListener { |
SimpleIdentifier name = pop(); |
TypeName type = pop(); |
Token keyword = _popOptionalSingleModifier(); |
- pop(); // Metadata. |
+ pop(); // TODO(paulberry): Metadata. |
+ // TODO(paulberry): handle covariant keyword. |
SimpleFormalParameter node = ast.simpleFormalParameter( |
null, null, toAnalyzerToken(keyword), type, name); |
scope[name.name] = name.staticElement = new AnalyzerParameterElement(node); |
@@ -1085,6 +1086,7 @@ class AstBuilder extends ScopeListener { |
toAnalyzerToken(endToken))); |
} |
+ @override |
void endEnum(Token enumKeyword, Token endBrace, int count) { |
debugEvent("Enum"); |
List<EnumConstantDeclaration> constants = popList(count); |
@@ -1107,6 +1109,14 @@ class AstBuilder extends ScopeListener { |
toAnalyzerToken(closeBrace))); |
} |
+ @override |
+ void endTypeArguments(int count, Token beginToken, Token endToken) { |
+ debugEvent("TypeArguments"); |
+ List<TypeAnnotation> arguments = popList(count); |
+ push(ast.typeArgumentList( |
+ toAnalyzerToken(beginToken), arguments, toAnalyzerToken(endToken))); |
+ } |
+ |
/** |
* Pop the modifiers list, if the list is empty return `null`, if the list |
* has one item return it; otherwise return `null`. |