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);
        }