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

import "org-dartlang-testcase:///issue46581_lib.dart";

abstract class _TestClass&MyClass&MyMixin extends iss::MyClass implements self::MyMixin /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
  const synthetic constructor _() → self::_TestClass&MyClass&MyMixin
    : super iss::MyClass::_()
    ;
  const synthetic constructor named() → self::_TestClass&MyClass&MyMixin
    : super iss::MyClass::named()
    ;
}
class TestClass extends self::_TestClass&MyClass&MyMixin {
  constructor •() → self::TestClass
    : super self::_TestClass&MyClass&MyMixin::named()
    ;
}
abstract class MyMixin extends core::Object /*isMixinDeclaration*/  {
}
static method main() → void {}

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

class MyClass extends core::Object /*hasConstConstructor*/  {
  const constructor _() → iss::MyClass
    : super core::Object::•()
    ;
  const constructor named() → iss::MyClass
    : this iss::MyClass::_()
    ;
}
