blob: 5503846c606a465a6b20229600b6e1356af2a04e [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/constants/const_asserts2.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
// const Foo.withInvalidCondition(this.x) : assert(x);
// ^
//
import self as self;
import "dart:core" as core;
class Foo extends core::Object /*hasConstConstructor*/ {
final field core::int x;
const constructor •(core::int x) self::Foo
: self::Foo::x = x, assert(x.{core::num::>}(0){(core::num) core::bool}, "x is not positive"), assert(x.{core::num::>}(0){(core::num) core::bool}), assert(x.{core::num::>}(0){(core::num) core::bool}, ""), assert(const core::bool::fromEnvironment("foo") =={core::Object::==}{(core::Object) core::bool} false, "foo was ${const core::bool::fromEnvironment("foo")}"), assert(const core::bool::fromEnvironment("foo") =={core::Object::==}{(core::Object) core::bool} false), super core::Object::•()
;
const constructor withMessage(core::int x) self::Foo
: self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) core::bool}, "btw foo was ${const core::bool::fromEnvironment("foo")}"), super core::Object::•()
;
const constructor withInvalidMessage(core::int x) self::Foo
: self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) core::bool}, x), super core::Object::•()
;
const constructor withInvalidCondition(core::int x) self::Foo
: self::Foo::x = x, assert(invalid-expression "pkg/front_end/testcases/general/constants/const_asserts2.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
const Foo.withInvalidCondition(this.x) : assert(x);
^" in x as{TypeError,ForNonNullableByDefault} core::bool), super core::Object::•()
;
}
class Bar extends core::Object /*hasConstConstructor*/ {
final field core::int x;
const constructor withMessage(core::int x) self::Bar
: self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) core::bool}, "x is not negative"), super core::Object::•()
;
const constructor withoutMessage(core::int x) self::Bar
: self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) core::bool}), super core::Object::•()
;
const constructor withEmptyMessage(core::int x) self::Bar
: self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) core::bool}), super core::Object::•()
;
}
static const field self::Foo foo1 = const self::Foo::•(1);
static const field self::Foo foo2 = const self::Foo::•(0);
static const field self::Foo foo3 = const self::Foo::withMessage(42);
static const field self::Foo foo4 = const self::Foo::withInvalidMessage(42);
static const field self::Foo foo5 = const self::Foo::withInvalidCondition(42);
static const field self::Bar bar1 = const self::Bar::withMessage(1);
static const field self::Bar bar2 = const self::Bar::withMessage(0);
static const field self::Bar bar3 = const self::Bar::withoutMessage(1);
static const field self::Bar bar4 = const self::Bar::withoutMessage(0);
static const field self::Bar bar5 = const self::Bar::withEmptyMessage(1);
static const field self::Bar bar6 = const self::Bar::withEmptyMessage(0);
static method main() dynamic
;
Extra constant evaluation status:
Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts2.dart:11:50 -> BoolConstant(true)
Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts2.dart:12:59 -> StringConstant("foo was false")
Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts2.dart:13:50 -> BoolConstant(true)
Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts2.dart:15:73 -> StringConstant("btw foo was false")
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_asserts2.dart:27:24 -> InstanceConstant(const Foo{Foo.x: 1})
Extra constant evaluation: evaluated: 39, effectively constant: 5