main = <No Member>;
library from "org-dartlang-test:///lib.dart" as lib {

  class Foo extends dart.core::Object /*hasConstConstructor*/  {
    const constructor •(dart.core::int* i) → lib::Foo*
      : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
      ;
  }
  static method foo() → dynamic {
    new lib::Foo::•(0);
  }
}
library from "org-dartlang-test:///lib2.dart" as lib2 {

  import "org-dartlang-test:///lib.dart";

  static const field lib::Foo* fooField = invalid-expression "This assertion failed.";
}
library from "org-dartlang-test:///lib3.dart" as lib3 {

  import "org-dartlang-test:///lib.dart";

  static const field lib::Foo* fooField2 = #C1;
}
library from "org-dartlang-test:///main.dart" as main {

  import "org-dartlang-test:///lib.dart";
  import "org-dartlang-test:///lib2.dart";
  import "org-dartlang-test:///lib3.dart";

  static method main() → dynamic {
    lib::foo();
    dart.core::print(#C1);
  }
}
constants  {
  #C1 = lib::Foo {}
}
