static (Instruction, Instruction) FindClosureCreatingInstructions(MethodBody body, Instruction callInstruction) { body.EnsurePreviousAndNextAreSet(); var cursor = callInstruction; while (cursor != null) { if ((cursor.OpCode == OpCodes.Ldftn) && cursor.Next?.OpCode == OpCodes.Newobj) { return(cursor, cursor.Next); } cursor = cursor.Previous; } InternalCompilerError.DCICE002(body.Method, callInstruction).Throw(); return(null, null); }