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

  static const field dart.core::Set<dart.core::int*>* bar = #C5;
}
library from "org-dartlang-test:///main.dart" as main {

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

  static const field dart.core::Set<dart.core::String*>* foo = #C8;
  static method main() → dynamic {
    dart.core::print(#C8);
    dart.core::print(#C5);
  }
}
constants  {
  #C1 = 42
  #C2 = null
  #C3 = <dynamic>[#C1, #C2]
  #C4 = dart.core::_ImmutableMap<dart.core::int*, Null> {_kvPairs:#C3}
  #C5 = dart.collection::_UnmodifiableSet<dart.core::int*> {_map:#C4}
  #C6 = <dynamic>[]
  #C7 = dart.core::_ImmutableMap<dart.core::String*, Null> {_kvPairs:#C6}
  #C8 = dart.collection::_UnmodifiableSet<dart.core::String*> {_map:#C7}
}
