library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

import "dart:core" as prefixedCore;
import "dart:core";

abstract class A extends core::Object {
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
  abstract operator *(self::A other) → self::A;
}
class B<X extends core::Object? = dynamic> extends core::Object implements self::A {
  synthetic constructor •() → self::B<self::B::X%>
    : super core::Object::•()
    ;
  get foo() → core::bool
    return throw 42;
  operator *(self::A other) → self::A
    return throw 42;
}
class C extends self::B<core::int> {
  synthetic constructor •() → self::C
    : super self::B::•()
    ;
  set bar(core::int value) → void {}
  method baz() → void {}
}
extension type E0 on core::int show-operators core::num::* {
}
extension type E1 on core::int show-getters core::int::isEven {
}
extension type E2<T extends core::Object? = dynamic> on core::List<T%> show-setters core::List::length {
}
extension type E3 on core::int show-types core::num {
}
extension type E4 on core::List<core::int> show-types core::Iterable<core::int> {
}
extension type E5 on core::List<dynamic> show-types core::Iterable<dynamic> {
}
extension type E6 on core::List<core::int> show-types core::Iterable<core::int> {
}
extension type E on self::C show-types self::B<core::int> show-methods self::C::baz show-getters self::C::baz, self::B::foo show-setters self::C::bar show-operators self::B::* {
}
static method main() → dynamic {}
