| Index: dart/frog/leg/scanner/listener.dart
|
| diff --git a/dart/frog/leg/scanner/listener.dart b/dart/frog/leg/scanner/listener.dart
|
| index c5fca0377678016a69e3eca43621f79ba179cba1..dd4f7c0a28f4d99185dc5a6af65bc5229ecea780 100644
|
| --- a/dart/frog/leg/scanner/listener.dart
|
| +++ b/dart/frog/leg/scanner/listener.dart
|
| @@ -470,9 +470,6 @@ class ElementListener extends Listener {
|
| Token endToken) {
|
| NodeList interfaces =
|
| makeNodeList(interfacesCount, implementsKeyword, null, ",");
|
| - if (interfacesCount !== 0) {
|
| - canceler.cancel('interfaces are not implemented', node: interfaces);
|
| - }
|
| TypeAnnotation supertype = popNode();
|
| Identifier name = popNode();
|
| pushElement(new PartialClassElement(
|
| @@ -490,7 +487,12 @@ class ElementListener extends Listener {
|
|
|
| void endInterface(int supertypeCount, Token interfaceKeyword,
|
| Token extendsKeyword, Token endToken) {
|
| - canceler.cancel("interfaces are not implemented", token: interfaceKeyword);
|
| + Node defaultClause = popNode();
|
| + NodeList supertypes =
|
| + makeNodeList(supertypeCount, extendsKeyword, null, ",");
|
| + Identifier name = popNode();
|
| + pushElement(new PartialClassElement(
|
| + name.source, interfaceKeyword, endToken, compilationUnitElement));
|
| }
|
|
|
| void endFunctionTypeAlias(Token typedefKeyword, Token endToken) {
|
|
|