public override void VisitReturn(ReturnStatement ret)
{
if (ret.Value != null) {
ret.Value.Accept(this);
BoxIfNecessary(ret.Value.RawType,
currentRoutine.ReturnType.RawType);
}
if (exceptionLevel > 0) {
ilGenerator.Emit(OpCodes.Leave, returnLabel);
}
else {
ilGenerator.Emit(OpCodes.Br, returnLabel);
}
}