/// <summary> /// We already know that the statement is unreachable, but we still /// need to resolve it to catch errors. /// </summary> public virtual bool ResolveUnreachable (EmitContext ec, bool warn) { // // This conflicts with csc's way of doing this, but IMHO it's // the right thing to do. // // If something is unreachable, we still check whether it's // correct. This means that you cannot use unassigned variables // in unreachable code, for instance. // if (warn) Report.Warning (162, 2, loc, "Unreachable code detected"); ec.StartFlowBranching (FlowBranching.BranchingType.Block, loc); bool ok = Resolve (ec); ec.KillFlowBranching (); return ok; }
public override bool ResolveUnreachable (EmitContext ec, bool warn) { unreachable_shown = true; unreachable = true; if (warn) Report.Warning (162, 2, loc, "Unreachable code detected"); ec.StartFlowBranching (FlowBranching.BranchingType.Block, loc); bool ok = Resolve (ec); ec.KillFlowBranching (); return ok; }