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

    An AtkNoOpObject is an AtkObject which purports to implement all
    ATK interfaces. It is the type of AtkObject which is created if an
    accessible object is requested for an object type for which no
    factory type is specified.
    -}

    #define ENABLE_OVERLOADING \
           (!defined(__HADDOCK_VERSION__))

    module GI.Atk.Objects.NoOpObject
        (

    -- * Exported types
        NoOpObject(..)                          ,
        IsNoOpObject                            ,
        toNoOpObject                            ,
        noNoOpObject                            ,

     -- * Methods
    -- ** new #method:new#

        noOpObjectNew                           ,

        ) 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.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.Text as T
    import qualified Data.ByteString.Char8 as B
    import qualified Data.Map as Map
    import qualified Foreign.Ptr as FP

    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Action as Atk.Action
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Component as Atk.Component
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Document as Atk.Document
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.EditableText as Atk.EditableText
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Hypertext as Atk.Hypertext
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Image as Atk.Image
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Selection as Atk.Selection
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Table as Atk.Table
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.TableCell as Atk.TableCell
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Text as Atk.Text
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Value as Atk.Value
    import {-# SOURCE #-} qualified GI.Atk.Interfaces.Window as Atk.Window
    import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object
    import qualified GI.GObject.Objects.Object as GObject.Object

    -- | Memory-managed wrapper type.
    newtype NoOpObject = NoOpObject (ManagedPtr NoOpObject)
    foreign import ccall "atk_no_op_object_get_type"
        c_atk_no_op_object_get_type :: IO GType

    instance GObject NoOpObject where
        gobjectType _ = c_atk_no_op_object_get_type

    -- | Type class for types which can be safely cast to `NoOpObject`, for instance with `toNoOpObject`.
    class GObject o => IsNoOpObject o
    #if MIN_VERSION_base(4,9,0)
    instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError NoOpObject a) =>
        IsNoOpObject a
    #endif
    instance IsNoOpObject NoOpObject
    instance Atk.Object.IsObject NoOpObject
    instance GObject.Object.IsObject NoOpObject
    instance Atk.Action.IsAction NoOpObject
    instance Atk.Component.IsComponent NoOpObject
    instance Atk.Document.IsDocument NoOpObject
    instance Atk.EditableText.IsEditableText NoOpObject
    instance Atk.Hypertext.IsHypertext NoOpObject
    instance Atk.Image.IsImage NoOpObject
    instance Atk.Selection.IsSelection NoOpObject
    instance Atk.Table.IsTable NoOpObject
    instance Atk.TableCell.IsTableCell NoOpObject
    instance Atk.Text.IsText NoOpObject
    instance Atk.Value.IsValue NoOpObject
    instance Atk.Window.IsWindow NoOpObject

    -- | Cast to `NoOpObject`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
    toNoOpObject :: (MonadIO m, IsNoOpObject o) => o -> m NoOpObject
    toNoOpObject = liftIO . unsafeCastTo NoOpObject

    -- | A convenience alias for `Nothing` :: `Maybe` `NoOpObject`.
    noNoOpObject :: Maybe NoOpObject
    noNoOpObject = Nothing

    #if ENABLE_OVERLOADING
    type family ResolveNoOpObjectMethod (t :: Symbol) (o :: *) :: * where
        ResolveNoOpObjectMethod "addColumnSelection" o = Atk.Table.TableAddColumnSelectionMethodInfo
        ResolveNoOpObjectMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
        ResolveNoOpObjectMethod "addRowSelection" o = Atk.Table.TableAddRowSelectionMethodInfo
        ResolveNoOpObjectMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
        ResolveNoOpObjectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
        ResolveNoOpObjectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
        ResolveNoOpObjectMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
        ResolveNoOpObjectMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
        ResolveNoOpObjectMethod "copyText" o = Atk.EditableText.EditableTextCopyTextMethodInfo
        ResolveNoOpObjectMethod "cutText" o = Atk.EditableText.EditableTextCutTextMethodInfo
        ResolveNoOpObjectMethod "deleteText" o = Atk.EditableText.EditableTextDeleteTextMethodInfo
        ResolveNoOpObjectMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
        ResolveNoOpObjectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
        ResolveNoOpObjectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
        ResolveNoOpObjectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
        ResolveNoOpObjectMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
        ResolveNoOpObjectMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
        ResolveNoOpObjectMethod "insertText" o = Atk.EditableText.EditableTextInsertTextMethodInfo
        ResolveNoOpObjectMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
        ResolveNoOpObjectMethod "isColumnSelected" o = Atk.Table.TableIsColumnSelectedMethodInfo
        ResolveNoOpObjectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
        ResolveNoOpObjectMethod "isRowSelected" o = Atk.Table.TableIsRowSelectedMethodInfo
        ResolveNoOpObjectMethod "isSelected" o = Atk.Table.TableIsSelectedMethodInfo
        ResolveNoOpObjectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
        ResolveNoOpObjectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
        ResolveNoOpObjectMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
        ResolveNoOpObjectMethod "pasteText" o = Atk.EditableText.EditableTextPasteTextMethodInfo
        ResolveNoOpObjectMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
        ResolveNoOpObjectMethod "ref" o = GObject.Object.ObjectRefMethodInfo
        ResolveNoOpObjectMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
        ResolveNoOpObjectMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
        ResolveNoOpObjectMethod "refAt" o = Atk.Table.TableRefAtMethodInfo
        ResolveNoOpObjectMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
        ResolveNoOpObjectMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
        ResolveNoOpObjectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
        ResolveNoOpObjectMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
        ResolveNoOpObjectMethod "removeColumnSelection" o = Atk.Table.TableRemoveColumnSelectionMethodInfo
        ResolveNoOpObjectMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
        ResolveNoOpObjectMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
        ResolveNoOpObjectMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
        ResolveNoOpObjectMethod "removeRowSelection" o = Atk.Table.TableRemoveRowSelectionMethodInfo
        ResolveNoOpObjectMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
        ResolveNoOpObjectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
        ResolveNoOpObjectMethod "scrollSubstringTo" o = Atk.Text.TextScrollSubstringToMethodInfo
        ResolveNoOpObjectMethod "scrollSubstringToPoint" o = Atk.Text.TextScrollSubstringToPointMethodInfo
        ResolveNoOpObjectMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
        ResolveNoOpObjectMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
        ResolveNoOpObjectMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
        ResolveNoOpObjectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
        ResolveNoOpObjectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
        ResolveNoOpObjectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
        ResolveNoOpObjectMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
        ResolveNoOpObjectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
        ResolveNoOpObjectMethod "getAccessibleId" o = Atk.Object.ObjectGetAccessibleIdMethodInfo
        ResolveNoOpObjectMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
        ResolveNoOpObjectMethod "getAttributeValue" o = Atk.Document.DocumentGetAttributeValueMethodInfo
        ResolveNoOpObjectMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
        ResolveNoOpObjectMethod "getBoundedRanges" o = Atk.Text.TextGetBoundedRangesMethodInfo
        ResolveNoOpObjectMethod "getCaption" o = Atk.Table.TableGetCaptionMethodInfo
        ResolveNoOpObjectMethod "getCaretOffset" o = Atk.Text.TextGetCaretOffsetMethodInfo
        ResolveNoOpObjectMethod "getCharacterAtOffset" o = Atk.Text.TextGetCharacterAtOffsetMethodInfo
        ResolveNoOpObjectMethod "getCharacterCount" o = Atk.Text.TextGetCharacterCountMethodInfo
        ResolveNoOpObjectMethod "getCharacterExtents" o = Atk.Text.TextGetCharacterExtentsMethodInfo
        ResolveNoOpObjectMethod "getColumnAtIndex" o = Atk.Table.TableGetColumnAtIndexMethodInfo
        ResolveNoOpObjectMethod "getColumnDescription" o = Atk.Table.TableGetColumnDescriptionMethodInfo
        ResolveNoOpObjectMethod "getColumnExtentAt" o = Atk.Table.TableGetColumnExtentAtMethodInfo
        ResolveNoOpObjectMethod "getColumnHeader" o = Atk.Table.TableGetColumnHeaderMethodInfo
        ResolveNoOpObjectMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo
        ResolveNoOpObjectMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo
        ResolveNoOpObjectMethod "getCurrentPageNumber" o = Atk.Document.DocumentGetCurrentPageNumberMethodInfo
        ResolveNoOpObjectMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
        ResolveNoOpObjectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
        ResolveNoOpObjectMethod "getDefaultAttributes" o = Atk.Text.TextGetDefaultAttributesMethodInfo
        ResolveNoOpObjectMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
        ResolveNoOpObjectMethod "getDocument" o = Atk.Document.DocumentGetDocumentMethodInfo
        ResolveNoOpObjectMethod "getDocumentType" o = Atk.Document.DocumentGetDocumentTypeMethodInfo
        ResolveNoOpObjectMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
        ResolveNoOpObjectMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
        ResolveNoOpObjectMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
        ResolveNoOpObjectMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
        ResolveNoOpObjectMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
        ResolveNoOpObjectMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
        ResolveNoOpObjectMethod "getIndexAt" o = Atk.Table.TableGetIndexAtMethodInfo
        ResolveNoOpObjectMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
        ResolveNoOpObjectMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
        ResolveNoOpObjectMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
        ResolveNoOpObjectMethod "getLink" o = Atk.Hypertext.HypertextGetLinkMethodInfo
        ResolveNoOpObjectMethod "getLinkIndex" o = Atk.Hypertext.HypertextGetLinkIndexMethodInfo
        ResolveNoOpObjectMethod "getLocale" o = Atk.Document.DocumentGetLocaleMethodInfo
        ResolveNoOpObjectMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
        ResolveNoOpObjectMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
        ResolveNoOpObjectMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
        ResolveNoOpObjectMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
        ResolveNoOpObjectMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
        ResolveNoOpObjectMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
        ResolveNoOpObjectMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
        ResolveNoOpObjectMethod "getNColumns" o = Atk.Table.TableGetNColumnsMethodInfo
        ResolveNoOpObjectMethod "getNLinks" o = Atk.Hypertext.HypertextGetNLinksMethodInfo
        ResolveNoOpObjectMethod "getNRows" o = Atk.Table.TableGetNRowsMethodInfo
        ResolveNoOpObjectMethod "getNSelections" o = Atk.Text.TextGetNSelectionsMethodInfo
        ResolveNoOpObjectMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
        ResolveNoOpObjectMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
        ResolveNoOpObjectMethod "getOffsetAtPoint" o = Atk.Text.TextGetOffsetAtPointMethodInfo
        ResolveNoOpObjectMethod "getPageCount" o = Atk.Document.DocumentGetPageCountMethodInfo
        ResolveNoOpObjectMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
        ResolveNoOpObjectMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
        ResolveNoOpObjectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
        ResolveNoOpObjectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
        ResolveNoOpObjectMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
        ResolveNoOpObjectMethod "getRangeExtents" o = Atk.Text.TextGetRangeExtentsMethodInfo
        ResolveNoOpObjectMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
        ResolveNoOpObjectMethod "getRowAtIndex" o = Atk.Table.TableGetRowAtIndexMethodInfo
        ResolveNoOpObjectMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo
        ResolveNoOpObjectMethod "getRowDescription" o = Atk.Table.TableGetRowDescriptionMethodInfo
        ResolveNoOpObjectMethod "getRowExtentAt" o = Atk.Table.TableGetRowExtentAtMethodInfo
        ResolveNoOpObjectMethod "getRowHeader" o = Atk.Table.TableGetRowHeaderMethodInfo
        ResolveNoOpObjectMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo
        ResolveNoOpObjectMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo
        ResolveNoOpObjectMethod "getRunAttributes" o = Atk.Text.TextGetRunAttributesMethodInfo
        ResolveNoOpObjectMethod "getSelectedColumns" o = Atk.Table.TableGetSelectedColumnsMethodInfo
        ResolveNoOpObjectMethod "getSelectedRows" o = Atk.Table.TableGetSelectedRowsMethodInfo
        ResolveNoOpObjectMethod "getSelection" o = Atk.Text.TextGetSelectionMethodInfo
        ResolveNoOpObjectMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
        ResolveNoOpObjectMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
        ResolveNoOpObjectMethod "getStringAtOffset" o = Atk.Text.TextGetStringAtOffsetMethodInfo
        ResolveNoOpObjectMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
        ResolveNoOpObjectMethod "getSummary" o = Atk.Table.TableGetSummaryMethodInfo
        ResolveNoOpObjectMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo
        ResolveNoOpObjectMethod "getText" o = Atk.Text.TextGetTextMethodInfo
        ResolveNoOpObjectMethod "getTextAfterOffset" o = Atk.Text.TextGetTextAfterOffsetMethodInfo
        ResolveNoOpObjectMethod "getTextAtOffset" o = Atk.Text.TextGetTextAtOffsetMethodInfo
        ResolveNoOpObjectMethod "getTextBeforeOffset" o = Atk.Text.TextGetTextBeforeOffsetMethodInfo
        ResolveNoOpObjectMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
        ResolveNoOpObjectMethod "setAccessibleId" o = Atk.Object.ObjectSetAccessibleIdMethodInfo
        ResolveNoOpObjectMethod "setAttributeValue" o = Atk.Document.DocumentSetAttributeValueMethodInfo
        ResolveNoOpObjectMethod "setCaption" o = Atk.Table.TableSetCaptionMethodInfo
        ResolveNoOpObjectMethod "setCaretOffset" o = Atk.Text.TextSetCaretOffsetMethodInfo
        ResolveNoOpObjectMethod "setColumnDescription" o = Atk.Table.TableSetColumnDescriptionMethodInfo
        ResolveNoOpObjectMethod "setColumnHeader" o = Atk.Table.TableSetColumnHeaderMethodInfo
        ResolveNoOpObjectMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
        ResolveNoOpObjectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
        ResolveNoOpObjectMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
        ResolveNoOpObjectMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
        ResolveNoOpObjectMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
        ResolveNoOpObjectMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
        ResolveNoOpObjectMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
        ResolveNoOpObjectMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
        ResolveNoOpObjectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
        ResolveNoOpObjectMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
        ResolveNoOpObjectMethod "setRowDescription" o = Atk.Table.TableSetRowDescriptionMethodInfo
        ResolveNoOpObjectMethod "setRowHeader" o = Atk.Table.TableSetRowHeaderMethodInfo
        ResolveNoOpObjectMethod "setRunAttributes" o = Atk.EditableText.EditableTextSetRunAttributesMethodInfo
        ResolveNoOpObjectMethod "setSelection" o = Atk.Text.TextSetSelectionMethodInfo
        ResolveNoOpObjectMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
        ResolveNoOpObjectMethod "setSummary" o = Atk.Table.TableSetSummaryMethodInfo
        ResolveNoOpObjectMethod "setTextContents" o = Atk.EditableText.EditableTextSetTextContentsMethodInfo
        ResolveNoOpObjectMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
        ResolveNoOpObjectMethod l o = O.MethodResolutionFailed l o

    instance (info ~ ResolveNoOpObjectMethod t NoOpObject, O.MethodInfo info NoOpObject p) => O.IsLabelProxy t (NoOpObject -> p) where
        fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

    #if MIN_VERSION_base(4,9,0)
    instance (info ~ ResolveNoOpObjectMethod t NoOpObject, O.MethodInfo info NoOpObject p) => O.IsLabel t (NoOpObject -> 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

    #endif

    #if ENABLE_OVERLOADING
    instance O.HasAttributeList NoOpObject
    type instance O.AttributeList NoOpObject = NoOpObjectAttributeList
    type NoOpObjectAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
    #endif

    #if ENABLE_OVERLOADING
    #endif

    #if ENABLE_OVERLOADING
    type instance O.SignalList NoOpObject = NoOpObjectSignalList
    type NoOpObjectSignalList = ('[ '("activate", Atk.Window.WindowActivateSignalInfo), '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("columnDeleted", Atk.Table.TableColumnDeletedSignalInfo), '("columnInserted", Atk.Table.TableColumnInsertedSignalInfo), '("columnReordered", Atk.Table.TableColumnReorderedSignalInfo), '("create", Atk.Window.WindowCreateSignalInfo), '("deactivate", Atk.Window.WindowDeactivateSignalInfo), '("destroy", Atk.Window.WindowDestroySignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("linkSelected", Atk.Hypertext.HypertextLinkSelectedSignalInfo), '("loadComplete", Atk.Document.DocumentLoadCompleteSignalInfo), '("loadStopped", Atk.Document.DocumentLoadStoppedSignalInfo), '("maximize", Atk.Window.WindowMaximizeSignalInfo), '("minimize", Atk.Window.WindowMinimizeSignalInfo), '("modelChanged", Atk.Table.TableModelChangedSignalInfo), '("move", Atk.Window.WindowMoveSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pageChanged", Atk.Document.DocumentPageChangedSignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("reload", Atk.Document.DocumentReloadSignalInfo), '("resize", Atk.Window.WindowResizeSignalInfo), '("restore", Atk.Window.WindowRestoreSignalInfo), '("rowDeleted", Atk.Table.TableRowDeletedSignalInfo), '("rowInserted", Atk.Table.TableRowInsertedSignalInfo), '("rowReordered", Atk.Table.TableRowReorderedSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("textAttributesChanged", Atk.Text.TextTextAttributesChangedSignalInfo), '("textCaretMoved", Atk.Text.TextTextCaretMovedSignalInfo), '("textChanged", Atk.Text.TextTextChangedSignalInfo), '("textInsert", Atk.Text.TextTextInsertSignalInfo), '("textRemove", Atk.Text.TextTextRemoveSignalInfo), '("textSelectionChanged", Atk.Text.TextTextSelectionChangedSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])

    #endif

    -- method NoOpObject::new
    -- method type : Constructor
    -- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
    -- Lengths : []
    -- returnType : Just (TInterface (Name {namespace = "Atk", name = "NoOpObject"}))
    -- throws : False
    -- Skip return : False

    foreign import ccall "atk_no_op_object_new" atk_no_op_object_new ::
        Ptr GObject.Object.Object ->            -- obj : TInterface (Name {namespace = "GObject", name = "Object"})
        IO (Ptr NoOpObject)

    {- |
    Provides a default (non-functioning stub) 'GI.Atk.Objects.Object.Object'.
    Application maintainers should not use this method.
    -}
    noOpObjectNew ::
        (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
        a
        {- ^ /@obj@/: a 'GI.GObject.Objects.Object.Object' -}
        -> m NoOpObject
        {- ^ __Returns:__ a default (non-functioning stub) 'GI.Atk.Objects.Object.Object' -}
    noOpObjectNew obj = liftIO $ do
        obj' <- unsafeManagedPtrCastPtr obj
        result <- atk_no_op_object_new obj'
        checkUnexpectedReturnNULL "noOpObjectNew" result
        result' <- (wrapObject NoOpObject) result
        touchManagedPtr obj
        return result'

    #if ENABLE_OVERLOADING
    #endif