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

class C extends core::Object {
  field core::String value = (() → core::String {
    core::String? value = self::something();
    if(value == null) {
      throw "";
    }
    core::String result = value{core::String};
    return result;
  })(){() → core::String};
  synthetic constructor •() → self::C
    : super core::Object::•()
    ;
}
static method something() → core::String?
  return "something";
static method main() → void {
  core::print(new self::C::•().{self::C::value}{core::String}.{core::String::length}{core::int});
}
