internal static BlockStatement DecompileYieldStateMachine(this MethodBody body, MethodSpecificContext enclosingMethodContext, out YieldData yieldData) { DecompilationContext decompilationContext; BlockStatement theBlockStatement = body.DecompileStateMachine(enclosingMethodContext, new RemoveYieldStateMachineStep(), (DecompilationContext context) => context.MethodContext.YieldData, out decompilationContext); yieldData = decompilationContext.MethodContext.YieldData; return(theBlockStatement); }
internal static BlockStatement DecompileAsyncStateMachine(this MethodBody body, DecompilationContext enclosingContext, out AsyncData asyncData) { DecompilationContext decompilationContext; BlockStatement theBlockStatement = body.DecompileStateMachine(enclosingContext, new RemoveAsyncStateMachineStep(), (DecompilationContext context) => context.MethodContext.AsyncData, out decompilationContext); asyncData = decompilationContext.MethodContext.AsyncData; return theBlockStatement; }
internal static BlockStatement DecompileYieldStateMachine(this MethodBody body, DecompilationContext enclosingContext, out YieldData yieldData) { stackVariable0 = body; stackVariable1 = enclosingContext; stackVariable2 = new RemoveYieldStateMachineStep(); stackVariable3 = Extensions.u003cu003ec.u003cu003e9__7_0; if (stackVariable3 == null) { dummyVar0 = stackVariable3; stackVariable3 = new Func <DecompilationContext, IStateMachineData>(Extensions.u003cu003ec.u003cu003e9.u003cDecompileYieldStateMachineu003eb__7_0); Extensions.u003cu003ec.u003cu003e9__7_0 = stackVariable3; } stackVariable5 = stackVariable0.DecompileStateMachine(stackVariable1, stackVariable2, stackVariable3, out V_0); yieldData = V_0.get_MethodContext().get_YieldData(); return(stackVariable5); }