library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;

import "package:expect/expect.dart";

static const field void var1 = #C1;
static const field void var2 = #C1;
static const field core::int? var3 = #C1;
static const field core::int? var4 = #C1;
static method fn() → void {}
static method fn2() → void {
  return;
}
static method fn3() → core::int?
  return null;
static method fn4() → core::int? {
  return null;
}
static method main() → void {
  exp::Expect::equals((#C1) as{ForNonNullableByDefault} dynamic, null);
  exp::Expect::equals((#C1) as{ForNonNullableByDefault} dynamic, null);
  exp::Expect::equals(#C1, null);
  exp::Expect::equals(#C1, null);
}

constants  {
  #C1 = null
}

Extra constant evaluation status:
Evaluated: AsExpression @ org-dartlang-testcase:///const_functions_return.dart:26:23 -> NullConstant(null)
Evaluated: AsExpression @ org-dartlang-testcase:///const_functions_return.dart:27:23 -> NullConstant(null)
Extra constant evaluation: evaluated: 6, effectively constant: 2
