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

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

class Class extends core::Object implements mai::Interface {
  field core::int? field1 = null;
  field core::int? field2 = null;
  field core::int? field3 = null;
  synthetic constructor •() → self::Class
    : super core::Object::•()
    ;
}
static method method(mai::Interface i) → void {
  i.{mai::Interface::field2} = i.{mai::Interface::field1};
  i.{mai::Interface::field3} = i.{mai::Interface::field3};
}
static method main() → dynamic {
  self::method(new self::Class::•());
}

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

class Interface extends core::Object {
  field core::int? field1 = null;
  field core::int? field2 = null;
  field core::int? field3 = null;
  synthetic constructor •() → mai::Interface
    : super core::Object::•()
    ;
}
