library;
import self as self;
import "dart:core" as core;
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 core::Object #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 core::int x = 0;
static method m(dynamic x) → dynamic
  return null;
