| Index: lib/compiler/implementation/scanner/listener.dart
|
| diff --git a/lib/compiler/implementation/scanner/listener.dart b/lib/compiler/implementation/scanner/listener.dart
|
| index bc1d74c821dbd86ec76d407733952cca394d1ecd..b116b7ea5555c770e19f5af705c868b9ce59aa6b 100644
|
| --- a/lib/compiler/implementation/scanner/listener.dart
|
| +++ b/lib/compiler/implementation/scanner/listener.dart
|
| @@ -1414,7 +1414,7 @@ class NodeListener extends ElementListener {
|
| name = new Send(popNode(), name);
|
| }
|
| handleModifier(startKeyword);
|
| - if (startKeyword.stringValue == 'external') {
|
| + if (startKeyword.stringValue === 'external') {
|
| handleModifier(startKeyword.next);
|
| handleModifiers(2);
|
| } else {
|
| @@ -1495,8 +1495,12 @@ class PartialFunctionElement extends FunctionElement {
|
| cachedNode = patch.parseNode(listener);
|
| return cachedNode;
|
| }
|
| + if (modifiers.isExternal()) {
|
| + listener.cancel("External method without an implementation",
|
| + element: this);
|
| + }
|
| parseFunction(Parser p) {
|
| - if (isMember() && p.optional('factory', beginToken)) {
|
| + if (isMember() && modifiers.isFactory()) {
|
| p.parseFactoryMethod(beginToken);
|
| } else {
|
| p.parseFunction(beginToken, getOrSet);
|
|
|