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

class Constant extends core::Object {
  const constructor •() → void
    : super core::Object::•()
    ;
}
class NotConstant extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
}
static method foo({dynamic a = new self::Constant::•(), dynamic b = new self::Constant::•(), dynamic c = <dynamic>[]}) → dynamic {}
static method test() → dynamic {
  invalid-expression "pkg/front_end/testcases/magic_const.dart:18:9: Error: Not a const constructor.
  const NotConstant();
        ^";
  new self::Constant::•();
  const self::Constant x = const self::Constant::•();
  core::bool::fromEnvironment("fisk");
  const core::bool b = const core::bool::fromEnvironment("fisk");
}
static method main() → dynamic {}
