{-# LINE 1 "lib/CPython/Types/InstanceMethod.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module CPython.Types.InstanceMethod
( InstanceMethod
, instanceMethodType
, new
, function
) where
import CPython.Internal hiding (new)
newtype InstanceMethod = InstanceMethod (ForeignPtr InstanceMethod)
instance Object InstanceMethod where
toObject (InstanceMethod x) = SomeObject x
fromForeignPtr = InstanceMethod
instance Concrete InstanceMethod where
concreteType _ = instanceMethodType
instanceMethodType :: (Type)
instanceMethodType =
unsafePerformIO $
let {res = instanceMethodType'_} in
peekStaticObject res >>= \res' ->
return (res')
{-# LINE 39 "lib/CPython/Types/InstanceMethod.chs" #-}
new :: Object func => (func) -> IO ((InstanceMethod))
new a1 =
withObject a1 $ \a1' ->
new'_ a1' >>= \res ->
stealObject res >>= \res' ->
return (res')
{-# LINE 44 "lib/CPython/Types/InstanceMethod.chs" #-}
function :: (InstanceMethod) -> IO ((SomeObject))
function a1 =
withObject a1 $ \a1' ->
function'_ a1' >>= \res ->
peekObject res >>= \res' ->
return (res')
{-# LINE 48 "lib/CPython/Types/InstanceMethod.chs" #-}
foreign import ccall unsafe "CPython/Types/InstanceMethod.chs.h hscpython_PyInstanceMethod_Type"
instanceMethodType'_ :: (Ptr ())
foreign import ccall safe "CPython/Types/InstanceMethod.chs.h PyInstanceMethod_New"
new'_ :: ((Ptr ()) -> (IO (Ptr ())))
foreign import ccall safe "CPython/Types/InstanceMethod.chs.h PyInstanceMethod_Function"
function'_ :: ((Ptr ()) -> (IO (Ptr ())))