dart-lang / dart-lang/language
Interface support for extensions
Open
feature
- Dominant language
- TeX
- Stars
- 2.9k
- Forks
- 239
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 14
Description
Like in #281 based on extensions
```dart
abstract class Serializable { dynamic toJson(); }
class Explicit implements Serializable { toJson() => 'Explicit'; }
class Implicit { toJson() => 'Implicit'; }
class Person { String name; }
extension PersonSerializable on Person implements Serializable {
toJson() => { 'name': name };
}
void main() {
var data = [Explicit(), Implicit(), Person()];
print(json.encode(data));
}
```
Contributor guide
Assessment
This issue has not been assessed yet.