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

class Foo extends core::Object {
  const constructor •(core::List<core::String> l) → self::Foo
    : super core::Object::•()
    ;
}
abstract class Bar extends core::Object {
  @self::Foo::•(const <core::String>[])
  field dynamic x = null;
  @self::Foo::•(const <core::String>[])
  constructor •() → self::Bar
    : super core::Object::•()
    ;
  @self::Foo::•(const <core::String>[])
  abstract method f() → void;
}
static method main() → dynamic {}
