| Index: dart/lib/compiler/implementation/scanner/listener.dart
|
| diff --git a/dart/lib/compiler/implementation/scanner/listener.dart b/dart/lib/compiler/implementation/scanner/listener.dart
|
| index cb986b4c08dd3bb63de7d14563f296751fc893ac..72a03b3d7f7f4cbdb3dcdf6d6c2fca3c83e4f91f 100644
|
| --- a/dart/lib/compiler/implementation/scanner/listener.dart
|
| +++ b/dart/lib/compiler/implementation/scanner/listener.dart
|
| @@ -1459,9 +1459,14 @@ class PartialFunctionElement extends FunctionElement {
|
|
|
| FunctionExpression parseNode(DiagnosticListener listener) {
|
| if (cachedNode != null) return cachedNode;
|
| - cachedNode = parse(listener,
|
| - getCompilationUnit(),
|
| - (p) => p.parseFunction(beginToken, getOrSet));
|
| + Node parseFunction(Parser p) {
|
| + if (isMember() && p.optional('factory', beginToken)) {
|
| + return p.parseFactoryMethod(beginToken);
|
| + } else {
|
| + return p.parseFunction(beginToken, getOrSet);
|
| + }
|
| + }
|
| + cachedNode = parse(listener, getCompilationUnit(), parseFunction);
|
| return cachedNode;
|
| }
|
|
|
|
|