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

class Base extends core::Object {
  field core::int hashCode;
  synthetic constructor •() → self::Base
    ;
}
class Sub extends self::Base {
  field core::int _hashCode;
  synthetic constructor •() → self::Sub
    ;
  get hashCode() → core::int
    ;
  method foo() → dynamic
    ;
}
static method main() → dynamic
  ;
