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

static const field core::List<core::String> listWithUnevaluatedUnevaluatedFirst = const <core::String>[const core::String::fromEnvironment("foo"), const core::String::fromEnvironment("bar"), "hello", "world"];
static const field core::List<core::String> listWithUnevaluatedUnevaluatedMiddle = const <core::String>["A", "few", "strings", const core::String::fromEnvironment("foo"), const core::String::fromEnvironment("bar"), "hello", "world", "and", "more"];
static const field core::Set<core::String> setWithUnevaluatedUnevaluatedFirst = const <core::String>{const core::String::fromEnvironment("foo"), "hello", "world"};
static const field core::Set<core::String> setWithUnevaluatedUnevaluatedMiddle = const <core::String>{"A", "few", "strings", const core::String::fromEnvironment("foo"), "hello", "world", "and", "more"};
static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedFirst = const <core::String, core::int>{const core::String::fromEnvironment("foo"): 42, "hello": 42, "world": 42};
static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedMiddle = const <core::String, core::int>{"A": 42, "few": 42, "strings": 42, const core::String::fromEnvironment("foo"): 42, "hello": 42, "world": 42, "and": 42, "more": 42};


Extra constant evaluation status:
Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///const_collections_2.dart:5:58 -> ListConstant(const <String>["", "", "hello", "world"])
Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:6:10 -> StringConstant("")
Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:7:10 -> StringConstant("")
Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///const_collections_2.dart:12:59 -> ListConstant(const <String>["A", "few", "strings", "", "", "hello", "world", "and", "more"])
Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:16:10 -> StringConstant("")
Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:17:10 -> StringConstant("")
Evaluated with empty environment: SetLiteral @ org-dartlang-testcase:///const_collections_2.dart:24:56 -> SetConstant(const <String>{"", "hello", "world"})
Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:27:10 -> StringConstant("")
Evaluated with empty environment: SetLiteral @ org-dartlang-testcase:///const_collections_2.dart:32:57 -> SetConstant(const <String>{"A", "few", "strings", "", "hello", "world", "and", "more"})
Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:38:10 -> StringConstant("")
Evaluated with empty environment: MapLiteral @ org-dartlang-testcase:///const_collections_2.dart:45:61 -> MapConstant(const <String, int>{"": 42, "hello": 42, "world": 42})
Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:48:10 -> StringConstant("")
Evaluated with empty environment: MapLiteral @ org-dartlang-testcase:///const_collections_2.dart:53:62 -> MapConstant(const <String, int>{"A": 42, "few": 42, "strings": 42, "": 42, "hello": 42, "world": 42, "and": 42, "more": 42})
Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:59:10 -> StringConstant("")
Extra constant evaluation: evaluated: 14, effectively constant: 14
