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

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

class Class extends core::Object {
  synthetic constructor •() → self::Class
    : super core::Object::•()
    ;
  method /* from org-dartlang-testcase:///extend_augmented_lib.dart */ augmentedMethod() → void {
    this.{self::Class::_#augmentedMethod#augment0}(){() → void};
  }
  method _#augmentedMethod#augment0() → void {}
}
class Subclass extends core::Object implements self::Class {
  synthetic constructor •() → self::Subclass
    : super core::Object::•()
    ;
  method augmentedMethod() → void {}
}
static method main() → dynamic {
  new self::Class::•().{self::Class::augmentedMethod}(){() → void};
  new self::Subclass::•().{self::Subclass::augmentedMethod}(){() → void};
}
