library;
import self as self;
import "dart:core" as core;
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 core::int a1 = test::m2;
static const field core::int 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 core::int m1 = self::a1;
static const field core::int m2 = self::a2;
static method foo() → dynamic {
  core::int i;
  i = test::m1;
}
static method main() → dynamic {}

library;
import self as inf;
import "dart:core" as core;

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