library;
import self as self;
import "dart:core" as core;

abstract class B extends core::Object {
  synthetic constructor •() → self::B
    : super core::Object::•()
    ;
  abstract get f() → core::String;
}
class A extends core::Object implements self::B {
  final field core::String f;
  constructor •(dynamic f) → self::A
    : self::A::f = f, super core::Object::•()
    ;
}
static field dynamic a = new self::A::•("foo");
static method main() → dynamic
  return core::print(self::a);
