library;
import self as self;
import "infer_consts_transitively_2.dart" as test;
import "infer_consts_transitively_2_b.dart" as inf;

import "org-dartlang-testcase:///infer_consts_transitively_2.dart";
import "org-dartlang-testcase:///infer_consts_transitively_2_b.dart";

static const field dynamic a1 = test::m2;
static const field dynamic a2 = inf::b1;
static method main() → dynamic {}

library test;
import self as test;
import "dart:core" as core;
import "infer_consts_transitively_2_a.dart" as self;

import "org-dartlang-testcase:///infer_consts_transitively_2_a.dart";

static const field dynamic m1 = self::a1;
static const field dynamic m2 = self::a2;
static method foo() → dynamic {
  core::int i;
  i = test::m1;
}
static method main() → dynamic {}

library;
import self as inf;

static const field dynamic b1 = 2;
static method main() → dynamic {
  inf::b1;
}
