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

class C extends core::Object {
  synthetic constructor •() → void
    ;
  operator []=(dynamic index, dynamic value) → dynamic
    ;
}
abstract class I extends core::Object {
  synthetic constructor •() → void
    ;
  operator []=(dynamic index, dynamic value) → void
    ;
}
class D extends self::C implements self::I {
  synthetic constructor •() → void
    ;
  operator []=(dynamic index, dynamic value) → dynamic
    ;
}
static method main() → dynamic
  ;
