gi-glib-0.2.46.15: GI/GLib/Structs/Scanner.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)
The data structure representing a lexical scanner.
You should set @input_name after creating the scanner, since
it is used by the default message handler when displaying
warnings and errors. If you are scanning a file, the filename
would be a good choice.
The @user_data and @max_parse_errors fields are not used.
If you need to associate extra data with the scanner you
can place them here.
If you want to use your own message handler you can set the
@msg_handler field. The type of the message handler function
is declared by #GScannerMsgFunc.
-}
module GI.GLib.Structs.Scanner
(
-- * Exported types
Scanner(..) ,
newZeroScanner ,
noScanner ,
-- * Methods
-- ** scannerCurLine
ScannerCurLineMethodInfo ,
scannerCurLine ,
-- ** scannerCurPosition
ScannerCurPositionMethodInfo ,
scannerCurPosition ,
-- ** scannerCurToken
ScannerCurTokenMethodInfo ,
scannerCurToken ,
-- ** scannerDestroy
ScannerDestroyMethodInfo ,
scannerDestroy ,
-- ** scannerEof
ScannerEofMethodInfo ,
scannerEof ,
-- ** scannerGetNextToken
ScannerGetNextTokenMethodInfo ,
scannerGetNextToken ,
-- ** scannerInputFile
ScannerInputFileMethodInfo ,
scannerInputFile ,
-- ** scannerInputText
ScannerInputTextMethodInfo ,
scannerInputText ,
-- ** scannerPeekNextToken
ScannerPeekNextTokenMethodInfo ,
scannerPeekNextToken ,
-- ** scannerScopeAddSymbol
ScannerScopeAddSymbolMethodInfo ,
scannerScopeAddSymbol ,
-- ** scannerScopeRemoveSymbol
ScannerScopeRemoveSymbolMethodInfo ,
scannerScopeRemoveSymbol ,
-- ** scannerSetScope
ScannerSetScopeMethodInfo ,
scannerSetScope ,
-- ** scannerSyncFileOffset
ScannerSyncFileOffsetMethodInfo ,
scannerSyncFileOffset ,
-- ** scannerUnexpToken
ScannerUnexpTokenMethodInfo ,
scannerUnexpToken ,
-- * Properties
-- ** Config
scannerClearConfig ,
scannerConfig ,
scannerReadConfig ,
scannerWriteConfig ,
-- ** InputName
scannerClearInputName ,
scannerInputName ,
scannerReadInputName ,
scannerWriteInputName ,
-- ** Line
scannerLine ,
scannerReadLine ,
scannerWriteLine ,
-- ** MaxParseErrors
scannerMaxParseErrors ,
scannerReadMaxParseErrors ,
scannerWriteMaxParseErrors ,
-- ** NextLine
scannerNextLine ,
scannerReadNextLine ,
scannerWriteNextLine ,
-- ** NextPosition
scannerNextPosition ,
scannerReadNextPosition ,
scannerWriteNextPosition ,
-- ** NextToken
scannerNextToken ,
scannerReadNextToken ,
scannerWriteNextToken ,
-- ** NextValue
scannerClearNextValue ,
scannerNextValue ,
scannerReadNextValue ,
scannerWriteNextValue ,
-- ** ParseErrors
scannerParseErrors ,
scannerReadParseErrors ,
scannerWriteParseErrors ,
-- ** Position
scannerPosition ,
scannerReadPosition ,
scannerWritePosition ,
-- ** Qdata
scannerClearQdata ,
scannerQdata ,
scannerReadQdata ,
scannerWriteQdata ,
-- ** Token
scannerReadToken ,
scannerToken ,
scannerWriteToken ,
-- ** UserData
scannerClearUserData ,
scannerReadUserData ,
scannerUserData ,
scannerWriteUserData ,
-- ** Value
scannerClearValue ,
scannerReadValue ,
scannerValue ,
scannerWriteValue ,
) 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.GLib.Types
import GI.GLib.Callbacks
newtype Scanner = Scanner (ForeignPtr Scanner)
instance WrappedPtr Scanner where
wrappedPtrCalloc = callocBytes 144
wrappedPtrCopy = copyPtr 144
wrappedPtrFree = Just ptr_to_g_free
-- | Construct a `Scanner` struct initialized to zero.
newZeroScanner :: MonadIO m => m Scanner
newZeroScanner = liftIO $ wrappedPtrCalloc >>= wrapPtr Scanner
instance tag ~ 'AttrSet => Constructible Scanner tag where
new _ attrs = do
o <- newZeroScanner
GI.Attributes.set o attrs
return o
noScanner :: Maybe Scanner
noScanner = Nothing
scannerReadUserData :: MonadIO m => Scanner -> m (Ptr ())
scannerReadUserData s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
return val
scannerWriteUserData :: MonadIO m => Scanner -> Ptr () -> m ()
scannerWriteUserData s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Ptr ())
scannerClearUserData :: MonadIO m => Scanner -> m ()
scannerClearUserData s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (nullPtr :: Ptr ())
data ScannerUserDataFieldInfo
instance AttrInfo ScannerUserDataFieldInfo where
type AttrAllowedOps ScannerUserDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ScannerUserDataFieldInfo = (~) (Ptr ())
type AttrBaseTypeConstraint ScannerUserDataFieldInfo = (~) Scanner
type AttrGetType ScannerUserDataFieldInfo = Ptr ()
type AttrLabel ScannerUserDataFieldInfo = "user_data"
attrGet _ = scannerReadUserData
attrSet _ = scannerWriteUserData
attrConstruct = undefined
attrClear _ = scannerClearUserData
scannerUserData :: AttrLabelProxy "userData"
scannerUserData = AttrLabelProxy
scannerReadMaxParseErrors :: MonadIO m => Scanner -> m Word32
scannerReadMaxParseErrors s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO Word32
return val
scannerWriteMaxParseErrors :: MonadIO m => Scanner -> Word32 -> m ()
scannerWriteMaxParseErrors s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: Word32)
data ScannerMaxParseErrorsFieldInfo
instance AttrInfo ScannerMaxParseErrorsFieldInfo where
type AttrAllowedOps ScannerMaxParseErrorsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ScannerMaxParseErrorsFieldInfo = (~) Word32
type AttrBaseTypeConstraint ScannerMaxParseErrorsFieldInfo = (~) Scanner
type AttrGetType ScannerMaxParseErrorsFieldInfo = Word32
type AttrLabel ScannerMaxParseErrorsFieldInfo = "max_parse_errors"
attrGet _ = scannerReadMaxParseErrors
attrSet _ = scannerWriteMaxParseErrors
attrConstruct = undefined
attrClear _ = undefined
scannerMaxParseErrors :: AttrLabelProxy "maxParseErrors"
scannerMaxParseErrors = AttrLabelProxy
scannerReadParseErrors :: MonadIO m => Scanner -> m Word32
scannerReadParseErrors s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 12) :: IO Word32
return val
scannerWriteParseErrors :: MonadIO m => Scanner -> Word32 -> m ()
scannerWriteParseErrors s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 12) (val :: Word32)
data ScannerParseErrorsFieldInfo
instance AttrInfo ScannerParseErrorsFieldInfo where
type AttrAllowedOps ScannerParseErrorsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ScannerParseErrorsFieldInfo = (~) Word32
type AttrBaseTypeConstraint ScannerParseErrorsFieldInfo = (~) Scanner
type AttrGetType ScannerParseErrorsFieldInfo = Word32
type AttrLabel ScannerParseErrorsFieldInfo = "parse_errors"
attrGet _ = scannerReadParseErrors
attrSet _ = scannerWriteParseErrors
attrConstruct = undefined
attrClear _ = undefined
scannerParseErrors :: AttrLabelProxy "parseErrors"
scannerParseErrors = AttrLabelProxy
scannerReadInputName :: MonadIO m => Scanner -> m (Maybe T.Text)
scannerReadInputName s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO CString
result <- convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
scannerWriteInputName :: MonadIO m => Scanner -> CString -> m ()
scannerWriteInputName s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: CString)
scannerClearInputName :: MonadIO m => Scanner -> m ()
scannerClearInputName s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (nullPtr :: CString)
data ScannerInputNameFieldInfo
instance AttrInfo ScannerInputNameFieldInfo where
type AttrAllowedOps ScannerInputNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ScannerInputNameFieldInfo = (~) CString
type AttrBaseTypeConstraint ScannerInputNameFieldInfo = (~) Scanner
type AttrGetType ScannerInputNameFieldInfo = Maybe T.Text
type AttrLabel ScannerInputNameFieldInfo = "input_name"
attrGet _ = scannerReadInputName
attrSet _ = scannerWriteInputName
attrConstruct = undefined
attrClear _ = scannerClearInputName
scannerInputName :: AttrLabelProxy "inputName"
scannerInputName = AttrLabelProxy
scannerReadQdata :: MonadIO m => Scanner -> m (Maybe Data)
scannerReadQdata s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO (Ptr Data)
result <- convertIfNonNull val $ \val' -> do
val'' <- (newPtr Data) val'
return val''
return result
scannerWriteQdata :: MonadIO m => Scanner -> Ptr Data -> m ()
scannerWriteQdata s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (val :: Ptr Data)
scannerClearQdata :: MonadIO m => Scanner -> m ()
scannerClearQdata s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (nullPtr :: Ptr Data)
data ScannerQdataFieldInfo
instance AttrInfo ScannerQdataFieldInfo where
type AttrAllowedOps ScannerQdataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ScannerQdataFieldInfo = (~) (Ptr Data)
type AttrBaseTypeConstraint ScannerQdataFieldInfo = (~) Scanner
type AttrGetType ScannerQdataFieldInfo = Maybe Data
type AttrLabel ScannerQdataFieldInfo = "qdata"
attrGet _ = scannerReadQdata
attrSet _ = scannerWriteQdata
attrConstruct = undefined
attrClear _ = scannerClearQdata
scannerQdata :: AttrLabelProxy "qdata"
scannerQdata = AttrLabelProxy
scannerReadConfig :: MonadIO m => Scanner -> m (Maybe ScannerConfig)
scannerReadConfig s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 32) :: IO (Ptr ScannerConfig)
result <- convertIfNonNull val $ \val' -> do
val'' <- (newPtr ScannerConfig) val'
return val''
return result
scannerWriteConfig :: MonadIO m => Scanner -> Ptr ScannerConfig -> m ()
scannerWriteConfig s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 32) (val :: Ptr ScannerConfig)
scannerClearConfig :: MonadIO m => Scanner -> m ()
scannerClearConfig s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 32) (nullPtr :: Ptr ScannerConfig)
data ScannerConfigFieldInfo
instance AttrInfo ScannerConfigFieldInfo where
type AttrAllowedOps ScannerConfigFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ScannerConfigFieldInfo = (~) (Ptr ScannerConfig)
type AttrBaseTypeConstraint ScannerConfigFieldInfo = (~) Scanner
type AttrGetType ScannerConfigFieldInfo = Maybe ScannerConfig
type AttrLabel ScannerConfigFieldInfo = "config"
attrGet _ = scannerReadConfig
attrSet _ = scannerWriteConfig
attrConstruct = undefined
attrClear _ = scannerClearConfig
scannerConfig :: AttrLabelProxy "config"
scannerConfig = AttrLabelProxy
scannerReadToken :: MonadIO m => Scanner -> m TokenType
scannerReadToken s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 40) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
scannerWriteToken :: MonadIO m => Scanner -> TokenType -> m ()
scannerWriteToken s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 40) (val' :: CUInt)
data ScannerTokenFieldInfo
instance AttrInfo ScannerTokenFieldInfo where
type AttrAllowedOps ScannerTokenFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ScannerTokenFieldInfo = (~) TokenType
type AttrBaseTypeConstraint ScannerTokenFieldInfo = (~) Scanner
type AttrGetType ScannerTokenFieldInfo = TokenType
type AttrLabel ScannerTokenFieldInfo = "token"
attrGet _ = scannerReadToken
attrSet _ = scannerWriteToken
attrConstruct = undefined
attrClear _ = undefined
scannerToken :: AttrLabelProxy "token"
scannerToken = AttrLabelProxy
scannerReadValue :: MonadIO m => Scanner -> m (Maybe TokenValue)
scannerReadValue s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 48) :: IO (Ptr TokenValue)
result <- convertIfNonNull val $ \val' -> do
val'' <- (newPtr TokenValue) val'
return val''
return result
scannerWriteValue :: MonadIO m => Scanner -> Ptr TokenValue -> m ()
scannerWriteValue s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 48) (val :: Ptr TokenValue)
scannerClearValue :: MonadIO m => Scanner -> m ()
scannerClearValue s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 48) (nullPtr :: Ptr TokenValue)
data ScannerValueFieldInfo
instance AttrInfo ScannerValueFieldInfo where
type AttrAllowedOps ScannerValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ScannerValueFieldInfo = (~) (Ptr TokenValue)
type AttrBaseTypeConstraint ScannerValueFieldInfo = (~) Scanner
type AttrGetType ScannerValueFieldInfo = Maybe TokenValue
type AttrLabel ScannerValueFieldInfo = "value"
attrGet _ = scannerReadValue
attrSet _ = scannerWriteValue
attrConstruct = undefined
attrClear _ = scannerClearValue
scannerValue :: AttrLabelProxy "value"
scannerValue = AttrLabelProxy
scannerReadLine :: MonadIO m => Scanner -> m Word32
scannerReadLine s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 56) :: IO Word32
return val
scannerWriteLine :: MonadIO m => Scanner -> Word32 -> m ()
scannerWriteLine s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 56) (val :: Word32)
data ScannerLineFieldInfo
instance AttrInfo ScannerLineFieldInfo where
type AttrAllowedOps ScannerLineFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ScannerLineFieldInfo = (~) Word32
type AttrBaseTypeConstraint ScannerLineFieldInfo = (~) Scanner
type AttrGetType ScannerLineFieldInfo = Word32
type AttrLabel ScannerLineFieldInfo = "line"
attrGet _ = scannerReadLine
attrSet _ = scannerWriteLine
attrConstruct = undefined
attrClear _ = undefined
scannerLine :: AttrLabelProxy "line"
scannerLine = AttrLabelProxy
scannerReadPosition :: MonadIO m => Scanner -> m Word32
scannerReadPosition s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 60) :: IO Word32
return val
scannerWritePosition :: MonadIO m => Scanner -> Word32 -> m ()
scannerWritePosition s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 60) (val :: Word32)
data ScannerPositionFieldInfo
instance AttrInfo ScannerPositionFieldInfo where
type AttrAllowedOps ScannerPositionFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ScannerPositionFieldInfo = (~) Word32
type AttrBaseTypeConstraint ScannerPositionFieldInfo = (~) Scanner
type AttrGetType ScannerPositionFieldInfo = Word32
type AttrLabel ScannerPositionFieldInfo = "position"
attrGet _ = scannerReadPosition
attrSet _ = scannerWritePosition
attrConstruct = undefined
attrClear _ = undefined
scannerPosition :: AttrLabelProxy "position"
scannerPosition = AttrLabelProxy
scannerReadNextToken :: MonadIO m => Scanner -> m TokenType
scannerReadNextToken s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 64) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
scannerWriteNextToken :: MonadIO m => Scanner -> TokenType -> m ()
scannerWriteNextToken s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 64) (val' :: CUInt)
data ScannerNextTokenFieldInfo
instance AttrInfo ScannerNextTokenFieldInfo where
type AttrAllowedOps ScannerNextTokenFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ScannerNextTokenFieldInfo = (~) TokenType
type AttrBaseTypeConstraint ScannerNextTokenFieldInfo = (~) Scanner
type AttrGetType ScannerNextTokenFieldInfo = TokenType
type AttrLabel ScannerNextTokenFieldInfo = "next_token"
attrGet _ = scannerReadNextToken
attrSet _ = scannerWriteNextToken
attrConstruct = undefined
attrClear _ = undefined
scannerNextToken :: AttrLabelProxy "nextToken"
scannerNextToken = AttrLabelProxy
scannerReadNextValue :: MonadIO m => Scanner -> m (Maybe TokenValue)
scannerReadNextValue s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 72) :: IO (Ptr TokenValue)
result <- convertIfNonNull val $ \val' -> do
val'' <- (newPtr TokenValue) val'
return val''
return result
scannerWriteNextValue :: MonadIO m => Scanner -> Ptr TokenValue -> m ()
scannerWriteNextValue s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 72) (val :: Ptr TokenValue)
scannerClearNextValue :: MonadIO m => Scanner -> m ()
scannerClearNextValue s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 72) (nullPtr :: Ptr TokenValue)
data ScannerNextValueFieldInfo
instance AttrInfo ScannerNextValueFieldInfo where
type AttrAllowedOps ScannerNextValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ScannerNextValueFieldInfo = (~) (Ptr TokenValue)
type AttrBaseTypeConstraint ScannerNextValueFieldInfo = (~) Scanner
type AttrGetType ScannerNextValueFieldInfo = Maybe TokenValue
type AttrLabel ScannerNextValueFieldInfo = "next_value"
attrGet _ = scannerReadNextValue
attrSet _ = scannerWriteNextValue
attrConstruct = undefined
attrClear _ = scannerClearNextValue
scannerNextValue :: AttrLabelProxy "nextValue"
scannerNextValue = AttrLabelProxy
scannerReadNextLine :: MonadIO m => Scanner -> m Word32
scannerReadNextLine s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 80) :: IO Word32
return val
scannerWriteNextLine :: MonadIO m => Scanner -> Word32 -> m ()
scannerWriteNextLine s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 80) (val :: Word32)
data ScannerNextLineFieldInfo
instance AttrInfo ScannerNextLineFieldInfo where
type AttrAllowedOps ScannerNextLineFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ScannerNextLineFieldInfo = (~) Word32
type AttrBaseTypeConstraint ScannerNextLineFieldInfo = (~) Scanner
type AttrGetType ScannerNextLineFieldInfo = Word32
type AttrLabel ScannerNextLineFieldInfo = "next_line"
attrGet _ = scannerReadNextLine
attrSet _ = scannerWriteNextLine
attrConstruct = undefined
attrClear _ = undefined
scannerNextLine :: AttrLabelProxy "nextLine"
scannerNextLine = AttrLabelProxy
scannerReadNextPosition :: MonadIO m => Scanner -> m Word32
scannerReadNextPosition s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 84) :: IO Word32
return val
scannerWriteNextPosition :: MonadIO m => Scanner -> Word32 -> m ()
scannerWriteNextPosition s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 84) (val :: Word32)
data ScannerNextPositionFieldInfo
instance AttrInfo ScannerNextPositionFieldInfo where
type AttrAllowedOps ScannerNextPositionFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ScannerNextPositionFieldInfo = (~) Word32
type AttrBaseTypeConstraint ScannerNextPositionFieldInfo = (~) Scanner
type AttrGetType ScannerNextPositionFieldInfo = Word32
type AttrLabel ScannerNextPositionFieldInfo = "next_position"
attrGet _ = scannerReadNextPosition
attrSet _ = scannerWriteNextPosition
attrConstruct = undefined
attrClear _ = undefined
scannerNextPosition :: AttrLabelProxy "nextPosition"
scannerNextPosition = AttrLabelProxy
-- XXX Skipped attribute for "Scanner:msg_handler" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
type instance AttributeList Scanner = ScannerAttributeList
type ScannerAttributeList = ('[ '("userData", ScannerUserDataFieldInfo), '("maxParseErrors", ScannerMaxParseErrorsFieldInfo), '("parseErrors", ScannerParseErrorsFieldInfo), '("inputName", ScannerInputNameFieldInfo), '("qdata", ScannerQdataFieldInfo), '("config", ScannerConfigFieldInfo), '("token", ScannerTokenFieldInfo), '("value", ScannerValueFieldInfo), '("line", ScannerLineFieldInfo), '("position", ScannerPositionFieldInfo), '("nextToken", ScannerNextTokenFieldInfo), '("nextValue", ScannerNextValueFieldInfo), '("nextLine", ScannerNextLineFieldInfo), '("nextPosition", ScannerNextPositionFieldInfo)] :: [(Symbol, *)])
-- method Scanner::cur_line
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", 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 "g_scanner_cur_line" g_scanner_cur_line ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
IO Word32
scannerCurLine ::
(MonadIO m) =>
Scanner -- _obj
-> m Word32 -- result
scannerCurLine _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_scanner_cur_line _obj'
touchManagedPtr _obj
return result
data ScannerCurLineMethodInfo
instance (signature ~ (m Word32), MonadIO m) => MethodInfo ScannerCurLineMethodInfo Scanner signature where
overloadedMethod _ = scannerCurLine
-- method Scanner::cur_position
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", 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 "g_scanner_cur_position" g_scanner_cur_position ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
IO Word32
scannerCurPosition ::
(MonadIO m) =>
Scanner -- _obj
-> m Word32 -- result
scannerCurPosition _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_scanner_cur_position _obj'
touchManagedPtr _obj
return result
data ScannerCurPositionMethodInfo
instance (signature ~ (m Word32), MonadIO m) => MethodInfo ScannerCurPositionMethodInfo Scanner signature where
overloadedMethod _ = scannerCurPosition
-- method Scanner::cur_token
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "GLib" "TokenType")
-- throws : False
-- Skip return : False
foreign import ccall "g_scanner_cur_token" g_scanner_cur_token ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
IO CUInt
scannerCurToken ::
(MonadIO m) =>
Scanner -- _obj
-> m TokenType -- result
scannerCurToken _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_scanner_cur_token _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data ScannerCurTokenMethodInfo
instance (signature ~ (m TokenType), MonadIO m) => MethodInfo ScannerCurTokenMethodInfo Scanner signature where
overloadedMethod _ = scannerCurToken
-- method Scanner::destroy
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", 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 "g_scanner_destroy" g_scanner_destroy ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
IO ()
scannerDestroy ::
(MonadIO m) =>
Scanner -- _obj
-> m () -- result
scannerDestroy _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_scanner_destroy _obj'
touchManagedPtr _obj
return ()
data ScannerDestroyMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo ScannerDestroyMethodInfo Scanner signature where
overloadedMethod _ = scannerDestroy
-- method Scanner::eof
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", 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 "g_scanner_eof" g_scanner_eof ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
IO CInt
scannerEof ::
(MonadIO m) =>
Scanner -- _obj
-> m Bool -- result
scannerEof _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_scanner_eof _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data ScannerEofMethodInfo
instance (signature ~ (m Bool), MonadIO m) => MethodInfo ScannerEofMethodInfo Scanner signature where
overloadedMethod _ = scannerEof
-- method Scanner::get_next_token
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "GLib" "TokenType")
-- throws : False
-- Skip return : False
foreign import ccall "g_scanner_get_next_token" g_scanner_get_next_token ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
IO CUInt
scannerGetNextToken ::
(MonadIO m) =>
Scanner -- _obj
-> m TokenType -- result
scannerGetNextToken _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_scanner_get_next_token _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data ScannerGetNextTokenMethodInfo
instance (signature ~ (m TokenType), MonadIO m) => MethodInfo ScannerGetNextTokenMethodInfo Scanner signature where
overloadedMethod _ = scannerGetNextToken
-- method Scanner::input_file
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "input_fd", argType = TBasicType TInt, 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 "g_scanner_input_file" g_scanner_input_file ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
Int32 -> -- input_fd : TBasicType TInt
IO ()
scannerInputFile ::
(MonadIO m) =>
Scanner -- _obj
-> Int32 -- inputFd
-> m () -- result
scannerInputFile _obj inputFd = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_scanner_input_file _obj' inputFd
touchManagedPtr _obj
return ()
data ScannerInputFileMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m) => MethodInfo ScannerInputFileMethodInfo Scanner signature where
overloadedMethod _ = scannerInputFile
-- method Scanner::input_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text_len", argType = TBasicType TUInt, 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 "g_scanner_input_text" g_scanner_input_text ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
CString -> -- text : TBasicType TUTF8
Word32 -> -- text_len : TBasicType TUInt
IO ()
scannerInputText ::
(MonadIO m) =>
Scanner -- _obj
-> T.Text -- text
-> Word32 -- textLen
-> m () -- result
scannerInputText _obj text textLen = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
text' <- textToCString text
g_scanner_input_text _obj' text' textLen
touchManagedPtr _obj
freeMem text'
return ()
data ScannerInputTextMethodInfo
instance (signature ~ (T.Text -> Word32 -> m ()), MonadIO m) => MethodInfo ScannerInputTextMethodInfo Scanner signature where
overloadedMethod _ = scannerInputText
-- method Scanner::peek_next_token
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "GLib" "TokenType")
-- throws : False
-- Skip return : False
foreign import ccall "g_scanner_peek_next_token" g_scanner_peek_next_token ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
IO CUInt
scannerPeekNextToken ::
(MonadIO m) =>
Scanner -- _obj
-> m TokenType -- result
scannerPeekNextToken _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_scanner_peek_next_token _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data ScannerPeekNextTokenMethodInfo
instance (signature ~ (m TokenType), MonadIO m) => MethodInfo ScannerPeekNextTokenMethodInfo Scanner signature where
overloadedMethod _ = scannerPeekNextToken
-- method Scanner::scope_add_symbol
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scope_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, 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 "g_scanner_scope_add_symbol" g_scanner_scope_add_symbol ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
Word32 -> -- scope_id : TBasicType TUInt
CString -> -- symbol : TBasicType TUTF8
Ptr () -> -- value : TBasicType TPtr
IO ()
scannerScopeAddSymbol ::
(MonadIO m) =>
Scanner -- _obj
-> Word32 -- scopeId
-> T.Text -- symbol
-> Ptr () -- value
-> m () -- result
scannerScopeAddSymbol _obj scopeId symbol value = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
symbol' <- textToCString symbol
g_scanner_scope_add_symbol _obj' scopeId symbol' value
touchManagedPtr _obj
freeMem symbol'
return ()
data ScannerScopeAddSymbolMethodInfo
instance (signature ~ (Word32 -> T.Text -> Ptr () -> m ()), MonadIO m) => MethodInfo ScannerScopeAddSymbolMethodInfo Scanner signature where
overloadedMethod _ = scannerScopeAddSymbol
-- method Scanner::scope_remove_symbol
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scope_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol", argType = TBasicType TUTF8, 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 "g_scanner_scope_remove_symbol" g_scanner_scope_remove_symbol ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
Word32 -> -- scope_id : TBasicType TUInt
CString -> -- symbol : TBasicType TUTF8
IO ()
scannerScopeRemoveSymbol ::
(MonadIO m) =>
Scanner -- _obj
-> Word32 -- scopeId
-> T.Text -- symbol
-> m () -- result
scannerScopeRemoveSymbol _obj scopeId symbol = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
symbol' <- textToCString symbol
g_scanner_scope_remove_symbol _obj' scopeId symbol'
touchManagedPtr _obj
freeMem symbol'
return ()
data ScannerScopeRemoveSymbolMethodInfo
instance (signature ~ (Word32 -> T.Text -> m ()), MonadIO m) => MethodInfo ScannerScopeRemoveSymbolMethodInfo Scanner signature where
overloadedMethod _ = scannerScopeRemoveSymbol
-- method Scanner::set_scope
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scope_id", argType = TBasicType TUInt, 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 "g_scanner_set_scope" g_scanner_set_scope ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
Word32 -> -- scope_id : TBasicType TUInt
IO Word32
scannerSetScope ::
(MonadIO m) =>
Scanner -- _obj
-> Word32 -- scopeId
-> m Word32 -- result
scannerSetScope _obj scopeId = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_scanner_set_scope _obj' scopeId
touchManagedPtr _obj
return result
data ScannerSetScopeMethodInfo
instance (signature ~ (Word32 -> m Word32), MonadIO m) => MethodInfo ScannerSetScopeMethodInfo Scanner signature where
overloadedMethod _ = scannerSetScope
-- method Scanner::sync_file_offset
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", 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 "g_scanner_sync_file_offset" g_scanner_sync_file_offset ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
IO ()
scannerSyncFileOffset ::
(MonadIO m) =>
Scanner -- _obj
-> m () -- result
scannerSyncFileOffset _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_scanner_sync_file_offset _obj'
touchManagedPtr _obj
return ()
data ScannerSyncFileOffsetMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo ScannerSyncFileOffsetMethodInfo Scanner signature where
overloadedMethod _ = scannerSyncFileOffset
-- method Scanner::unexp_token
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Scanner", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expected_token", argType = TInterface "GLib" "TokenType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "identifier_spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol_spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_error", argType = TBasicType TInt, 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 "g_scanner_unexp_token" g_scanner_unexp_token ::
Ptr Scanner -> -- _obj : TInterface "GLib" "Scanner"
CUInt -> -- expected_token : TInterface "GLib" "TokenType"
CString -> -- identifier_spec : TBasicType TUTF8
CString -> -- symbol_spec : TBasicType TUTF8
CString -> -- symbol_name : TBasicType TUTF8
CString -> -- message : TBasicType TUTF8
Int32 -> -- is_error : TBasicType TInt
IO ()
scannerUnexpToken ::
(MonadIO m) =>
Scanner -- _obj
-> TokenType -- expectedToken
-> T.Text -- identifierSpec
-> T.Text -- symbolSpec
-> T.Text -- symbolName
-> T.Text -- message
-> Int32 -- isError
-> m () -- result
scannerUnexpToken _obj expectedToken identifierSpec symbolSpec symbolName message isError = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let expectedToken' = (fromIntegral . fromEnum) expectedToken
identifierSpec' <- textToCString identifierSpec
symbolSpec' <- textToCString symbolSpec
symbolName' <- textToCString symbolName
message' <- textToCString message
g_scanner_unexp_token _obj' expectedToken' identifierSpec' symbolSpec' symbolName' message' isError
touchManagedPtr _obj
freeMem identifierSpec'
freeMem symbolSpec'
freeMem symbolName'
freeMem message'
return ()
data ScannerUnexpTokenMethodInfo
instance (signature ~ (TokenType -> T.Text -> T.Text -> T.Text -> T.Text -> Int32 -> m ()), MonadIO m) => MethodInfo ScannerUnexpTokenMethodInfo Scanner signature where
overloadedMethod _ = scannerUnexpToken
type family ResolveScannerMethod (t :: Symbol) (o :: *) :: * where
ResolveScannerMethod "curLine" o = ScannerCurLineMethodInfo
ResolveScannerMethod "curPosition" o = ScannerCurPositionMethodInfo
ResolveScannerMethod "curToken" o = ScannerCurTokenMethodInfo
ResolveScannerMethod "destroy" o = ScannerDestroyMethodInfo
ResolveScannerMethod "eof" o = ScannerEofMethodInfo
ResolveScannerMethod "inputFile" o = ScannerInputFileMethodInfo
ResolveScannerMethod "inputText" o = ScannerInputTextMethodInfo
ResolveScannerMethod "peekNextToken" o = ScannerPeekNextTokenMethodInfo
ResolveScannerMethod "scopeAddSymbol" o = ScannerScopeAddSymbolMethodInfo
ResolveScannerMethod "scopeRemoveSymbol" o = ScannerScopeRemoveSymbolMethodInfo
ResolveScannerMethod "syncFileOffset" o = ScannerSyncFileOffsetMethodInfo
ResolveScannerMethod "unexpToken" o = ScannerUnexpTokenMethodInfo
ResolveScannerMethod "getNextToken" o = ScannerGetNextTokenMethodInfo
ResolveScannerMethod "setScope" o = ScannerSetScopeMethodInfo
ResolveScannerMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveScannerMethod t Scanner, MethodInfo info Scanner p) => IsLabelProxy t (Scanner -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveScannerMethod t Scanner, MethodInfo info Scanner p) => IsLabel t (Scanner -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif