public override bool Resolve (BlockContext ec)
{
using (ec.Set (ResolveContext.Options.FixedInitializerScope)) {
if (!decl.Resolve (ec))
return false;
}
ec.StartFlowBranching (FlowBranching.BranchingType.Conditional, loc);
bool ok = statement.Resolve (ec);
bool flow_unreachable = ec.EndFlowBranching ();
has_ret = flow_unreachable;
return ok;
}