Index: pkg/front_end/lib/src/fasta/parser/parser.dart |
diff --git a/pkg/front_end/lib/src/fasta/parser/parser.dart b/pkg/front_end/lib/src/fasta/parser/parser.dart |
index 19512820017d87d353339ceba1ae7bad30986160..4354aca87f5304d67394d581ca966cf41ae6e14e 100644 |
--- a/pkg/front_end/lib/src/fasta/parser/parser.dart |
+++ b/pkg/front_end/lib/src/fasta/parser/parser.dart |
@@ -462,7 +462,7 @@ class Parser { |
return expect(')', token); |
} |
- Token parseFormalParameter(Token token, FormalParameterType type) { |
+ Token parseFormalParameter(Token token, FormalParameterType kind) { |
token = parseMetadataStar(token, forParameter: true); |
listener.beginFormalParameter(token); |
@@ -502,15 +502,17 @@ class Parser { |
Token equal = token; |
token = parseExpression(token.next); |
listener.handleValuedFormalParameter(equal, token); |
- if (type.isRequired) { |
+ if (kind.isRequired) { |
reportRecoverableError( |
equal, ErrorKind.RequiredParameterWithDefault); |
- } else if (type.isPositional && identical(':', value)) { |
+ } else if (kind.isPositional && identical(':', value)) { |
reportRecoverableError( |
equal, ErrorKind.PositionalParameterWithEquals); |
} |
+ } else { |
+ listener.handleFormalParameterWithoutValue(token); |
} |
- listener.endFormalParameter(thisKeyword); |
+ listener.endFormalParameter(thisKeyword, kind); |
return token; |
} |