library;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;

import "package:expect/expect.dart";

class C extends core::Object {
  synthetic constructor •() → self::C*
    : super core::Object::•()
    ;
  get one() → core::int*
    return 1;
}
extension E on self::C* {
  get two = self::E|get#two;
}
static method E|get#two(final self::C* #this) → core::int*
  return 2;
static method main() → dynamic {
  self::C* c = new self::C::•();
  core::int* result = c.{self::C::one}.{core::num::+}(self::E|get#two(c));
  exp::Expect::equals(result, 3);
}
