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

import "org-dartlang-testcase:///infer_statics_transitively3_a.dart" show a1, A;
import "org-dartlang-testcase:///infer_statics_transitively3_a.dart" as p show a2, A;

static const field core::int t1 = #C1;
static const field core::int t2 = #C1;
static const field core::int t3 = #C2;
static const field core::int t4 = #C3;
static const field dynamic t5 = #C4;
static const field dynamic t6 = #C4;
static method foo() → dynamic {
  core::int i;
  i = #C1;
  i = #C1;
  i = #C2;
  i = #C3;
}
static method main() → dynamic {}

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

class A extends core::Object {
  static const field dynamic a3 = #C4;
  synthetic constructor •() → self2::A
    : super core::Object::•()
    ;
}
static const field core::int a1 = #C2;
static const field core::int a2 = #C3;
static method main() → dynamic {}

constants  {
  #C1 = 1
  #C2 = 3
  #C3 = 4
  #C4 = null
}
