Chromium Code Reviews| 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 d3bcceae05a50ab1bdd7ec486e4fa479814c7fa3..365aa3bc9c02124138837225ae60f581e0643b39 100644 |
| --- a/pkg/front_end/lib/src/fasta/parser/parser.dart |
| +++ b/pkg/front_end/lib/src/fasta/parser/parser.dart |
| @@ -2406,6 +2406,13 @@ class Parser { |
| ? MemberKind.StaticMethod |
| : MemberKind.NonStaticMethod); |
| token = parseInitializersOpt(token); |
| + |
| + Token nativeToken; |
| + if (optional('native', token)) { |
| + nativeToken = token; |
| + token = parseNativeClause(nativeToken); |
|
ahe
2017/08/25 09:05:40
I think the problem is how functions bodies are be
|
| + } |
| + |
| AsyncModifier savedAsyncModifier = asyncState; |
| Token asyncToken = token; |
| token = parseAsyncModifier(token); |
| @@ -2416,10 +2423,14 @@ class Parser { |
| token = parseRedirectingFactoryBody(token); |
| } else { |
| token = parseFunctionBody( |
| - token, false, staticModifier == null || externalModifier != null); |
| + token, |
| + false, |
| + staticModifier == null || |
| + externalModifier != null || |
| + nativeToken != null); |
| } |
| asyncState = savedAsyncModifier; |
| - listener.endMethod(getOrSet, start, token); |
| + listener.endMethod(getOrSet, start, nativeToken, token); |
| return token.next; |
| } |