| library; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 |  | 
 | class Class1 extends core::Object /*hasConstConstructor*/  { | 
 |   const constructor •({self::Class1? c = const self::Class1::•(c: null)}) → self::Class1 | 
 |     : super core::Object::•() | 
 |     ; | 
 | } | 
 | class Class2 extends core::Object /*hasConstConstructor*/  { | 
 |   final field self::Class2? field; | 
 |   const constructor •(core::int value) → self::Class2 | 
 |     : self::Class2::field = value =={core::num::==}{(core::Object) → core::bool} 0 ?{self::Class2?} null : const self::Class2::•(0), super core::Object::•() | 
 |     ; | 
 | } | 
 | class Class3 extends core::Object /*hasConstConstructor*/  { | 
 |   const constructor •([self::Class3? c = self::c3_1]) → self::Class3 | 
 |     : super core::Object::•() | 
 |     ; | 
 | } | 
 | class Class4 extends core::Object /*hasConstConstructor*/  { | 
 |   const constructor •({self::Class4? c = const self::Class4::•()}) → self::Class4 | 
 |     : super core::Object::•() | 
 |     ; | 
 | } | 
 | static const field core::int a = self::b; | 
 | static const field core::int b = self::a; | 
 | static const field core::int c = self::d; | 
 | static const field core::int d = self::e.{core::num::+}(1){(core::num) → core::int}; | 
 | static const field core::int e = self::d.{core::num::-}(1){(core::num) → core::int}; | 
 | static const field self::Class1 c1_0 = const self::Class1::•(); | 
 | static const field self::Class1 c1_1 = const self::Class1::•(c: null); | 
 | static const field self::Class1 c1_2 = const self::Class1::•(); | 
 | static const field self::Class2 c2_0 = const self::Class2::•(1); | 
 | static const field self::Class2 c2_1 = const self::Class2::•(0); | 
 | static const field self::Class2 c2_2 = const self::Class2::•(1); | 
 | static const field self::Class3 c3_0 = const self::Class3::•(); | 
 | static const field self::Class3 c3_1 = const self::Class3::•(self::c3_2); | 
 | static const field self::Class3 c3_2 = const self::Class3::•(null); | 
 | static const field self::Class4 c4_0 = const self::Class4::•(); | 
 | static const field self::Class4 c4_1 = const self::Class4::•(c: null); | 
 | static method main() → dynamic | 
 |   ; | 
 |  | 
 |  | 
 | Extra constant evaluation status: | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:12:35 -> InstanceConstant(const Class1{}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:21:63 -> InstanceConstant(const Class2{Class2.field: null}) | 
 | Evaluated: StaticGet @ org-dartlang-testcase:///circularity.dart:29:29 -> InstanceConstant(const Class3{}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:15:27 -> InstanceConstant(const Class1{}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:16:27 -> InstanceConstant(const Class1{}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:17:27 -> InstanceConstant(const Class1{}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:25:27 -> InstanceConstant(const Class2{Class2.field: null}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:32:27 -> InstanceConstant(const Class3{}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:33:27 -> InstanceConstant(const Class3{}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:34:27 -> InstanceConstant(const Class3{}) | 
 | Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:41:27 -> InstanceConstant(const Class4{}) | 
 | Extra constant evaluation: evaluated: 25, effectively constant: 11 |