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 hide-operators core::num::* {
}
extension type E1 on core::int hide-getters core::int::isEven {
}
extension type E2<T extends core::Object? = dynamic> on core::List<T%> hide-setters core::List::length {
}
extension type E3 on core::int hide-types core::num {
}
extension type E4 on core::List<core::int> hide-types core::Iterable<core::int> {
}
extension type E5 on core::List<dynamic> hide-types core::Iterable<dynamic> {
}
extension type E6 on core::List<core::int> hide-types core::Iterable<core::int> {
}
extension type E on self::C hide-types self::B<core::int> hide-methods self::C::baz hide-getters self::C::baz, self::B::foo hide-setters self::C::bar hide-operators self::B::* {
}
static method main() → dynamic {}
