static public void RenderIL_LoadAddress(this ILValue item, ILCanvas canvas) { ILAddressable cast; if (item.Convert <ILAddressable>(out cast)) { cast.RenderIL_LoadAddress(canvas); } else { item.RenderIL_LoadAddressInternal(canvas); } }
public ILLocal CreateCementedLocal(ILValue value) { ILLocal local; if (value.Convert <ILLocal>(out local)) { if (local.IsCemented()) { return(local); } } return(cemented_locals.AddAndGet(new ILLocal(value.GetValueType(), null, value, true)) .Chain(l => AddStatement(new ILInitializeLocal(l)))); }