gi-gio-2.0.20: GI/Gio/Structs/FileAttributeInfoList.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
Acts as a lightweight registry for possible valid file attributes.
The registry stores Key-Value pair formats as @/GFileAttributeInfos/@.
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gio.Structs.FileAttributeInfoList
(
-- * Exported types
FileAttributeInfoList(..) ,
newZeroFileAttributeInfoList ,
noFileAttributeInfoList ,
-- * Methods
-- ** add #method:add#
#if ENABLE_OVERLOADING
FileAttributeInfoListAddMethodInfo ,
#endif
fileAttributeInfoListAdd ,
-- ** dup #method:dup#
#if ENABLE_OVERLOADING
FileAttributeInfoListDupMethodInfo ,
#endif
fileAttributeInfoListDup ,
-- ** lookup #method:lookup#
#if ENABLE_OVERLOADING
FileAttributeInfoListLookupMethodInfo ,
#endif
fileAttributeInfoListLookup ,
-- ** new #method:new#
fileAttributeInfoListNew ,
-- ** ref #method:ref#
#if ENABLE_OVERLOADING
FileAttributeInfoListRefMethodInfo ,
#endif
fileAttributeInfoListRef ,
-- ** unref #method:unref#
#if ENABLE_OVERLOADING
FileAttributeInfoListUnrefMethodInfo ,
#endif
fileAttributeInfoListUnref ,
-- * Properties
-- ** infos #attr:infos#
{- | an array of @/GFileAttributeInfos/@.
-}
clearFileAttributeInfoListInfos ,
#if ENABLE_OVERLOADING
fileAttributeInfoList_infos ,
#endif
getFileAttributeInfoListInfos ,
setFileAttributeInfoListInfos ,
-- ** nInfos #attr:nInfos#
{- | the number of values in the array.
-}
#if ENABLE_OVERLOADING
fileAttributeInfoList_nInfos ,
#endif
getFileAttributeInfoListNInfos ,
setFileAttributeInfoListNInfos ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import {-# SOURCE #-} qualified GI.Gio.Enums as Gio.Enums
import {-# SOURCE #-} qualified GI.Gio.Flags as Gio.Flags
import {-# SOURCE #-} qualified GI.Gio.Structs.FileAttributeInfo as Gio.FileAttributeInfo
-- | Memory-managed wrapper type.
newtype FileAttributeInfoList = FileAttributeInfoList (ManagedPtr FileAttributeInfoList)
foreign import ccall "g_file_attribute_info_list_get_type" c_g_file_attribute_info_list_get_type ::
IO GType
instance BoxedObject FileAttributeInfoList where
boxedType _ = c_g_file_attribute_info_list_get_type
-- | Construct a `FileAttributeInfoList` struct initialized to zero.
newZeroFileAttributeInfoList :: MonadIO m => m FileAttributeInfoList
newZeroFileAttributeInfoList = liftIO $ callocBoxedBytes 16 >>= wrapBoxed FileAttributeInfoList
instance tag ~ 'AttrSet => Constructible FileAttributeInfoList tag where
new _ attrs = do
o <- newZeroFileAttributeInfoList
GI.Attributes.set o attrs
return o
-- | A convenience alias for `Nothing` :: `Maybe` `FileAttributeInfoList`.
noFileAttributeInfoList :: Maybe FileAttributeInfoList
noFileAttributeInfoList = Nothing
{- |
Get the value of the “@infos@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' fileAttributeInfoList #infos
@
-}
getFileAttributeInfoListInfos :: MonadIO m => FileAttributeInfoList -> m (Maybe Gio.FileAttributeInfo.FileAttributeInfo)
getFileAttributeInfoListInfos s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gio.FileAttributeInfo.FileAttributeInfo)
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- (newPtr Gio.FileAttributeInfo.FileAttributeInfo) val'
return val''
return result
{- |
Set the value of the “@infos@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' fileAttributeInfoList [ #infos 'Data.GI.Base.Attributes.:=' value ]
@
-}
setFileAttributeInfoListInfos :: MonadIO m => FileAttributeInfoList -> Ptr Gio.FileAttributeInfo.FileAttributeInfo -> m ()
setFileAttributeInfoListInfos s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Ptr Gio.FileAttributeInfo.FileAttributeInfo)
{- |
Set the value of the “@infos@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.clear' #infos
@
-}
clearFileAttributeInfoListInfos :: MonadIO m => FileAttributeInfoList -> m ()
clearFileAttributeInfoListInfos s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gio.FileAttributeInfo.FileAttributeInfo)
#if ENABLE_OVERLOADING
data FileAttributeInfoListInfosFieldInfo
instance AttrInfo FileAttributeInfoListInfosFieldInfo where
type AttrAllowedOps FileAttributeInfoListInfosFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint FileAttributeInfoListInfosFieldInfo = (~) (Ptr Gio.FileAttributeInfo.FileAttributeInfo)
type AttrBaseTypeConstraint FileAttributeInfoListInfosFieldInfo = (~) FileAttributeInfoList
type AttrGetType FileAttributeInfoListInfosFieldInfo = Maybe Gio.FileAttributeInfo.FileAttributeInfo
type AttrLabel FileAttributeInfoListInfosFieldInfo = "infos"
type AttrOrigin FileAttributeInfoListInfosFieldInfo = FileAttributeInfoList
attrGet _ = getFileAttributeInfoListInfos
attrSet _ = setFileAttributeInfoListInfos
attrConstruct = undefined
attrClear _ = clearFileAttributeInfoListInfos
fileAttributeInfoList_infos :: AttrLabelProxy "infos"
fileAttributeInfoList_infos = AttrLabelProxy
#endif
{- |
Get the value of the “@n_infos@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' fileAttributeInfoList #nInfos
@
-}
getFileAttributeInfoListNInfos :: MonadIO m => FileAttributeInfoList -> m Int32
getFileAttributeInfoListNInfos s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO Int32
return val
{- |
Set the value of the “@n_infos@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' fileAttributeInfoList [ #nInfos 'Data.GI.Base.Attributes.:=' value ]
@
-}
setFileAttributeInfoListNInfos :: MonadIO m => FileAttributeInfoList -> Int32 -> m ()
setFileAttributeInfoListNInfos s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: Int32)
#if ENABLE_OVERLOADING
data FileAttributeInfoListNInfosFieldInfo
instance AttrInfo FileAttributeInfoListNInfosFieldInfo where
type AttrAllowedOps FileAttributeInfoListNInfosFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint FileAttributeInfoListNInfosFieldInfo = (~) Int32
type AttrBaseTypeConstraint FileAttributeInfoListNInfosFieldInfo = (~) FileAttributeInfoList
type AttrGetType FileAttributeInfoListNInfosFieldInfo = Int32
type AttrLabel FileAttributeInfoListNInfosFieldInfo = "n_infos"
type AttrOrigin FileAttributeInfoListNInfosFieldInfo = FileAttributeInfoList
attrGet _ = getFileAttributeInfoListNInfos
attrSet _ = setFileAttributeInfoListNInfos
attrConstruct = undefined
attrClear _ = undefined
fileAttributeInfoList_nInfos :: AttrLabelProxy "nInfos"
fileAttributeInfoList_nInfos = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList FileAttributeInfoList
type instance O.AttributeList FileAttributeInfoList = FileAttributeInfoListAttributeList
type FileAttributeInfoListAttributeList = ('[ '("infos", FileAttributeInfoListInfosFieldInfo), '("nInfos", FileAttributeInfoListNInfosFieldInfo)] :: [(Symbol, *)])
#endif
-- method FileAttributeInfoList::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"}))
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_new" g_file_attribute_info_list_new ::
IO (Ptr FileAttributeInfoList)
{- |
Creates a new file attribute info list.
-}
fileAttributeInfoListNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m FileAttributeInfoList
{- ^ __Returns:__ a 'GI.Gio.Structs.FileAttributeInfoList.FileAttributeInfoList'. -}
fileAttributeInfoListNew = liftIO $ do
result <- g_file_attribute_info_list_new
checkUnexpectedReturnNULL "fileAttributeInfoListNew" result
result' <- (wrapBoxed FileAttributeInfoList) result
return result'
#if ENABLE_OVERLOADING
#endif
-- method FileAttributeInfoList::add
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFileAttributeInfoList.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the attribute to add.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gio", name = "FileAttributeType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GFileAttributeType for the attribute.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gio", name = "FileAttributeInfoFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GFileAttributeInfoFlags for the attribute.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_add" g_file_attribute_info_list_add ::
Ptr FileAttributeInfoList -> -- list : TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"})
CString -> -- name : TBasicType TUTF8
CUInt -> -- type : TInterface (Name {namespace = "Gio", name = "FileAttributeType"})
CUInt -> -- flags : TInterface (Name {namespace = "Gio", name = "FileAttributeInfoFlags"})
IO ()
{- |
Adds a new attribute with /@name@/ to the /@list@/, setting
its /@type@/ and /@flags@/.
-}
fileAttributeInfoListAdd ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
{- ^ /@list@/: a 'GI.Gio.Structs.FileAttributeInfoList.FileAttributeInfoList'. -}
-> T.Text
{- ^ /@name@/: the name of the attribute to add. -}
-> Gio.Enums.FileAttributeType
{- ^ /@type@/: the 'GI.Gio.Enums.FileAttributeType' for the attribute. -}
-> [Gio.Flags.FileAttributeInfoFlags]
{- ^ /@flags@/: 'GI.Gio.Flags.FileAttributeInfoFlags' for the attribute. -}
-> m ()
fileAttributeInfoListAdd list name type_ flags = liftIO $ do
list' <- unsafeManagedPtrGetPtr list
name' <- textToCString name
let type_' = (fromIntegral . fromEnum) type_
let flags' = gflagsToWord flags
g_file_attribute_info_list_add list' name' type_' flags'
touchManagedPtr list
freeMem name'
return ()
#if ENABLE_OVERLOADING
data FileAttributeInfoListAddMethodInfo
instance (signature ~ (T.Text -> Gio.Enums.FileAttributeType -> [Gio.Flags.FileAttributeInfoFlags] -> m ()), MonadIO m) => O.MethodInfo FileAttributeInfoListAddMethodInfo FileAttributeInfoList signature where
overloadedMethod _ = fileAttributeInfoListAdd
#endif
-- method FileAttributeInfoList::dup
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFileAttributeInfoList to duplicate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"}))
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_dup" g_file_attribute_info_list_dup ::
Ptr FileAttributeInfoList -> -- list : TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"})
IO (Ptr FileAttributeInfoList)
{- |
Makes a duplicate of a file attribute info list.
-}
fileAttributeInfoListDup ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
{- ^ /@list@/: a 'GI.Gio.Structs.FileAttributeInfoList.FileAttributeInfoList' to duplicate. -}
-> m FileAttributeInfoList
{- ^ __Returns:__ a copy of the given /@list@/. -}
fileAttributeInfoListDup list = liftIO $ do
list' <- unsafeManagedPtrGetPtr list
result <- g_file_attribute_info_list_dup list'
checkUnexpectedReturnNULL "fileAttributeInfoListDup" result
result' <- (wrapBoxed FileAttributeInfoList) result
touchManagedPtr list
return result'
#if ENABLE_OVERLOADING
data FileAttributeInfoListDupMethodInfo
instance (signature ~ (m FileAttributeInfoList), MonadIO m) => O.MethodInfo FileAttributeInfoListDupMethodInfo FileAttributeInfoList signature where
overloadedMethod _ = fileAttributeInfoListDup
#endif
-- method FileAttributeInfoList::lookup
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFileAttributeInfoList.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the attribute to lookup.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "FileAttributeInfo"}))
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_lookup" g_file_attribute_info_list_lookup ::
Ptr FileAttributeInfoList -> -- list : TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"})
CString -> -- name : TBasicType TUTF8
IO (Ptr Gio.FileAttributeInfo.FileAttributeInfo)
{- |
Gets the file attribute with the name /@name@/ from /@list@/.
-}
fileAttributeInfoListLookup ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
{- ^ /@list@/: a 'GI.Gio.Structs.FileAttributeInfoList.FileAttributeInfoList'. -}
-> T.Text
{- ^ /@name@/: the name of the attribute to lookup. -}
-> m Gio.FileAttributeInfo.FileAttributeInfo
{- ^ __Returns:__ a 'GI.Gio.Structs.FileAttributeInfo.FileAttributeInfo' for the /@name@/, or 'Nothing' if an
attribute isn\'t found. -}
fileAttributeInfoListLookup list name = liftIO $ do
list' <- unsafeManagedPtrGetPtr list
name' <- textToCString name
result <- g_file_attribute_info_list_lookup list' name'
checkUnexpectedReturnNULL "fileAttributeInfoListLookup" result
result' <- (newPtr Gio.FileAttributeInfo.FileAttributeInfo) result
touchManagedPtr list
freeMem name'
return result'
#if ENABLE_OVERLOADING
data FileAttributeInfoListLookupMethodInfo
instance (signature ~ (T.Text -> m Gio.FileAttributeInfo.FileAttributeInfo), MonadIO m) => O.MethodInfo FileAttributeInfoListLookupMethodInfo FileAttributeInfoList signature where
overloadedMethod _ = fileAttributeInfoListLookup
#endif
-- method FileAttributeInfoList::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFileAttributeInfoList to reference.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"}))
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_ref" g_file_attribute_info_list_ref ::
Ptr FileAttributeInfoList -> -- list : TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"})
IO (Ptr FileAttributeInfoList)
{- |
References a file attribute info list.
-}
fileAttributeInfoListRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
{- ^ /@list@/: a 'GI.Gio.Structs.FileAttributeInfoList.FileAttributeInfoList' to reference. -}
-> m FileAttributeInfoList
{- ^ __Returns:__ 'GI.Gio.Structs.FileAttributeInfoList.FileAttributeInfoList' or 'Nothing' on error. -}
fileAttributeInfoListRef list = liftIO $ do
list' <- unsafeManagedPtrGetPtr list
result <- g_file_attribute_info_list_ref list'
checkUnexpectedReturnNULL "fileAttributeInfoListRef" result
result' <- (wrapBoxed FileAttributeInfoList) result
touchManagedPtr list
return result'
#if ENABLE_OVERLOADING
data FileAttributeInfoListRefMethodInfo
instance (signature ~ (m FileAttributeInfoList), MonadIO m) => O.MethodInfo FileAttributeInfoListRefMethodInfo FileAttributeInfoList signature where
overloadedMethod _ = fileAttributeInfoListRef
#endif
-- method FileAttributeInfoList::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GFileAttributeInfoList to unreference.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_unref" g_file_attribute_info_list_unref ::
Ptr FileAttributeInfoList -> -- list : TInterface (Name {namespace = "Gio", name = "FileAttributeInfoList"})
IO ()
{- |
Removes a reference from the given /@list@/. If the reference count
falls to zero, the /@list@/ is deleted.
-}
fileAttributeInfoListUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
{- ^ /@list@/: The 'GI.Gio.Structs.FileAttributeInfoList.FileAttributeInfoList' to unreference. -}
-> m ()
fileAttributeInfoListUnref list = liftIO $ do
list' <- unsafeManagedPtrGetPtr list
g_file_attribute_info_list_unref list'
touchManagedPtr list
return ()
#if ENABLE_OVERLOADING
data FileAttributeInfoListUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo FileAttributeInfoListUnrefMethodInfo FileAttributeInfoList signature where
overloadedMethod _ = fileAttributeInfoListUnref
#endif
#if ENABLE_OVERLOADING
type family ResolveFileAttributeInfoListMethod (t :: Symbol) (o :: *) :: * where
ResolveFileAttributeInfoListMethod "add" o = FileAttributeInfoListAddMethodInfo
ResolveFileAttributeInfoListMethod "dup" o = FileAttributeInfoListDupMethodInfo
ResolveFileAttributeInfoListMethod "lookup" o = FileAttributeInfoListLookupMethodInfo
ResolveFileAttributeInfoListMethod "ref" o = FileAttributeInfoListRefMethodInfo
ResolveFileAttributeInfoListMethod "unref" o = FileAttributeInfoListUnrefMethodInfo
ResolveFileAttributeInfoListMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFileAttributeInfoListMethod t FileAttributeInfoList, O.MethodInfo info FileAttributeInfoList p) => OL.IsLabel t (FileAttributeInfoList -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif