public override Reachability MarkReachable(Reachability rc) { base.MarkReachable(rc); if (state_machine.ReturnType.Kind != MemberKind.Void) { rc = Reachability.CreateUnreachable(); } return(rc); }
public override Reachability MarkReachable(Reachability rc) { if (!rc.IsUnreachable) { reachable = true; } var init = (AsyncInitializer)Expr; rc = init.Block.MarkReachable(rc); var storey = (AsyncTaskStorey)init.Storey; // // Explicit return is required for Task<T> state machine // if (storey.ReturnType != null && storey.ReturnType.IsGenericTask) { return(rc); } return(Reachability.CreateUnreachable()); }
public override Reachability MarkReachable(Reachability rc) { base.MarkReachable(rc); return(Reachability.CreateUnreachable()); }