public static bool IsAsync(this MethodDefinition self, out TypeDefinition asyncStateMachineType) { asyncStateMachineType = null; V_0 = self.get_CustomAttributes().GetEnumerator(); try { while (V_0.MoveNext()) { if (!MethodDefinitionExtensions.IsAsyncAttribute(V_0.get_Current(), self, self.get_DeclaringType(), out asyncStateMachineType)) { continue; } V_1 = true; goto Label1; } goto Label0; } finally { V_0.Dispose(); } Label1: return(V_1); Label0: return(false); }
public static bool HasAsyncAttributes(this MethodDefinition self) { V_0 = false; V_1 = false; V_2 = self.get_CustomAttributes().GetEnumerator(); try { while (V_2.MoveNext()) { V_3 = V_2.get_Current(); if (!V_0 & V_1) { if (!V_0 && MethodDefinitionExtensions.IsAsyncStateMachineAttribute(V_3)) { V_0 = true; } if (V_1 || !MethodDefinitionExtensions.IsDebuggerStepThroughAttribute(V_3)) { continue; } V_1 = true; } else { V_4 = true; goto Label1; } } goto Label0; } finally { V_2.Dispose(); } Label1: return(V_4); Label0: return(V_0 & V_1); }