{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Structs.SecurityOrigin
(
SecurityOrigin(..) ,
noSecurityOrigin ,
#if defined(ENABLE_OVERLOADING)
ResolveSecurityOriginMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
SecurityOriginGetHostMethodInfo ,
#endif
securityOriginGetHost ,
#if defined(ENABLE_OVERLOADING)
SecurityOriginGetPortMethodInfo ,
#endif
securityOriginGetPort ,
#if defined(ENABLE_OVERLOADING)
SecurityOriginGetProtocolMethodInfo ,
#endif
securityOriginGetProtocol ,
#if defined(ENABLE_OVERLOADING)
SecurityOriginIsOpaqueMethodInfo ,
#endif
securityOriginIsOpaque ,
securityOriginNew ,
securityOriginNewForUri ,
#if defined(ENABLE_OVERLOADING)
SecurityOriginRefMethodInfo ,
#endif
securityOriginRef ,
#if defined(ENABLE_OVERLOADING)
SecurityOriginToStringMethodInfo ,
#endif
securityOriginToString ,
#if defined(ENABLE_OVERLOADING)
SecurityOriginUnrefMethodInfo ,
#endif
securityOriginUnref ,
) 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.GI.Base.Signals as B.Signals
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
newtype SecurityOrigin = SecurityOrigin (ManagedPtr SecurityOrigin)
deriving (SecurityOrigin -> SecurityOrigin -> Bool
(SecurityOrigin -> SecurityOrigin -> Bool)
-> (SecurityOrigin -> SecurityOrigin -> Bool) -> Eq SecurityOrigin
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SecurityOrigin -> SecurityOrigin -> Bool
$c/= :: SecurityOrigin -> SecurityOrigin -> Bool
== :: SecurityOrigin -> SecurityOrigin -> Bool
$c== :: SecurityOrigin -> SecurityOrigin -> Bool
Eq)
foreign import ccall "webkit_security_origin_get_type" c_webkit_security_origin_get_type ::
IO GType
instance BoxedObject SecurityOrigin where
boxedType :: SecurityOrigin -> IO GType
boxedType _ = IO GType
c_webkit_security_origin_get_type
instance B.GValue.IsGValue SecurityOrigin where
toGValue :: SecurityOrigin -> IO GValue
toGValue o :: SecurityOrigin
o = do
GType
gtype <- IO GType
c_webkit_security_origin_get_type
SecurityOrigin -> (Ptr SecurityOrigin -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr SecurityOrigin
o (GType
-> (GValue -> Ptr SecurityOrigin -> IO ())
-> Ptr SecurityOrigin
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr SecurityOrigin -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO SecurityOrigin
fromGValue gv :: GValue
gv = do
Ptr SecurityOrigin
ptr <- GValue -> IO (Ptr SecurityOrigin)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr SecurityOrigin)
(ManagedPtr SecurityOrigin -> SecurityOrigin)
-> Ptr SecurityOrigin -> IO SecurityOrigin
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr SecurityOrigin -> SecurityOrigin
SecurityOrigin Ptr SecurityOrigin
ptr
noSecurityOrigin :: Maybe SecurityOrigin
noSecurityOrigin :: Maybe SecurityOrigin
noSecurityOrigin = Maybe SecurityOrigin
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList SecurityOrigin
type instance O.AttributeList SecurityOrigin = SecurityOriginAttributeList
type SecurityOriginAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_security_origin_new" webkit_security_origin_new ::
CString ->
CString ->
Word16 ->
IO (Ptr SecurityOrigin)
securityOriginNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> T.Text
-> Word16
-> m SecurityOrigin
securityOriginNew :: Text -> Text -> Word16 -> m SecurityOrigin
securityOriginNew protocol :: Text
protocol host :: Text
host port :: Word16
port = IO SecurityOrigin -> m SecurityOrigin
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SecurityOrigin -> m SecurityOrigin)
-> IO SecurityOrigin -> m SecurityOrigin
forall a b. (a -> b) -> a -> b
$ do
CString
protocol' <- Text -> IO CString
textToCString Text
protocol
CString
host' <- Text -> IO CString
textToCString Text
host
Ptr SecurityOrigin
result <- CString -> CString -> Word16 -> IO (Ptr SecurityOrigin)
webkit_security_origin_new CString
protocol' CString
host' Word16
port
Text -> Ptr SecurityOrigin -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "securityOriginNew" Ptr SecurityOrigin
result
SecurityOrigin
result' <- ((ManagedPtr SecurityOrigin -> SecurityOrigin)
-> Ptr SecurityOrigin -> IO SecurityOrigin
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr SecurityOrigin -> SecurityOrigin
SecurityOrigin) Ptr SecurityOrigin
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
protocol'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
host'
SecurityOrigin -> IO SecurityOrigin
forall (m :: * -> *) a. Monad m => a -> m a
return SecurityOrigin
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "webkit_security_origin_new_for_uri" webkit_security_origin_new_for_uri ::
CString ->
IO (Ptr SecurityOrigin)
securityOriginNewForUri ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m SecurityOrigin
securityOriginNewForUri :: Text -> m SecurityOrigin
securityOriginNewForUri uri :: Text
uri = IO SecurityOrigin -> m SecurityOrigin
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SecurityOrigin -> m SecurityOrigin)
-> IO SecurityOrigin -> m SecurityOrigin
forall a b. (a -> b) -> a -> b
$ do
CString
uri' <- Text -> IO CString
textToCString Text
uri
Ptr SecurityOrigin
result <- CString -> IO (Ptr SecurityOrigin)
webkit_security_origin_new_for_uri CString
uri'
Text -> Ptr SecurityOrigin -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "securityOriginNewForUri" Ptr SecurityOrigin
result
SecurityOrigin
result' <- ((ManagedPtr SecurityOrigin -> SecurityOrigin)
-> Ptr SecurityOrigin -> IO SecurityOrigin
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr SecurityOrigin -> SecurityOrigin
SecurityOrigin) Ptr SecurityOrigin
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
uri'
SecurityOrigin -> IO SecurityOrigin
forall (m :: * -> *) a. Monad m => a -> m a
return SecurityOrigin
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "webkit_security_origin_get_host" webkit_security_origin_get_host ::
Ptr SecurityOrigin ->
IO CString
securityOriginGetHost ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
-> m (Maybe T.Text)
securityOriginGetHost :: SecurityOrigin -> m (Maybe Text)
securityOriginGetHost origin :: SecurityOrigin
origin = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr SecurityOrigin
origin' <- SecurityOrigin -> IO (Ptr SecurityOrigin)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr SecurityOrigin
origin
CString
result <- Ptr SecurityOrigin -> IO CString
webkit_security_origin_get_host Ptr SecurityOrigin
origin'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \result' :: CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
SecurityOrigin -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr SecurityOrigin
origin
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data SecurityOriginGetHostMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo SecurityOriginGetHostMethodInfo SecurityOrigin signature where
overloadedMethod = securityOriginGetHost
#endif
foreign import ccall "webkit_security_origin_get_port" webkit_security_origin_get_port ::
Ptr SecurityOrigin ->
IO Word16
securityOriginGetPort ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
-> m Word16
securityOriginGetPort :: SecurityOrigin -> m Word16
securityOriginGetPort origin :: SecurityOrigin
origin = IO Word16 -> m Word16
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word16 -> m Word16) -> IO Word16 -> m Word16
forall a b. (a -> b) -> a -> b
$ do
Ptr SecurityOrigin
origin' <- SecurityOrigin -> IO (Ptr SecurityOrigin)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr SecurityOrigin
origin
Word16
result <- Ptr SecurityOrigin -> IO Word16
webkit_security_origin_get_port Ptr SecurityOrigin
origin'
SecurityOrigin -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr SecurityOrigin
origin
Word16 -> IO Word16
forall (m :: * -> *) a. Monad m => a -> m a
return Word16
result
#if defined(ENABLE_OVERLOADING)
data SecurityOriginGetPortMethodInfo
instance (signature ~ (m Word16), MonadIO m) => O.MethodInfo SecurityOriginGetPortMethodInfo SecurityOrigin signature where
overloadedMethod = securityOriginGetPort
#endif
foreign import ccall "webkit_security_origin_get_protocol" webkit_security_origin_get_protocol ::
Ptr SecurityOrigin ->
IO CString
securityOriginGetProtocol ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
-> m (Maybe T.Text)
securityOriginGetProtocol :: SecurityOrigin -> m (Maybe Text)
securityOriginGetProtocol origin :: SecurityOrigin
origin = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr SecurityOrigin
origin' <- SecurityOrigin -> IO (Ptr SecurityOrigin)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr SecurityOrigin
origin
CString
result <- Ptr SecurityOrigin -> IO CString
webkit_security_origin_get_protocol Ptr SecurityOrigin
origin'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \result' :: CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
SecurityOrigin -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr SecurityOrigin
origin
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data SecurityOriginGetProtocolMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo SecurityOriginGetProtocolMethodInfo SecurityOrigin signature where
overloadedMethod = securityOriginGetProtocol
#endif
foreign import ccall "webkit_security_origin_is_opaque" webkit_security_origin_is_opaque ::
Ptr SecurityOrigin ->
IO CInt
securityOriginIsOpaque ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
-> m Bool
securityOriginIsOpaque :: SecurityOrigin -> m Bool
securityOriginIsOpaque origin :: SecurityOrigin
origin = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr SecurityOrigin
origin' <- SecurityOrigin -> IO (Ptr SecurityOrigin)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr SecurityOrigin
origin
CInt
result <- Ptr SecurityOrigin -> IO CInt
webkit_security_origin_is_opaque Ptr SecurityOrigin
origin'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
SecurityOrigin -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr SecurityOrigin
origin
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SecurityOriginIsOpaqueMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SecurityOriginIsOpaqueMethodInfo SecurityOrigin signature where
overloadedMethod = securityOriginIsOpaque
#endif
foreign import ccall "webkit_security_origin_ref" webkit_security_origin_ref ::
Ptr SecurityOrigin ->
IO (Ptr SecurityOrigin)
securityOriginRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
-> m SecurityOrigin
securityOriginRef :: SecurityOrigin -> m SecurityOrigin
securityOriginRef origin :: SecurityOrigin
origin = IO SecurityOrigin -> m SecurityOrigin
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SecurityOrigin -> m SecurityOrigin)
-> IO SecurityOrigin -> m SecurityOrigin
forall a b. (a -> b) -> a -> b
$ do
Ptr SecurityOrigin
origin' <- SecurityOrigin -> IO (Ptr SecurityOrigin)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr SecurityOrigin
origin
Ptr SecurityOrigin
result <- Ptr SecurityOrigin -> IO (Ptr SecurityOrigin)
webkit_security_origin_ref Ptr SecurityOrigin
origin'
Text -> Ptr SecurityOrigin -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "securityOriginRef" Ptr SecurityOrigin
result
SecurityOrigin
result' <- ((ManagedPtr SecurityOrigin -> SecurityOrigin)
-> Ptr SecurityOrigin -> IO SecurityOrigin
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr SecurityOrigin -> SecurityOrigin
SecurityOrigin) Ptr SecurityOrigin
result
SecurityOrigin -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr SecurityOrigin
origin
SecurityOrigin -> IO SecurityOrigin
forall (m :: * -> *) a. Monad m => a -> m a
return SecurityOrigin
result'
#if defined(ENABLE_OVERLOADING)
data SecurityOriginRefMethodInfo
instance (signature ~ (m SecurityOrigin), MonadIO m) => O.MethodInfo SecurityOriginRefMethodInfo SecurityOrigin signature where
overloadedMethod = securityOriginRef
#endif
foreign import ccall "webkit_security_origin_to_string" webkit_security_origin_to_string ::
Ptr SecurityOrigin ->
IO CString
securityOriginToString ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
-> m (Maybe T.Text)
securityOriginToString :: SecurityOrigin -> m (Maybe Text)
securityOriginToString origin :: SecurityOrigin
origin = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr SecurityOrigin
origin' <- SecurityOrigin -> IO (Ptr SecurityOrigin)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr SecurityOrigin
origin
CString
result <- Ptr SecurityOrigin -> IO CString
webkit_security_origin_to_string Ptr SecurityOrigin
origin'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \result' :: CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
SecurityOrigin -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr SecurityOrigin
origin
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data SecurityOriginToStringMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo SecurityOriginToStringMethodInfo SecurityOrigin signature where
overloadedMethod = securityOriginToString
#endif
foreign import ccall "webkit_security_origin_unref" webkit_security_origin_unref ::
Ptr SecurityOrigin ->
IO ()
securityOriginUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
-> m ()
securityOriginUnref :: SecurityOrigin -> m ()
securityOriginUnref origin :: SecurityOrigin
origin = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr SecurityOrigin
origin' <- SecurityOrigin -> IO (Ptr SecurityOrigin)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr SecurityOrigin
origin
Ptr SecurityOrigin -> IO ()
webkit_security_origin_unref Ptr SecurityOrigin
origin'
SecurityOrigin -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr SecurityOrigin
origin
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data SecurityOriginUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo SecurityOriginUnrefMethodInfo SecurityOrigin signature where
overloadedMethod = securityOriginUnref
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveSecurityOriginMethod (t :: Symbol) (o :: *) :: * where
ResolveSecurityOriginMethod "isOpaque" o = SecurityOriginIsOpaqueMethodInfo
ResolveSecurityOriginMethod "ref" o = SecurityOriginRefMethodInfo
ResolveSecurityOriginMethod "toString" o = SecurityOriginToStringMethodInfo
ResolveSecurityOriginMethod "unref" o = SecurityOriginUnrefMethodInfo
ResolveSecurityOriginMethod "getHost" o = SecurityOriginGetHostMethodInfo
ResolveSecurityOriginMethod "getPort" o = SecurityOriginGetPortMethodInfo
ResolveSecurityOriginMethod "getProtocol" o = SecurityOriginGetProtocolMethodInfo
ResolveSecurityOriginMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSecurityOriginMethod t SecurityOrigin, O.MethodInfo info SecurityOrigin p) => OL.IsLabel t (SecurityOrigin -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif