dart-lang/js-interop — pull request #182 by a14n (2014-10-09 19:19:51+00:00)
Title: Handle interfaces and mixin

This change also allows to simplify properties declaration. For instance :

```dart
abstract class Person extends JsInterface implements _PersonProperties {
factory Person(String name) => new PersonImpl(name);
Person.created(JsObject o) : super.created(o);
}

abstract class _PersonProperties {
String firstname;
String lastname;
}

@JsProxy(constructor: 'Person')
class PersonImpl extends Person {
factory PersonImpl(String name) => new JsInterface(PersonImpl, [name]);
PersonImpl.created(JsObject o) : super.created(o);
noSuchMethod(i) => super.noSuchMethod(i);
}
```

BTW the complete implementation of abstract members are now on XxxImpl.