{-# LINE 1 "lib/CPython/Types/InstanceMethod.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module CPython.Types.InstanceMethod
( InstanceMethod
, instanceMethodType
, new
, function
) where
import qualified Foreign.Ptr as C2HSImp
import qualified System.IO.Unsafe as C2HSImp
import CPython.Internal hiding (new)
newtype InstanceMethod = InstanceMethod (ForeignPtr InstanceMethod)
instance Object InstanceMethod where
toObject :: InstanceMethod -> SomeObject
toObject (InstanceMethod x :: ForeignPtr InstanceMethod
x) = ForeignPtr InstanceMethod -> SomeObject
forall a. Object a => ForeignPtr a -> SomeObject
SomeObject ForeignPtr InstanceMethod
x
fromForeignPtr :: ForeignPtr InstanceMethod -> InstanceMethod
fromForeignPtr = ForeignPtr InstanceMethod -> InstanceMethod
InstanceMethod
instance Concrete InstanceMethod where
concreteType :: InstanceMethod -> Type
concreteType _ = Type
instanceMethodType
instanceMethodType :: (Type)
instanceMethodType =
C2HSImp.unsafePerformIO $
instanceMethodType'_ >>= \res ->
peekStaticObject res >>= \res' :: Type
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'_ :: (IO (C2HSImp.Ptr ()))
foreign import ccall safe "CPython/Types/InstanceMethod.chs.h PyInstanceMethod_New"
new'_ :: ((C2HSImp.Ptr ()) -> (IO (C2HSImp.Ptr ())))
foreign import ccall safe "CPython/Types/InstanceMethod.chs.h PyInstanceMethod_Function"
function'_ :: ((C2HSImp.Ptr ()) -> (IO (C2HSImp.Ptr ())))