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

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

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

library;
import self as inf;
import "./infer_consts_transitively_2.dart" as self;
import "./infer_consts_transitively_2_b.dart" as inf2;

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

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

library;
import self as inf2;

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