{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Ggit.Structs.RevertOptions
(
RevertOptions(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveRevertOptionsMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
RevertOptionsCopyMethodInfo ,
#endif
revertOptionsCopy ,
#if defined(ENABLE_OVERLOADING)
RevertOptionsFreeMethodInfo ,
#endif
revertOptionsFree ,
revertOptionsNew ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Structs.DateTime as GLib.DateTime
import qualified GI.GLib.Structs.MatchInfo as GLib.MatchInfo
import qualified GI.GLib.Structs.Regex as GLib.Regex
import qualified GI.GLib.Structs.TimeZone as GLib.TimeZone
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Ggit.Callbacks as Ggit.Callbacks
import {-# SOURCE #-} qualified GI.Ggit.Enums as Ggit.Enums
import {-# SOURCE #-} qualified GI.Ggit.Flags as Ggit.Flags
import {-# SOURCE #-} qualified GI.Ggit.Objects.Blame as Ggit.Blame
import {-# SOURCE #-} qualified GI.Ggit.Objects.Blob as Ggit.Blob
import {-# SOURCE #-} qualified GI.Ggit.Objects.BlobOutputStream as Ggit.BlobOutputStream
import {-# SOURCE #-} qualified GI.Ggit.Objects.Branch as Ggit.Branch
import {-# SOURCE #-} qualified GI.Ggit.Objects.CheckoutOptions as Ggit.CheckoutOptions
import {-# SOURCE #-} qualified GI.Ggit.Objects.CherryPickOptions as Ggit.CherryPickOptions
import {-# SOURCE #-} qualified GI.Ggit.Objects.CloneOptions as Ggit.CloneOptions
import {-# SOURCE #-} qualified GI.Ggit.Objects.Commit as Ggit.Commit
import {-# SOURCE #-} qualified GI.Ggit.Objects.CommitParents as Ggit.CommitParents
import {-# SOURCE #-} qualified GI.Ggit.Objects.Config as Ggit.Config
import {-# SOURCE #-} qualified GI.Ggit.Objects.Index as Ggit.Index
import {-# SOURCE #-} qualified GI.Ggit.Objects.Native as Ggit.Native
import {-# SOURCE #-} qualified GI.Ggit.Objects.Object as Ggit.Object
import {-# SOURCE #-} qualified GI.Ggit.Objects.ObjectFactoryBase as Ggit.ObjectFactoryBase
import {-# SOURCE #-} qualified GI.Ggit.Objects.ProxyOptions as Ggit.ProxyOptions
import {-# SOURCE #-} qualified GI.Ggit.Objects.PushOptions as Ggit.PushOptions
import {-# SOURCE #-} qualified GI.Ggit.Objects.Rebase as Ggit.Rebase
import {-# SOURCE #-} qualified GI.Ggit.Objects.Ref as Ggit.Ref
import {-# SOURCE #-} qualified GI.Ggit.Objects.Remote as Ggit.Remote
import {-# SOURCE #-} qualified GI.Ggit.Objects.RemoteCallbacks as Ggit.RemoteCallbacks
import {-# SOURCE #-} qualified GI.Ggit.Objects.Repository as Ggit.Repository
import {-# SOURCE #-} qualified GI.Ggit.Objects.Signature as Ggit.Signature
import {-# SOURCE #-} qualified GI.Ggit.Objects.SubmoduleUpdateOptions as Ggit.SubmoduleUpdateOptions
import {-# SOURCE #-} qualified GI.Ggit.Objects.Tag as Ggit.Tag
import {-# SOURCE #-} qualified GI.Ggit.Objects.Tree as Ggit.Tree
import {-# SOURCE #-} qualified GI.Ggit.Objects.TreeBuilder as Ggit.TreeBuilder
import {-# SOURCE #-} qualified GI.Ggit.Structs.AnnotatedCommit as Ggit.AnnotatedCommit
import {-# SOURCE #-} qualified GI.Ggit.Structs.BlameHunk as Ggit.BlameHunk
import {-# SOURCE #-} qualified GI.Ggit.Structs.BlameOptions as Ggit.BlameOptions
import {-# SOURCE #-} qualified GI.Ggit.Structs.BranchEnumerator as Ggit.BranchEnumerator
import {-# SOURCE #-} qualified GI.Ggit.Structs.ConfigEntry as Ggit.ConfigEntry
import {-# SOURCE #-} qualified GI.Ggit.Structs.DiffSimilarityMetric as Ggit.DiffSimilarityMetric
import {-# SOURCE #-} qualified GI.Ggit.Structs.FetchOptions as Ggit.FetchOptions
import {-# SOURCE #-} qualified GI.Ggit.Structs.IndexEntries as Ggit.IndexEntries
import {-# SOURCE #-} qualified GI.Ggit.Structs.IndexEntriesResolveUndo as Ggit.IndexEntriesResolveUndo
import {-# SOURCE #-} qualified GI.Ggit.Structs.IndexEntry as Ggit.IndexEntry
import {-# SOURCE #-} qualified GI.Ggit.Structs.IndexEntryResolveUndo as Ggit.IndexEntryResolveUndo
import {-# SOURCE #-} qualified GI.Ggit.Structs.MergeOptions as Ggit.MergeOptions
import {-# SOURCE #-} qualified GI.Ggit.Structs.Note as Ggit.Note
import {-# SOURCE #-} qualified GI.Ggit.Structs.OId as Ggit.OId
import {-# SOURCE #-} qualified GI.Ggit.Structs.RebaseOperation as Ggit.RebaseOperation
import {-# SOURCE #-} qualified GI.Ggit.Structs.RebaseOptions as Ggit.RebaseOptions
import {-# SOURCE #-} qualified GI.Ggit.Structs.Reflog as Ggit.Reflog
import {-# SOURCE #-} qualified GI.Ggit.Structs.ReflogEntry as Ggit.ReflogEntry
import {-# SOURCE #-} qualified GI.Ggit.Structs.RemoteHead as Ggit.RemoteHead
import {-# SOURCE #-} qualified GI.Ggit.Structs.StatusOptions as Ggit.StatusOptions
import {-# SOURCE #-} qualified GI.Ggit.Structs.Submodule as Ggit.Submodule
import {-# SOURCE #-} qualified GI.Ggit.Structs.TransferProgress as Ggit.TransferProgress
import {-# SOURCE #-} qualified GI.Ggit.Structs.TreeEntry as Ggit.TreeEntry
import qualified GI.Gio.Interfaces.File as Gio.File
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
import qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
#else
import {-# SOURCE #-} qualified GI.Ggit.Objects.CheckoutOptions as Ggit.CheckoutOptions
import {-# SOURCE #-} qualified GI.Ggit.Structs.MergeOptions as Ggit.MergeOptions
#endif
newtype RevertOptions = RevertOptions (SP.ManagedPtr RevertOptions)
deriving (RevertOptions -> RevertOptions -> Bool
(RevertOptions -> RevertOptions -> Bool)
-> (RevertOptions -> RevertOptions -> Bool) -> Eq RevertOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RevertOptions -> RevertOptions -> Bool
== :: RevertOptions -> RevertOptions -> Bool
$c/= :: RevertOptions -> RevertOptions -> Bool
/= :: RevertOptions -> RevertOptions -> Bool
Eq)
instance SP.ManagedPtrNewtype RevertOptions where
toManagedPtr :: RevertOptions -> ManagedPtr RevertOptions
toManagedPtr (RevertOptions ManagedPtr RevertOptions
p) = ManagedPtr RevertOptions
p
foreign import ccall "ggit_revert_options_get_type" c_ggit_revert_options_get_type ::
IO GType
type instance O.ParentTypes RevertOptions = '[]
instance O.HasParentTypes RevertOptions
instance B.Types.TypedObject RevertOptions where
glibType :: IO GType
glibType = IO GType
c_ggit_revert_options_get_type
instance B.Types.GBoxed RevertOptions
instance B.GValue.IsGValue (Maybe RevertOptions) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ggit_revert_options_get_type
gvalueSet_ :: Ptr GValue -> Maybe RevertOptions -> IO ()
gvalueSet_ Ptr GValue
gv Maybe RevertOptions
P.Nothing = Ptr GValue -> Ptr RevertOptions -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr RevertOptions
forall a. Ptr a
FP.nullPtr :: FP.Ptr RevertOptions)
gvalueSet_ Ptr GValue
gv (P.Just RevertOptions
obj) = RevertOptions -> (Ptr RevertOptions -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr RevertOptions
obj (Ptr GValue -> Ptr RevertOptions -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe RevertOptions)
gvalueGet_ Ptr GValue
gv = do
Ptr RevertOptions
ptr <- Ptr GValue -> IO (Ptr RevertOptions)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr RevertOptions)
if Ptr RevertOptions
ptr Ptr RevertOptions -> Ptr RevertOptions -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr RevertOptions
forall a. Ptr a
FP.nullPtr
then RevertOptions -> Maybe RevertOptions
forall a. a -> Maybe a
P.Just (RevertOptions -> Maybe RevertOptions)
-> IO RevertOptions -> IO (Maybe RevertOptions)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr RevertOptions -> RevertOptions)
-> Ptr RevertOptions -> IO RevertOptions
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr RevertOptions -> RevertOptions
RevertOptions Ptr RevertOptions
ptr
else Maybe RevertOptions -> IO (Maybe RevertOptions)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe RevertOptions
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList RevertOptions
type instance O.AttributeList RevertOptions = RevertOptionsAttributeList
type RevertOptionsAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "ggit_revert_options_new" ggit_revert_options_new ::
Word32 ->
Ptr Ggit.MergeOptions.MergeOptions ->
Ptr Ggit.CheckoutOptions.CheckoutOptions ->
IO (Ptr RevertOptions)
revertOptionsNew ::
(B.CallStack.HasCallStack, MonadIO m, Ggit.CheckoutOptions.IsCheckoutOptions a) =>
Word32
-> Maybe (Ggit.MergeOptions.MergeOptions)
-> Maybe (a)
-> m (Maybe RevertOptions)
revertOptionsNew :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCheckoutOptions a) =>
Word32 -> Maybe MergeOptions -> Maybe a -> m (Maybe RevertOptions)
revertOptionsNew Word32
mainline Maybe MergeOptions
mergeOptions Maybe a
checkoutOptions = IO (Maybe RevertOptions) -> m (Maybe RevertOptions)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe RevertOptions) -> m (Maybe RevertOptions))
-> IO (Maybe RevertOptions) -> m (Maybe RevertOptions)
forall a b. (a -> b) -> a -> b
$ do
Ptr MergeOptions
maybeMergeOptions <- case Maybe MergeOptions
mergeOptions of
Maybe MergeOptions
Nothing -> Ptr MergeOptions -> IO (Ptr MergeOptions)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr MergeOptions
forall a. Ptr a
nullPtr
Just MergeOptions
jMergeOptions -> do
Ptr MergeOptions
jMergeOptions' <- MergeOptions -> IO (Ptr MergeOptions)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr MergeOptions
jMergeOptions
Ptr MergeOptions -> IO (Ptr MergeOptions)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr MergeOptions
jMergeOptions'
Ptr CheckoutOptions
maybeCheckoutOptions <- case Maybe a
checkoutOptions of
Maybe a
Nothing -> Ptr CheckoutOptions -> IO (Ptr CheckoutOptions)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CheckoutOptions
forall a. Ptr a
nullPtr
Just a
jCheckoutOptions -> do
Ptr CheckoutOptions
jCheckoutOptions' <- a -> IO (Ptr CheckoutOptions)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
jCheckoutOptions
Ptr CheckoutOptions -> IO (Ptr CheckoutOptions)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CheckoutOptions
jCheckoutOptions'
Ptr RevertOptions
result <- Word32
-> Ptr MergeOptions
-> Ptr CheckoutOptions
-> IO (Ptr RevertOptions)
ggit_revert_options_new Word32
mainline Ptr MergeOptions
maybeMergeOptions Ptr CheckoutOptions
maybeCheckoutOptions
Maybe RevertOptions
maybeResult <- Ptr RevertOptions
-> (Ptr RevertOptions -> IO RevertOptions)
-> IO (Maybe RevertOptions)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr RevertOptions
result ((Ptr RevertOptions -> IO RevertOptions)
-> IO (Maybe RevertOptions))
-> (Ptr RevertOptions -> IO RevertOptions)
-> IO (Maybe RevertOptions)
forall a b. (a -> b) -> a -> b
$ \Ptr RevertOptions
result' -> do
RevertOptions
result'' <- ((ManagedPtr RevertOptions -> RevertOptions)
-> Ptr RevertOptions -> IO RevertOptions
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr RevertOptions -> RevertOptions
RevertOptions) Ptr RevertOptions
result'
RevertOptions -> IO RevertOptions
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return RevertOptions
result''
Maybe MergeOptions -> (MergeOptions -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe MergeOptions
mergeOptions MergeOptions -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Maybe a -> (a -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe a
checkoutOptions a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Maybe RevertOptions -> IO (Maybe RevertOptions)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe RevertOptions
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ggit_revert_options_copy" ggit_revert_options_copy ::
Ptr RevertOptions ->
IO (Ptr RevertOptions)
revertOptionsCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
RevertOptions
-> m (Maybe RevertOptions)
revertOptionsCopy :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
RevertOptions -> m (Maybe RevertOptions)
revertOptionsCopy RevertOptions
revertOptions = IO (Maybe RevertOptions) -> m (Maybe RevertOptions)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe RevertOptions) -> m (Maybe RevertOptions))
-> IO (Maybe RevertOptions) -> m (Maybe RevertOptions)
forall a b. (a -> b) -> a -> b
$ do
Ptr RevertOptions
revertOptions' <- RevertOptions -> IO (Ptr RevertOptions)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RevertOptions
revertOptions
Ptr RevertOptions
result <- Ptr RevertOptions -> IO (Ptr RevertOptions)
ggit_revert_options_copy Ptr RevertOptions
revertOptions'
Maybe RevertOptions
maybeResult <- Ptr RevertOptions
-> (Ptr RevertOptions -> IO RevertOptions)
-> IO (Maybe RevertOptions)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr RevertOptions
result ((Ptr RevertOptions -> IO RevertOptions)
-> IO (Maybe RevertOptions))
-> (Ptr RevertOptions -> IO RevertOptions)
-> IO (Maybe RevertOptions)
forall a b. (a -> b) -> a -> b
$ \Ptr RevertOptions
result' -> do
RevertOptions
result'' <- ((ManagedPtr RevertOptions -> RevertOptions)
-> Ptr RevertOptions -> IO RevertOptions
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr RevertOptions -> RevertOptions
RevertOptions) Ptr RevertOptions
result'
RevertOptions -> IO RevertOptions
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return RevertOptions
result''
RevertOptions -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr RevertOptions
revertOptions
Maybe RevertOptions -> IO (Maybe RevertOptions)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe RevertOptions
maybeResult
#if defined(ENABLE_OVERLOADING)
data RevertOptionsCopyMethodInfo
instance (signature ~ (m (Maybe RevertOptions)), MonadIO m) => O.OverloadedMethod RevertOptionsCopyMethodInfo RevertOptions signature where
overloadedMethod = revertOptionsCopy
instance O.OverloadedMethodInfo RevertOptionsCopyMethodInfo RevertOptions where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Ggit.Structs.RevertOptions.revertOptionsCopy",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ggit-1.0.15/docs/GI-Ggit-Structs-RevertOptions.html#v:revertOptionsCopy"
})
#endif
foreign import ccall "ggit_revert_options_free" ggit_revert_options_free ::
Ptr RevertOptions ->
IO ()
revertOptionsFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
RevertOptions
-> m ()
revertOptionsFree :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
RevertOptions -> m ()
revertOptionsFree RevertOptions
revertOptions = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr RevertOptions
revertOptions' <- RevertOptions -> IO (Ptr RevertOptions)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RevertOptions
revertOptions
Ptr RevertOptions -> IO ()
ggit_revert_options_free Ptr RevertOptions
revertOptions'
RevertOptions -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr RevertOptions
revertOptions
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data RevertOptionsFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod RevertOptionsFreeMethodInfo RevertOptions signature where
overloadedMethod = revertOptionsFree
instance O.OverloadedMethodInfo RevertOptionsFreeMethodInfo RevertOptions where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Ggit.Structs.RevertOptions.revertOptionsFree",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ggit-1.0.15/docs/GI-Ggit-Structs-RevertOptions.html#v:revertOptionsFree"
})
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveRevertOptionsMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveRevertOptionsMethod "copy" o = RevertOptionsCopyMethodInfo
ResolveRevertOptionsMethod "free" o = RevertOptionsFreeMethodInfo
ResolveRevertOptionsMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRevertOptionsMethod t RevertOptions, O.OverloadedMethod info RevertOptions p) => OL.IsLabel t (RevertOptions -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveRevertOptionsMethod t RevertOptions, O.OverloadedMethod info RevertOptions p, R.HasField t RevertOptions p) => R.HasField t RevertOptions p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveRevertOptionsMethod t RevertOptions, O.OverloadedMethodInfo info RevertOptions) => OL.IsLabel t (O.MethodProxy info RevertOptions) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif