packages feed

gi-gtksource-0.3.18.14: GI/GtkSource/Interfaces/CompletionProposal.hs


{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.GtkSource.Interfaces.CompletionProposal
    ( 

-- * Exported types
    CompletionProposal(..)                  ,
    noCompletionProposal                    ,
    CompletionProposalK                     ,
    toCompletionProposal                    ,


 -- * Methods
-- ** completionProposalChanged
    CompletionProposalChangedMethodInfo     ,
    completionProposalChanged               ,


-- ** completionProposalEqual
    CompletionProposalEqualMethodInfo       ,
    completionProposalEqual                 ,


-- ** completionProposalGetGicon
    CompletionProposalGetGiconMethodInfo    ,
    completionProposalGetGicon              ,


-- ** completionProposalGetIcon
    CompletionProposalGetIconMethodInfo     ,
    completionProposalGetIcon               ,


-- ** completionProposalGetIconName
    CompletionProposalGetIconNameMethodInfo ,
    completionProposalGetIconName           ,


-- ** completionProposalGetInfo
    CompletionProposalGetInfoMethodInfo     ,
    completionProposalGetInfo               ,


-- ** completionProposalGetLabel
    CompletionProposalGetLabelMethodInfo    ,
    completionProposalGetLabel              ,


-- ** completionProposalGetMarkup
    CompletionProposalGetMarkupMethodInfo   ,
    completionProposalGetMarkup             ,


-- ** completionProposalGetText
    CompletionProposalGetTextMethodInfo     ,
    completionProposalGetText               ,


-- ** completionProposalHash
    CompletionProposalHashMethodInfo        ,
    completionProposalHash                  ,




 -- * Signals
-- ** Changed
    CompletionProposalChangedCallback       ,
    CompletionProposalChangedCallbackC      ,
    CompletionProposalChangedSignalInfo     ,
    afterCompletionProposalChanged          ,
    completionProposalChangedCallbackWrapper,
    completionProposalChangedClosure        ,
    mkCompletionProposalChangedCallback     ,
    noCompletionProposalChangedCallback     ,
    onCompletionProposalChanged             ,




    ) where

import Data.GI.Base.ShortPrelude

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.GtkSource.Types
import GI.GtkSource.Callbacks
import qualified GI.GObject as GObject
import qualified GI.GdkPixbuf as GdkPixbuf
import qualified GI.Gio as Gio

-- interface CompletionProposal 

newtype CompletionProposal = CompletionProposal (ForeignPtr CompletionProposal)
noCompletionProposal :: Maybe CompletionProposal
noCompletionProposal = Nothing

type family ResolveCompletionProposalMethod (t :: Symbol) (o :: *) :: * where
    ResolveCompletionProposalMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
    ResolveCompletionProposalMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
    ResolveCompletionProposalMethod "changed" o = CompletionProposalChangedMethodInfo
    ResolveCompletionProposalMethod "equal" o = CompletionProposalEqualMethodInfo
    ResolveCompletionProposalMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
    ResolveCompletionProposalMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
    ResolveCompletionProposalMethod "hash" o = CompletionProposalHashMethodInfo
    ResolveCompletionProposalMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
    ResolveCompletionProposalMethod "notify" o = GObject.ObjectNotifyMethodInfo
    ResolveCompletionProposalMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
    ResolveCompletionProposalMethod "ref" o = GObject.ObjectRefMethodInfo
    ResolveCompletionProposalMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
    ResolveCompletionProposalMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
    ResolveCompletionProposalMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
    ResolveCompletionProposalMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
    ResolveCompletionProposalMethod "stealData" o = GObject.ObjectStealDataMethodInfo
    ResolveCompletionProposalMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
    ResolveCompletionProposalMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
    ResolveCompletionProposalMethod "unref" o = GObject.ObjectUnrefMethodInfo
    ResolveCompletionProposalMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
    ResolveCompletionProposalMethod "getData" o = GObject.ObjectGetDataMethodInfo
    ResolveCompletionProposalMethod "getGicon" o = CompletionProposalGetGiconMethodInfo
    ResolveCompletionProposalMethod "getIcon" o = CompletionProposalGetIconMethodInfo
    ResolveCompletionProposalMethod "getIconName" o = CompletionProposalGetIconNameMethodInfo
    ResolveCompletionProposalMethod "getInfo" o = CompletionProposalGetInfoMethodInfo
    ResolveCompletionProposalMethod "getLabel" o = CompletionProposalGetLabelMethodInfo
    ResolveCompletionProposalMethod "getMarkup" o = CompletionProposalGetMarkupMethodInfo
    ResolveCompletionProposalMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
    ResolveCompletionProposalMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
    ResolveCompletionProposalMethod "getText" o = CompletionProposalGetTextMethodInfo
    ResolveCompletionProposalMethod "setData" o = GObject.ObjectSetDataMethodInfo
    ResolveCompletionProposalMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
    ResolveCompletionProposalMethod l o = MethodResolutionFailed l o

instance (info ~ ResolveCompletionProposalMethod t CompletionProposal, MethodInfo info CompletionProposal p) => IsLabelProxy t (CompletionProposal -> p) where
    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveCompletionProposalMethod t CompletionProposal, MethodInfo info CompletionProposal p) => IsLabel t (CompletionProposal -> p) where
    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif

-- signal CompletionProposal::changed
type CompletionProposalChangedCallback =
    IO ()

noCompletionProposalChangedCallback :: Maybe CompletionProposalChangedCallback
noCompletionProposalChangedCallback = Nothing

type CompletionProposalChangedCallbackC =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkCompletionProposalChangedCallback :: CompletionProposalChangedCallbackC -> IO (FunPtr CompletionProposalChangedCallbackC)

completionProposalChangedClosure :: CompletionProposalChangedCallback -> IO Closure
completionProposalChangedClosure cb = newCClosure =<< mkCompletionProposalChangedCallback wrapped
    where wrapped = completionProposalChangedCallbackWrapper cb

completionProposalChangedCallbackWrapper ::
    CompletionProposalChangedCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
completionProposalChangedCallbackWrapper _cb _ _ = do
    _cb 

onCompletionProposalChanged :: (GObject a, MonadIO m) => a -> CompletionProposalChangedCallback -> m SignalHandlerId
onCompletionProposalChanged obj cb = liftIO $ connectCompletionProposalChanged obj cb SignalConnectBefore
afterCompletionProposalChanged :: (GObject a, MonadIO m) => a -> CompletionProposalChangedCallback -> m SignalHandlerId
afterCompletionProposalChanged obj cb = connectCompletionProposalChanged obj cb SignalConnectAfter

connectCompletionProposalChanged :: (GObject a, MonadIO m) =>
                                    a -> CompletionProposalChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectCompletionProposalChanged obj cb after = liftIO $ do
    cb' <- mkCompletionProposalChangedCallback (completionProposalChangedCallbackWrapper cb)
    connectSignalFunPtr obj "changed" cb' after

type instance AttributeList CompletionProposal = CompletionProposalAttributeList
type CompletionProposalAttributeList = ('[ ] :: [(Symbol, *)])

data CompletionProposalChangedSignalInfo
instance SignalInfo CompletionProposalChangedSignalInfo where
    type HaskellCallbackType CompletionProposalChangedSignalInfo = CompletionProposalChangedCallback
    connectSignal _ = connectCompletionProposalChanged

type instance SignalList CompletionProposal = CompletionProposalSignalList
type CompletionProposalSignalList = ('[ '("changed", CompletionProposalChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])

foreign import ccall "gtk_source_completion_proposal_get_type"
    c_gtk_source_completion_proposal_get_type :: IO GType

type instance ParentTypes CompletionProposal = CompletionProposalParentTypes
type CompletionProposalParentTypes = '[GObject.Object]

instance GObject CompletionProposal where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_gtk_source_completion_proposal_get_type
    

class GObject o => CompletionProposalK o
instance (GObject o, IsDescendantOf CompletionProposal o) => CompletionProposalK o

toCompletionProposal :: CompletionProposalK o => o -> IO CompletionProposal
toCompletionProposal = unsafeCastTo CompletionProposal

-- method CompletionProposal::changed
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_changed" gtk_source_completion_proposal_changed :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO ()


completionProposalChanged ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m ()                                 -- result
completionProposalChanged _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    gtk_source_completion_proposal_changed _obj'
    touchManagedPtr _obj
    return ()

data CompletionProposalChangedMethodInfo
instance (signature ~ (m ()), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalChangedMethodInfo a signature where
    overloadedMethod _ = completionProposalChanged

-- method CompletionProposal::equal
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "other", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_equal" gtk_source_completion_proposal_equal :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    Ptr CompletionProposal ->               -- other : TInterface "GtkSource" "CompletionProposal"
    IO CInt


completionProposalEqual ::
    (MonadIO m, CompletionProposalK a, CompletionProposalK b) =>
    a                                       -- _obj
    -> b                                    -- other
    -> m Bool                               -- result
completionProposalEqual _obj other = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let other' = unsafeManagedPtrCastPtr other
    result <- gtk_source_completion_proposal_equal _obj' other'
    let result' = (/= 0) result
    touchManagedPtr _obj
    touchManagedPtr other
    return result'

data CompletionProposalEqualMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, CompletionProposalK a, CompletionProposalK b) => MethodInfo CompletionProposalEqualMethodInfo a signature where
    overloadedMethod _ = completionProposalEqual

-- method CompletionProposal::get_gicon
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "Gio" "Icon")
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_get_gicon" gtk_source_completion_proposal_get_gicon :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO (Ptr Gio.Icon)


completionProposalGetGicon ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m (Maybe Gio.Icon)                   -- result
completionProposalGetGicon _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_source_completion_proposal_get_gicon _obj'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newObject Gio.Icon) result'
        return result''
    touchManagedPtr _obj
    return maybeResult

data CompletionProposalGetGiconMethodInfo
instance (signature ~ (m (Maybe Gio.Icon)), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetGiconMethodInfo a signature where
    overloadedMethod _ = completionProposalGetGicon

-- method CompletionProposal::get_icon
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "GdkPixbuf" "Pixbuf")
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_get_icon" gtk_source_completion_proposal_get_icon :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO (Ptr GdkPixbuf.Pixbuf)


completionProposalGetIcon ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m (Maybe GdkPixbuf.Pixbuf)           -- result
completionProposalGetIcon _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_source_completion_proposal_get_icon _obj'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newObject GdkPixbuf.Pixbuf) result'
        return result''
    touchManagedPtr _obj
    return maybeResult

data CompletionProposalGetIconMethodInfo
instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf)), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetIconMethodInfo a signature where
    overloadedMethod _ = completionProposalGetIcon

-- method CompletionProposal::get_icon_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_get_icon_name" gtk_source_completion_proposal_get_icon_name :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO CString


completionProposalGetIconName ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m (Maybe T.Text)                     -- result
completionProposalGetIconName _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_source_completion_proposal_get_icon_name _obj'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        return result''
    touchManagedPtr _obj
    return maybeResult

data CompletionProposalGetIconNameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetIconNameMethodInfo a signature where
    overloadedMethod _ = completionProposalGetIconName

-- method CompletionProposal::get_info
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_get_info" gtk_source_completion_proposal_get_info :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO CString


completionProposalGetInfo ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m (Maybe T.Text)                     -- result
completionProposalGetInfo _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_source_completion_proposal_get_info _obj'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        freeMem result'
        return result''
    touchManagedPtr _obj
    return maybeResult

data CompletionProposalGetInfoMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetInfoMethodInfo a signature where
    overloadedMethod _ = completionProposalGetInfo

-- method CompletionProposal::get_label
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_get_label" gtk_source_completion_proposal_get_label :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO CString


completionProposalGetLabel ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m T.Text                             -- result
completionProposalGetLabel _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_source_completion_proposal_get_label _obj'
    checkUnexpectedReturnNULL "gtk_source_completion_proposal_get_label" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

data CompletionProposalGetLabelMethodInfo
instance (signature ~ (m T.Text), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetLabelMethodInfo a signature where
    overloadedMethod _ = completionProposalGetLabel

-- method CompletionProposal::get_markup
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_get_markup" gtk_source_completion_proposal_get_markup :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO CString


completionProposalGetMarkup ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m T.Text                             -- result
completionProposalGetMarkup _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_source_completion_proposal_get_markup _obj'
    checkUnexpectedReturnNULL "gtk_source_completion_proposal_get_markup" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

data CompletionProposalGetMarkupMethodInfo
instance (signature ~ (m T.Text), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetMarkupMethodInfo a signature where
    overloadedMethod _ = completionProposalGetMarkup

-- method CompletionProposal::get_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_get_text" gtk_source_completion_proposal_get_text :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO CString


completionProposalGetText ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m T.Text                             -- result
completionProposalGetText _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_source_completion_proposal_get_text _obj'
    checkUnexpectedReturnNULL "gtk_source_completion_proposal_get_text" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

data CompletionProposalGetTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetTextMethodInfo a signature where
    overloadedMethod _ = completionProposalGetText

-- method CompletionProposal::hash
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_completion_proposal_hash" gtk_source_completion_proposal_hash :: 
    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
    IO Word32


completionProposalHash ::
    (MonadIO m, CompletionProposalK a) =>
    a                                       -- _obj
    -> m Word32                             -- result
completionProposalHash _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_source_completion_proposal_hash _obj'
    touchManagedPtr _obj
    return result

data CompletionProposalHashMethodInfo
instance (signature ~ (m Word32), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalHashMethodInfo a signature where
    overloadedMethod _ = completionProposalHash