public override void VisitThrow(BoundThrow node) { base.VisitThrow(node); // Throw acts like a return in the context of definite // assignment. JoinOnBlock(null, JoinType.Return); }
public virtual void VisitThrow(BoundThrow node) { DefaultVisit(node); }
private void EmitThrow(BoundThrow node) { // Create the exception object. EmitBox(EmitExpression(node.Expression)); IL.Emit(OpCodes.Newobj, _exceptionConstructor); // Throw the exception. IL.Emit(OpCodes.Throw); }