library;
import self as self;
import "./deferred_lib.dart" as def;

import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;

static method main() → dynamic {}
static method test() → dynamic {
  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::m(3);
}

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

class C extends core::Object {
  static field core::int y = 1;
  synthetic constructor •() → def::C
    : super core::Object::•()
    ;
  static method m() → core::int
    return 2;
}
static field dynamic x = 0;
static method m(dynamic x) → dynamic
  return null;
