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

static field core::bool* a_not = !true;
static field core::int* a_complement = 1.{core::int::~}();
static field core::int* a_negate = 1.{core::int::unary-}();
static method main() → dynamic {
  self::a_not;
  self::a_complement;
  self::a_negate;
}


Extra constant evaluation status:
Evaluated: Not @ org-dartlang-testcase:///infer_prefix_expression.dart:8:13 -> BoolConstant(false)
Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_prefix_expression.dart:9:38 -> IntConstant(-2)
Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_prefix_expression.dart:10:39 -> IntConstant(-1)
Extra constant evaluation: evaluated: 6, effectively constant: 3
