| Copyright | (c) 2006-2011 Harvard University (c) 2011-2013 Geoffrey Mainland (c) 2013 Manuel M T Chakravarty : (c) 2013-2016 Drexel University |
|---|---|
| License | BSD-style |
| Maintainer | mainland@drexel.edu |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Language.C.Syntax
Description
Synopsis
- data Extensions
- data Id
- data StringLit = StringLit [String] String !SrcLoc
- type Linkage = StringLit
- data Storage
- data TypeQual
- = Tconst !SrcLoc
- | Tvolatile !SrcLoc
- | EscTypeQual String !SrcLoc
- | AntiTypeQual String !SrcLoc
- | AntiTypeQuals String !SrcLoc
- | Tinline !SrcLoc
- | Trestrict !SrcLoc
- | T__restrict !SrcLoc
- | TAttr Attr
- | TCUDAdevice !SrcLoc
- | TCUDAglobal !SrcLoc
- | TCUDAhost !SrcLoc
- | TCUDAconstant !SrcLoc
- | TCUDAshared !SrcLoc
- | TCUDArestrict !SrcLoc
- | TCUDAnoinline !SrcLoc
- | TCLprivate !SrcLoc
- | TCLlocal !SrcLoc
- | TCLglobal !SrcLoc
- | TCLconstant !SrcLoc
- | TCLreadonly !SrcLoc
- | TCLwriteonly !SrcLoc
- | TCLkernel !SrcLoc
- data Sign
- data TypeSpec
- = Tvoid !SrcLoc
- | Tchar (Maybe Sign) !SrcLoc
- | Tshort (Maybe Sign) !SrcLoc
- | Tint (Maybe Sign) !SrcLoc
- | Tlong (Maybe Sign) !SrcLoc
- | Tlong_long (Maybe Sign) !SrcLoc
- | Tfloat !SrcLoc
- | Tdouble !SrcLoc
- | Tlong_double !SrcLoc
- | Tstruct (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc
- | Tunion (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc
- | Tenum (Maybe Id) [CEnum] [Attr] !SrcLoc
- | Tnamed Id [Id] !SrcLoc
- | T_Bool !SrcLoc
- | Tfloat_Complex !SrcLoc
- | Tdouble_Complex !SrcLoc
- | Tlong_double_Complex !SrcLoc
- | Tfloat_Imaginary !SrcLoc
- | Tdouble_Imaginary !SrcLoc
- | Tlong_double_Imaginary !SrcLoc
- | TtypeofExp Exp !SrcLoc
- | TtypeofType Type !SrcLoc
- | Tva_list !SrcLoc
- data DeclSpec
- data ArraySize
- data Decl
- data Type
- data Designator
- data Designation = Designation [Designator] !SrcLoc
- data Initializer
- type AsmLabel = StringLit
- data Init = Init Id Decl (Maybe AsmLabel) (Maybe Initializer) [Attr] !SrcLoc
- data Typedef = Typedef Id Decl [Attr] !SrcLoc
- data InitGroup
- data Field = Field (Maybe Id) (Maybe Decl) (Maybe Exp) !SrcLoc
- data FieldGroup
- = FieldGroup DeclSpec [Field] !SrcLoc
- | AntiSdecl String !SrcLoc
- | AntiSdecls String !SrcLoc
- data CEnum
- data Attr
- data Param
- data Params = Params [Param] Bool !SrcLoc
- data Func
- data Definition
- = FuncDef Func !SrcLoc
- | DecDef InitGroup !SrcLoc
- | EscDef String !SrcLoc
- | AntiFunc String !SrcLoc
- | AntiEsc String !SrcLoc
- | AntiEdecl String !SrcLoc
- | AntiEdecls String !SrcLoc
- | ObjCClassDec [Id] !SrcLoc
- | ObjCClassIface Id (Maybe Id) [Id] [ObjCIvarDecl] [ObjCIfaceDecl] [Attr] !SrcLoc
- | ObjCCatIface Id (Maybe Id) [Id] [ObjCIvarDecl] [ObjCIfaceDecl] !SrcLoc
- | ObjCProtDec [Id] !SrcLoc
- | ObjCProtDef Id [Id] [ObjCIfaceDecl] !SrcLoc
- | ObjCClassImpl Id (Maybe Id) [ObjCIvarDecl] [Definition] !SrcLoc
- | ObjCCatImpl Id Id [Definition] !SrcLoc
- | ObjCSynDef [(Id, Maybe Id)] !SrcLoc
- | ObjCDynDef [Id] !SrcLoc
- | ObjCMethDef ObjCMethodProto [BlockItem] !SrcLoc
- | ObjCCompAlias Id Id !SrcLoc
- | AntiObjCMeth String !SrcLoc
- | AntiObjCMeths String !SrcLoc
- data Stm
- = Label Id [Attr] Stm !SrcLoc
- | Case Exp Stm !SrcLoc
- | CaseRange Exp Exp Stm !SrcLoc
- | Default Stm !SrcLoc
- | Exp (Maybe Exp) !SrcLoc
- | Block [BlockItem] !SrcLoc
- | If Exp Stm (Maybe Stm) !SrcLoc
- | Switch Exp Stm !SrcLoc
- | While Exp Stm !SrcLoc
- | DoWhile Stm Exp !SrcLoc
- | For (Either InitGroup (Maybe Exp)) (Maybe Exp) (Maybe Exp) Stm !SrcLoc
- | Goto Id !SrcLoc
- | Continue !SrcLoc
- | Break !SrcLoc
- | Return (Maybe Exp) !SrcLoc
- | Pragma String !SrcLoc
- | Comment String Stm !SrcLoc
- | EscStm String !SrcLoc
- | AntiEscStm String !SrcLoc
- | AntiPragma String !SrcLoc
- | AntiComment String Stm !SrcLoc
- | AntiStm String !SrcLoc
- | AntiStms String !SrcLoc
- | Asm Bool [Attr] AsmTemplate [AsmOut] [AsmIn] [AsmClobber] !SrcLoc
- | AsmGoto Bool [Attr] AsmTemplate [AsmIn] [AsmClobber] [Id] !SrcLoc
- | ObjCTry [BlockItem] [ObjCCatch] (Maybe [BlockItem]) !SrcLoc
- | ObjCThrow (Maybe Exp) !SrcLoc
- | ObjCSynchronized Exp [BlockItem] !SrcLoc
- | ObjCAutoreleasepool [BlockItem] !SrcLoc
- data BlockItem
- data Signed
- data Const
- = IntConst String Signed Integer !SrcLoc
- | LongIntConst String Signed Integer !SrcLoc
- | LongLongIntConst String Signed Integer !SrcLoc
- | FloatConst String Float !SrcLoc
- | DoubleConst String Double !SrcLoc
- | LongDoubleConst String Double !SrcLoc
- | CharConst String Char !SrcLoc
- | StringConst [String] String !SrcLoc
- | AntiConst String !SrcLoc
- | AntiInt String !SrcLoc
- | AntiUInt String !SrcLoc
- | AntiLInt String !SrcLoc
- | AntiULInt String !SrcLoc
- | AntiLLInt String !SrcLoc
- | AntiULLInt String !SrcLoc
- | AntiFloat String !SrcLoc
- | AntiDouble String !SrcLoc
- | AntiLongDouble String !SrcLoc
- | AntiChar String !SrcLoc
- | AntiString String !SrcLoc
- data Exp
- = Var Id !SrcLoc
- | Const Const !SrcLoc
- | BinOp BinOp Exp Exp !SrcLoc
- | Assign Exp AssignOp Exp !SrcLoc
- | PreInc Exp !SrcLoc
- | PostInc Exp !SrcLoc
- | PreDec Exp !SrcLoc
- | PostDec Exp !SrcLoc
- | UnOp UnOp Exp !SrcLoc
- | SizeofExp Exp !SrcLoc
- | SizeofType Type !SrcLoc
- | Cast Type Exp !SrcLoc
- | Cond Exp Exp Exp !SrcLoc
- | Member Exp Id !SrcLoc
- | PtrMember Exp Id !SrcLoc
- | Index Exp Exp !SrcLoc
- | FnCall Exp [Exp] !SrcLoc
- | CudaCall Exp ExeConfig [Exp] !SrcLoc
- | Seq Exp Exp !SrcLoc
- | CompoundLit Type [(Maybe Designation, Initializer)] !SrcLoc
- | StmExpr [BlockItem] !SrcLoc
- | EscExp String !SrcLoc
- | AntiEscExp String !SrcLoc
- | AntiExp String !SrcLoc
- | AntiArgs String !SrcLoc
- | BuiltinVaArg Exp Type !SrcLoc
- | BlockLit BlockType [Attr] [BlockItem] !SrcLoc
- | ObjCMsg ObjCRecv [ObjCArg] [Exp] !SrcLoc
- | ObjCLitConst (Maybe UnOp) Const !SrcLoc
- | ObjCLitString [Const] !SrcLoc
- | ObjCLitBool Bool !SrcLoc
- | ObjCLitArray [Exp] !SrcLoc
- | ObjCLitDict [ObjCDictElem] !SrcLoc
- | ObjCLitBoxed Exp !SrcLoc
- | ObjCEncode Type !SrcLoc
- | ObjCProtocol Id !SrcLoc
- | ObjCSelector String !SrcLoc
- | Lambda LambdaIntroducer (Maybe LambdaDeclarator) [BlockItem] !SrcLoc
- data BinOp
- data AssignOp
- data UnOp
- type AsmTemplate = StringLit
- data AsmOut = AsmOut (Maybe Id) String Id
- data AsmIn = AsmIn (Maybe Id) String Exp
- type AsmClobber = String
- data BlockType
- data ObjCIvarDecl
- data ObjCVisibilitySpec
- data ObjCIfaceDecl
- data ObjCPropAttr
- = ObjCGetter Id !SrcLoc
- | ObjCSetter Id !SrcLoc
- | ObjCReadonly !SrcLoc
- | ObjCReadwrite !SrcLoc
- | ObjCAssign !SrcLoc
- | ObjCRetain !SrcLoc
- | ObjCCopy !SrcLoc
- | ObjCNonatomic !SrcLoc
- | ObjCAtomic !SrcLoc
- | ObjCStrong !SrcLoc
- | ObjCWeak !SrcLoc
- | ObjCUnsafeUnretained !SrcLoc
- | AntiObjCAttr String !SrcLoc
- | AntiObjCAttrs String !SrcLoc
- data ObjCMethodReq
- data ObjCParam
- data ObjCMethodProto
- data ObjCCatch = ObjCCatch (Maybe Param) [BlockItem] !SrcLoc
- data ObjCDictElem
- data ObjCRecv
- data ObjCArg
- data LambdaIntroducer = LambdaIntroducer [CaptureListEntry] !SrcLoc
- data LambdaDeclarator = LambdaDeclarator Params Bool (Maybe Type) !SrcLoc
- data CaptureListEntry
- data ExeConfig = ExeConfig {
- exeGridDim :: Exp
- exeBlockDim :: Exp
- exeSharedSize :: Maybe Exp
- exeStream :: Maybe Exp
- exeLoc :: !SrcLoc
- funcProto :: Func -> InitGroup
- isPtr :: Type -> Bool
- ctypedef :: Id -> Decl -> [Attr] -> Typedef
- cdeclSpec :: [Storage] -> [TypeQual] -> TypeSpec -> DeclSpec
- cinitGroup :: DeclSpec -> [Attr] -> [Init] -> InitGroup
- ctypedefGroup :: DeclSpec -> [Attr] -> [Typedef] -> InitGroup
Documentation
data Extensions Source #
Instances
Instances
| Data Id Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Id -> c Id # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Id # dataTypeOf :: Id -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Id) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Id) # gmapT :: (forall b. Data b => b -> b) -> Id -> Id # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Id -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Id -> r # gmapQ :: (forall d. Data d => d -> u) -> Id -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Id -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Id -> m Id # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Id -> m Id # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Id -> m Id # | |
| IsString Id Source # | |
Defined in Language.C.Syntax Methods fromString :: String -> Id # | |
| Show Id Source # | |
| Eq Id Source # | |
| Ord Id Source # | |
| ToIdent Id Source # | |
| Pretty Id Source # | |
| Located Id Source # | |
| Relocatable Id Source # | |
| ToIdent (SrcLoc -> Id) Source # | |
Instances
| Data StringLit Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StringLit -> c StringLit # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StringLit # toConstr :: StringLit -> Constr # dataTypeOf :: StringLit -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StringLit) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StringLit) # gmapT :: (forall b. Data b => b -> b) -> StringLit -> StringLit # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StringLit -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StringLit -> r # gmapQ :: (forall d. Data d => d -> u) -> StringLit -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> StringLit -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit # | |
| IsString StringLit Source # | |
Defined in Language.C.Syntax Methods fromString :: String -> StringLit # | |
| Show StringLit Source # | |
| Eq StringLit Source # | |
| Ord StringLit Source # | |
| Pretty StringLit Source # | |
| Located StringLit Source # | |
| Relocatable StringLit Source # | |
Constructors
| Tauto !SrcLoc | |
| Tregister !SrcLoc | |
| Tstatic !SrcLoc | |
| Textern (Maybe Linkage) !SrcLoc | |
| Ttypedef !SrcLoc | |
| T__block !SrcLoc | |
| TObjC__weak !SrcLoc | |
| TObjC__strong !SrcLoc | |
| TObjC__unsafe_unretained !SrcLoc |
Instances
| Data Storage Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Storage -> c Storage # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Storage # toConstr :: Storage -> Constr # dataTypeOf :: Storage -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Storage) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Storage) # gmapT :: (forall b. Data b => b -> b) -> Storage -> Storage # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Storage -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Storage -> r # gmapQ :: (forall d. Data d => d -> u) -> Storage -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Storage -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Storage -> m Storage # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Storage -> m Storage # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Storage -> m Storage # | |
| Show Storage Source # | |
| Eq Storage Source # | |
| Ord Storage Source # | |
| Pretty Storage Source # | |
| Located Storage Source # | |
| Relocatable Storage Source # | |
Constructors
Instances
| Data TypeQual Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeQual -> c TypeQual # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeQual # toConstr :: TypeQual -> Constr # dataTypeOf :: TypeQual -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeQual) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeQual) # gmapT :: (forall b. Data b => b -> b) -> TypeQual -> TypeQual # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeQual -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeQual -> r # gmapQ :: (forall d. Data d => d -> u) -> TypeQual -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeQual -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual # | |
| Show TypeQual Source # | |
| Eq TypeQual Source # | |
| Ord TypeQual Source # | |
Defined in Language.C.Syntax | |
| Pretty TypeQual Source # | |
| Located TypeQual Source # | |
| Relocatable TypeQual Source # | |
Instances
| Data Sign Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sign -> c Sign # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Sign # dataTypeOf :: Sign -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Sign) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Sign) # gmapT :: (forall b. Data b => b -> b) -> Sign -> Sign # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r # gmapQ :: (forall d. Data d => d -> u) -> Sign -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Sign -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sign -> m Sign # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign # | |
| Show Sign Source # | |
| Eq Sign Source # | |
| Ord Sign Source # | |
| Pretty Sign Source # | |
| Located Sign Source # | |
| Relocatable Sign Source # | |
Constructors
| Tvoid !SrcLoc | |
| Tchar (Maybe Sign) !SrcLoc | |
| Tshort (Maybe Sign) !SrcLoc | |
| Tint (Maybe Sign) !SrcLoc | |
| Tlong (Maybe Sign) !SrcLoc | |
| Tlong_long (Maybe Sign) !SrcLoc | |
| Tfloat !SrcLoc | |
| Tdouble !SrcLoc | |
| Tlong_double !SrcLoc | |
| Tstruct (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc | |
| Tunion (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc | |
| Tenum (Maybe Id) [CEnum] [Attr] !SrcLoc | |
| Tnamed Id [Id] !SrcLoc | |
| T_Bool !SrcLoc | |
| Tfloat_Complex !SrcLoc | |
| Tdouble_Complex !SrcLoc | |
| Tlong_double_Complex !SrcLoc | |
| Tfloat_Imaginary !SrcLoc | |
| Tdouble_Imaginary !SrcLoc | |
| Tlong_double_Imaginary !SrcLoc | |
| TtypeofExp Exp !SrcLoc | |
| TtypeofType Type !SrcLoc | |
| Tva_list !SrcLoc |
Instances
| Data TypeSpec Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeSpec -> c TypeSpec # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeSpec # toConstr :: TypeSpec -> Constr # dataTypeOf :: TypeSpec -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeSpec) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeSpec) # gmapT :: (forall b. Data b => b -> b) -> TypeSpec -> TypeSpec # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeSpec -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeSpec -> r # gmapQ :: (forall d. Data d => d -> u) -> TypeSpec -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeSpec -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec # | |
| Show TypeSpec Source # | |
| Eq TypeSpec Source # | |
| Ord TypeSpec Source # | |
Defined in Language.C.Syntax | |
| Pretty TypeSpec Source # | |
| Located TypeSpec Source # | |
| Relocatable TypeSpec Source # | |
Constructors
| DeclSpec [Storage] [TypeQual] TypeSpec !SrcLoc | |
| AntiDeclSpec String !SrcLoc | |
| AntiTypeDeclSpec [Storage] [TypeQual] String !SrcLoc |
Instances
| Data DeclSpec Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DeclSpec -> c DeclSpec # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DeclSpec # toConstr :: DeclSpec -> Constr # dataTypeOf :: DeclSpec -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DeclSpec) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DeclSpec) # gmapT :: (forall b. Data b => b -> b) -> DeclSpec -> DeclSpec # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DeclSpec -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DeclSpec -> r # gmapQ :: (forall d. Data d => d -> u) -> DeclSpec -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DeclSpec -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec # | |
| Show DeclSpec Source # | |
| Eq DeclSpec Source # | |
| Ord DeclSpec Source # | |
Defined in Language.C.Syntax | |
| Pretty DeclSpec Source # | |
| Located DeclSpec Source # | |
| Relocatable DeclSpec Source # | |
There are two types of declarators in C, regular declarators and abstract
declarators. The former is for declaring variables, function parameters,
typedefs, etc. and the latter for abstract types---typedef int
({*}foo)(void) vs. tt int ({*})(void). The difference between the two is
just whether or not an identifier is attached to the declarator. We therefore
only define one Decl type and use it for both cases.
Constructors
| ArraySize Bool Exp !SrcLoc | |
| VariableArraySize !SrcLoc | |
| NoArraySize !SrcLoc |
Instances
| Data ArraySize Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArraySize -> c ArraySize # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArraySize # toConstr :: ArraySize -> Constr # dataTypeOf :: ArraySize -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArraySize) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArraySize) # gmapT :: (forall b. Data b => b -> b) -> ArraySize -> ArraySize # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArraySize -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArraySize -> r # gmapQ :: (forall d. Data d => d -> u) -> ArraySize -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ArraySize -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize # | |
| Show ArraySize Source # | |
| Eq ArraySize Source # | |
| Ord ArraySize Source # | |
| Pretty ArraySize Source # | |
| Located ArraySize Source # | |
| Relocatable ArraySize Source # | |
Constructors
| DeclRoot !SrcLoc | |
| Ptr [TypeQual] Decl !SrcLoc | |
| Array [TypeQual] ArraySize Decl !SrcLoc | |
| Proto Decl Params !SrcLoc | |
| OldProto Decl [Id] !SrcLoc | |
| AntiTypeDecl String !SrcLoc | |
| BlockPtr [TypeQual] Decl !SrcLoc |
Instances
| Data Decl Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Decl -> c Decl # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Decl # dataTypeOf :: Decl -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Decl) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Decl) # gmapT :: (forall b. Data b => b -> b) -> Decl -> Decl # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Decl -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Decl -> r # gmapQ :: (forall d. Data d => d -> u) -> Decl -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Decl -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Decl -> m Decl # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Decl -> m Decl # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Decl -> m Decl # | |
| Show Decl Source # | |
| Eq Decl Source # | |
| Ord Decl Source # | |
| Located Decl Source # | |
| Relocatable Decl Source # | |
Instances
| Data Type Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type # dataTypeOf :: Type -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Type) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) # gmapT :: (forall b. Data b => b -> b) -> Type -> Type # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r # gmapQ :: (forall d. Data d => d -> u) -> Type -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Type -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Type -> m Type # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type # | |
| Show Type Source # | |
| Eq Type Source # | |
| Ord Type Source # | |
| Pretty Type Source # | |
| Located Type Source # | |
| Relocatable Type Source # | |
data Designator Source #
Constructors
| IndexDesignator Exp !SrcLoc | |
| MemberDesignator Id !SrcLoc |
Instances
data Designation Source #
Constructors
| Designation [Designator] !SrcLoc |
Instances
data Initializer Source #
Constructors
| ExpInitializer Exp !SrcLoc | |
| CompoundInitializer [(Maybe Designation, Initializer)] !SrcLoc | |
| AntiInit String !SrcLoc | |
| AntiInits String !SrcLoc |
Instances
Instances
| Data Init Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Init -> c Init # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Init # dataTypeOf :: Init -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Init) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Init) # gmapT :: (forall b. Data b => b -> b) -> Init -> Init # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Init -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Init -> r # gmapQ :: (forall d. Data d => d -> u) -> Init -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Init -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Init -> m Init # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Init -> m Init # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Init -> m Init # | |
| Show Init Source # | |
| Eq Init Source # | |
| Ord Init Source # | |
| Pretty Init Source # | |
| Located Init Source # | |
| Relocatable Init Source # | |
Instances
| Data Typedef Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Typedef -> c Typedef # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Typedef # toConstr :: Typedef -> Constr # dataTypeOf :: Typedef -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Typedef) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Typedef) # gmapT :: (forall b. Data b => b -> b) -> Typedef -> Typedef # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Typedef -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Typedef -> r # gmapQ :: (forall d. Data d => d -> u) -> Typedef -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Typedef -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef # | |
| Show Typedef Source # | |
| Eq Typedef Source # | |
| Ord Typedef Source # | |
| Pretty Typedef Source # | |
| Located Typedef Source # | |
| Relocatable Typedef Source # | |
Constructors
| InitGroup DeclSpec [Attr] [Init] !SrcLoc | |
| TypedefGroup DeclSpec [Attr] [Typedef] !SrcLoc | |
| AntiDecl String !SrcLoc | |
| AntiDecls String !SrcLoc |
Instances
| Data InitGroup Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InitGroup -> c InitGroup # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InitGroup # toConstr :: InitGroup -> Constr # dataTypeOf :: InitGroup -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InitGroup) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InitGroup) # gmapT :: (forall b. Data b => b -> b) -> InitGroup -> InitGroup # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InitGroup -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InitGroup -> r # gmapQ :: (forall d. Data d => d -> u) -> InitGroup -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> InitGroup -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup # | |
| Show InitGroup Source # | |
| Eq InitGroup Source # | |
| Ord InitGroup Source # | |
| Pretty InitGroup Source # | |
| Located InitGroup Source # | |
| Relocatable InitGroup Source # | |
Instances
| Data Field Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Field -> c Field # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Field # dataTypeOf :: Field -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Field) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Field) # gmapT :: (forall b. Data b => b -> b) -> Field -> Field # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Field -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Field -> r # gmapQ :: (forall d. Data d => d -> u) -> Field -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Field -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Field -> m Field # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Field -> m Field # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Field -> m Field # | |
| Show Field Source # | |
| Eq Field Source # | |
| Ord Field Source # | |
| Pretty Field Source # | |
| Located Field Source # | |
| Relocatable Field Source # | |
data FieldGroup Source #
Constructors
| FieldGroup DeclSpec [Field] !SrcLoc | |
| AntiSdecl String !SrcLoc | |
| AntiSdecls String !SrcLoc |
Instances
Instances
| Data CEnum Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CEnum -> c CEnum # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CEnum # dataTypeOf :: CEnum -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CEnum) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CEnum) # gmapT :: (forall b. Data b => b -> b) -> CEnum -> CEnum # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CEnum -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CEnum -> r # gmapQ :: (forall d. Data d => d -> u) -> CEnum -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CEnum -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum # | |
| Show CEnum Source # | |
| Eq CEnum Source # | |
| Ord CEnum Source # | |
| Pretty CEnum Source # | |
| Located CEnum Source # | |
| Relocatable CEnum Source # | |
Instances
| Data Attr Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Attr -> c Attr # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Attr # dataTypeOf :: Attr -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Attr) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Attr) # gmapT :: (forall b. Data b => b -> b) -> Attr -> Attr # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Attr -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Attr -> r # gmapQ :: (forall d. Data d => d -> u) -> Attr -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Attr -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Attr -> m Attr # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Attr -> m Attr # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Attr -> m Attr # | |
| Show Attr Source # | |
| Eq Attr Source # | |
| Ord Attr Source # | |
| Pretty Attr Source # | |
| Located Attr Source # | |
| Relocatable Attr Source # | |
Constructors
| Param (Maybe Id) DeclSpec Decl !SrcLoc | |
| AntiParam String !SrcLoc | |
| AntiParams String !SrcLoc |
Instances
| Data Param Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Param -> c Param # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Param # dataTypeOf :: Param -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Param) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Param) # gmapT :: (forall b. Data b => b -> b) -> Param -> Param # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Param -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Param -> r # gmapQ :: (forall d. Data d => d -> u) -> Param -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Param -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Param -> m Param # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Param -> m Param # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Param -> m Param # | |
| Show Param Source # | |
| Eq Param Source # | |
| Ord Param Source # | |
| Pretty Param Source # | |
| Located Param Source # | |
| Relocatable Param Source # | |
Instances
| Data Params Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Params -> c Params # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Params # toConstr :: Params -> Constr # dataTypeOf :: Params -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Params) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Params) # gmapT :: (forall b. Data b => b -> b) -> Params -> Params # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Params -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Params -> r # gmapQ :: (forall d. Data d => d -> u) -> Params -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Params -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Params -> m Params # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Params -> m Params # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Params -> m Params # | |
| Show Params Source # | |
| Eq Params Source # | |
| Ord Params Source # | |
| Pretty Params Source # | |
| Located Params Source # | |
| Relocatable Params Source # | |
Constructors
| Func DeclSpec Id Decl Params [BlockItem] !SrcLoc | |
| OldFunc DeclSpec Id Decl [Id] (Maybe [InitGroup]) [BlockItem] !SrcLoc |
Instances
| Data Func Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Func -> c Func # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Func # dataTypeOf :: Func -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Func) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Func) # gmapT :: (forall b. Data b => b -> b) -> Func -> Func # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Func -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Func -> r # gmapQ :: (forall d. Data d => d -> u) -> Func -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Func -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Func -> m Func # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Func -> m Func # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Func -> m Func # | |
| Show Func Source # | |
| Eq Func Source # | |
| Ord Func Source # | |
| Pretty Func Source # | |
| Located Func Source # | |
| Relocatable Func Source # | |
data Definition Source #
Constructors
| FuncDef Func !SrcLoc | |
| DecDef InitGroup !SrcLoc | |
| EscDef String !SrcLoc | |
| AntiFunc String !SrcLoc | |
| AntiEsc String !SrcLoc | |
| AntiEdecl String !SrcLoc | |
| AntiEdecls String !SrcLoc | |
| ObjCClassDec [Id] !SrcLoc | |
| ObjCClassIface Id (Maybe Id) [Id] [ObjCIvarDecl] [ObjCIfaceDecl] [Attr] !SrcLoc | |
| ObjCCatIface Id (Maybe Id) [Id] [ObjCIvarDecl] [ObjCIfaceDecl] !SrcLoc | |
| ObjCProtDec [Id] !SrcLoc | |
| ObjCProtDef Id [Id] [ObjCIfaceDecl] !SrcLoc | |
| ObjCClassImpl Id (Maybe Id) [ObjCIvarDecl] [Definition] !SrcLoc | |
| ObjCCatImpl Id Id [Definition] !SrcLoc | |
| ObjCSynDef [(Id, Maybe Id)] !SrcLoc | |
| ObjCDynDef [Id] !SrcLoc | |
| ObjCMethDef ObjCMethodProto [BlockItem] !SrcLoc | |
| ObjCCompAlias Id Id !SrcLoc | |
| AntiObjCMeth String !SrcLoc | |
| AntiObjCMeths String !SrcLoc |
Instances
Constructors
| Label Id [Attr] Stm !SrcLoc | |
| Case Exp Stm !SrcLoc | |
| CaseRange Exp Exp Stm !SrcLoc | |
| Default Stm !SrcLoc | |
| Exp (Maybe Exp) !SrcLoc | |
| Block [BlockItem] !SrcLoc | |
| If Exp Stm (Maybe Stm) !SrcLoc | |
| Switch Exp Stm !SrcLoc | |
| While Exp Stm !SrcLoc | |
| DoWhile Stm Exp !SrcLoc | |
| For (Either InitGroup (Maybe Exp)) (Maybe Exp) (Maybe Exp) Stm !SrcLoc | |
| Goto Id !SrcLoc | |
| Continue !SrcLoc | |
| Break !SrcLoc | |
| Return (Maybe Exp) !SrcLoc | |
| Pragma String !SrcLoc | |
| Comment String Stm !SrcLoc | |
| EscStm String !SrcLoc | |
| AntiEscStm String !SrcLoc | |
| AntiPragma String !SrcLoc | |
| AntiComment String Stm !SrcLoc | |
| AntiStm String !SrcLoc | |
| AntiStms String !SrcLoc | |
| Asm Bool [Attr] AsmTemplate [AsmOut] [AsmIn] [AsmClobber] !SrcLoc | |
| AsmGoto Bool [Attr] AsmTemplate [AsmIn] [AsmClobber] [Id] !SrcLoc | |
| ObjCTry [BlockItem] [ObjCCatch] (Maybe [BlockItem]) !SrcLoc | Invariant: There is either at least one |
| ObjCThrow (Maybe Exp) !SrcLoc | |
| ObjCSynchronized Exp [BlockItem] !SrcLoc | |
| ObjCAutoreleasepool [BlockItem] !SrcLoc |
Instances
| Data Stm Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Stm -> c Stm # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Stm # dataTypeOf :: Stm -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Stm) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Stm) # gmapT :: (forall b. Data b => b -> b) -> Stm -> Stm # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Stm -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Stm -> r # gmapQ :: (forall d. Data d => d -> u) -> Stm -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Stm -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Stm -> m Stm # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Stm -> m Stm # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Stm -> m Stm # | |
| Show Stm Source # | |
| Eq Stm Source # | |
| Ord Stm Source # | |
| Pretty Stm Source # | |
| Located Stm Source # | |
| Relocatable Stm Source # | |
Constructors
| BlockDecl InitGroup | |
| BlockStm Stm | |
| AntiBlockItem String !SrcLoc | |
| AntiBlockItems String !SrcLoc |
Instances
| Data BlockItem Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BlockItem -> c BlockItem # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockItem # toConstr :: BlockItem -> Constr # dataTypeOf :: BlockItem -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BlockItem) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockItem) # gmapT :: (forall b. Data b => b -> b) -> BlockItem -> BlockItem # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockItem -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockItem -> r # gmapQ :: (forall d. Data d => d -> u) -> BlockItem -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockItem -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem # | |
| Show BlockItem Source # | |
| Eq BlockItem Source # | |
| Ord BlockItem Source # | |
| Pretty BlockItem Source # | |
| Located BlockItem Source # | |
| Relocatable BlockItem Source # | |
Instances
| Data Signed Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Signed -> c Signed # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Signed # toConstr :: Signed -> Constr # dataTypeOf :: Signed -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Signed) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Signed) # gmapT :: (forall b. Data b => b -> b) -> Signed -> Signed # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Signed -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Signed -> r # gmapQ :: (forall d. Data d => d -> u) -> Signed -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Signed -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Signed -> m Signed # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Signed -> m Signed # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Signed -> m Signed # | |
| Show Signed Source # | |
| Eq Signed Source # | |
| Ord Signed Source # | |
The String parameter to Const data constructors is the raw string
representation of the constant as it was parsed.
Constructors
Instances
| Data Const Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Const -> c Const # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Const # dataTypeOf :: Const -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Const) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Const) # gmapT :: (forall b. Data b => b -> b) -> Const -> Const # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Const -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Const -> r # gmapQ :: (forall d. Data d => d -> u) -> Const -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Const -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Const -> m Const # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Const -> m Const # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Const -> m Const # | |
| Show Const Source # | |
| Eq Const Source # | |
| Ord Const Source # | |
| ToConst Const Source # | |
| Pretty Const Source # | |
| Located Const Source # | |
| Relocatable Const Source # | |
Constructors
Instances
| Data Exp Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Exp -> c Exp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Exp # dataTypeOf :: Exp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Exp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Exp) # gmapT :: (forall b. Data b => b -> b) -> Exp -> Exp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r # gmapQ :: (forall d. Data d => d -> u) -> Exp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Exp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Exp -> m Exp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp # | |
| Enum Exp Source # | |
| Floating Exp Source # | |
| Num Exp Source # | |
| Fractional Exp Source # | |
| Integral Exp Source # | |
| Real Exp Source # | |
Defined in Language.C.Smart Methods toRational :: Exp -> Rational # | |
| Show Exp Source # | |
| Eq Exp Source # | |
| Ord Exp Source # | |
| ToExp Exp Source # | |
| Pretty Exp Source # | |
| Located Exp Source # | |
| Relocatable Exp Source # | |
Instances
| Data BinOp Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BinOp -> c BinOp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BinOp # dataTypeOf :: BinOp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BinOp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BinOp) # gmapT :: (forall b. Data b => b -> b) -> BinOp -> BinOp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BinOp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BinOp -> r # gmapQ :: (forall d. Data d => d -> u) -> BinOp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> BinOp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp # | |
| Show BinOp Source # | |
| Eq BinOp Source # | |
| Ord BinOp Source # | |
| CFixity BinOp Source # | |
| Pretty BinOp Source # | |
Constructors
| JustAssign | |
| AddAssign | |
| SubAssign | |
| MulAssign | |
| DivAssign | |
| ModAssign | |
| LshAssign | |
| RshAssign | |
| AndAssign | |
| XorAssign | |
| OrAssign |
Instances
| Data AssignOp Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AssignOp -> c AssignOp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AssignOp # toConstr :: AssignOp -> Constr # dataTypeOf :: AssignOp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AssignOp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AssignOp) # gmapT :: (forall b. Data b => b -> b) -> AssignOp -> AssignOp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AssignOp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AssignOp -> r # gmapQ :: (forall d. Data d => d -> u) -> AssignOp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AssignOp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp # | |
| Show AssignOp Source # | |
| Eq AssignOp Source # | |
| Ord AssignOp Source # | |
Defined in Language.C.Syntax | |
| CFixity AssignOp Source # | |
| Pretty AssignOp Source # | |
Instances
| Data UnOp Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UnOp -> c UnOp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UnOp # dataTypeOf :: UnOp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UnOp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UnOp) # gmapT :: (forall b. Data b => b -> b) -> UnOp -> UnOp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnOp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnOp -> r # gmapQ :: (forall d. Data d => d -> u) -> UnOp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UnOp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnOp -> m UnOp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnOp -> m UnOp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnOp -> m UnOp # | |
| Show UnOp Source # | |
| Eq UnOp Source # | |
| Ord UnOp Source # | |
| CFixity UnOp Source # | |
| Pretty UnOp Source # | |
type AsmTemplate = StringLit Source #
Instances
| Data AsmOut Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AsmOut -> c AsmOut # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AsmOut # toConstr :: AsmOut -> Constr # dataTypeOf :: AsmOut -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AsmOut) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AsmOut) # gmapT :: (forall b. Data b => b -> b) -> AsmOut -> AsmOut # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmOut -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmOut -> r # gmapQ :: (forall d. Data d => d -> u) -> AsmOut -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AsmOut -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AsmOut -> m AsmOut # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AsmOut -> m AsmOut # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AsmOut -> m AsmOut # | |
| Show AsmOut Source # | |
| Eq AsmOut Source # | |
| Ord AsmOut Source # | |
| Pretty AsmOut Source # | |
Instances
| Data AsmIn Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AsmIn -> c AsmIn # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AsmIn # dataTypeOf :: AsmIn -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AsmIn) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AsmIn) # gmapT :: (forall b. Data b => b -> b) -> AsmIn -> AsmIn # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmIn -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmIn -> r # gmapQ :: (forall d. Data d => d -> u) -> AsmIn -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AsmIn -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AsmIn -> m AsmIn # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AsmIn -> m AsmIn # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AsmIn -> m AsmIn # | |
| Show AsmIn Source # | |
| Eq AsmIn Source # | |
| Ord AsmIn Source # | |
| Pretty AsmIn Source # | |
type AsmClobber = String Source #
Instances
| Data BlockType Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BlockType -> c BlockType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockType # toConstr :: BlockType -> Constr # dataTypeOf :: BlockType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BlockType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockType) # gmapT :: (forall b. Data b => b -> b) -> BlockType -> BlockType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockType -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockType -> r # gmapQ :: (forall d. Data d => d -> u) -> BlockType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockType -> m BlockType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockType -> m BlockType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockType -> m BlockType # | |
| Show BlockType Source # | |
| Eq BlockType Source # | |
| Ord BlockType Source # | |
| Pretty BlockType Source # | |
| Located BlockType Source # | |
| Relocatable BlockType Source # | |
data ObjCIvarDecl Source #
Constructors
| ObjCIvarVisi ObjCVisibilitySpec !SrcLoc | |
| ObjCIvarDecl FieldGroup !SrcLoc |
Instances
data ObjCVisibilitySpec Source #
Constructors
| ObjCPrivate !SrcLoc | |
| ObjCPublic !SrcLoc | |
| ObjCProtected !SrcLoc | |
| ObjCPackage !SrcLoc |
Instances
data ObjCIfaceDecl Source #
Constructors
Instances
data ObjCPropAttr Source #
Constructors
Instances
data ObjCMethodReq Source #
Constructors
| ObjCRequired !SrcLoc | |
| ObjCOptional !SrcLoc |
Instances
Constructors
| ObjCParam (Maybe Id) (Maybe Type) [Attr] (Maybe Id) !SrcLoc | |
| AntiObjCParam String !SrcLoc | |
| AntiObjCParams String !SrcLoc |
Instances
| Data ObjCParam Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ObjCParam -> c ObjCParam # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjCParam # toConstr :: ObjCParam -> Constr # dataTypeOf :: ObjCParam -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjCParam) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjCParam) # gmapT :: (forall b. Data b => b -> b) -> ObjCParam -> ObjCParam # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjCParam -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjCParam -> r # gmapQ :: (forall d. Data d => d -> u) -> ObjCParam -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjCParam -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjCParam -> m ObjCParam # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCParam -> m ObjCParam # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCParam -> m ObjCParam # | |
| Show ObjCParam Source # | |
| Eq ObjCParam Source # | |
| Ord ObjCParam Source # | |
| Pretty ObjCParam Source # | |
| Located ObjCParam Source # | |
| Relocatable ObjCParam Source # | |
data ObjCMethodProto Source #
Constructors
| ObjCMethodProto Bool (Maybe Type) [Attr] [ObjCParam] Bool [Attr] !SrcLoc | Invariant: First parameter must at least either have a selector or an identifier; all other parameters must have an identifier. |
| AntiObjCMethodProto String !SrcLoc |
Instances
Instances
| Data ObjCCatch Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ObjCCatch -> c ObjCCatch # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjCCatch # toConstr :: ObjCCatch -> Constr # dataTypeOf :: ObjCCatch -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjCCatch) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjCCatch) # gmapT :: (forall b. Data b => b -> b) -> ObjCCatch -> ObjCCatch # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjCCatch -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjCCatch -> r # gmapQ :: (forall d. Data d => d -> u) -> ObjCCatch -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjCCatch -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjCCatch -> m ObjCCatch # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCCatch -> m ObjCCatch # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCCatch -> m ObjCCatch # | |
| Show ObjCCatch Source # | |
| Eq ObjCCatch Source # | |
| Ord ObjCCatch Source # | |
| Pretty ObjCCatch Source # | |
| Located ObjCCatch Source # | |
| Relocatable ObjCCatch Source # | |
data ObjCDictElem Source #
Constructors
| ObjCDictElem Exp Exp !SrcLoc | |
| AntiObjCDictElems String !SrcLoc |
Instances
Constructors
| ObjCRecvSuper !SrcLoc | |
| ObjCRecvExp Exp !SrcLoc | |
| AntiObjCRecv String !SrcLoc |
Instances
| Data ObjCRecv Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ObjCRecv -> c ObjCRecv # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjCRecv # toConstr :: ObjCRecv -> Constr # dataTypeOf :: ObjCRecv -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjCRecv) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjCRecv) # gmapT :: (forall b. Data b => b -> b) -> ObjCRecv -> ObjCRecv # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjCRecv -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjCRecv -> r # gmapQ :: (forall d. Data d => d -> u) -> ObjCRecv -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjCRecv -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjCRecv -> m ObjCRecv # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCRecv -> m ObjCRecv # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCRecv -> m ObjCRecv # | |
| Show ObjCRecv Source # | |
| Eq ObjCRecv Source # | |
| Ord ObjCRecv Source # | |
Defined in Language.C.Syntax | |
| Pretty ObjCRecv Source # | |
| Located ObjCRecv Source # | |
| Relocatable ObjCRecv Source # | |
Constructors
| ObjCArg (Maybe Id) (Maybe Exp) !SrcLoc | |
| AntiObjCArg String !SrcLoc | |
| AntiObjCArgs String !SrcLoc |
Instances
| Data ObjCArg Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ObjCArg -> c ObjCArg # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjCArg # toConstr :: ObjCArg -> Constr # dataTypeOf :: ObjCArg -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjCArg) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjCArg) # gmapT :: (forall b. Data b => b -> b) -> ObjCArg -> ObjCArg # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjCArg -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjCArg -> r # gmapQ :: (forall d. Data d => d -> u) -> ObjCArg -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjCArg -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjCArg -> m ObjCArg # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCArg -> m ObjCArg # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCArg -> m ObjCArg # | |
| Show ObjCArg Source # | |
| Eq ObjCArg Source # | |
| Ord ObjCArg Source # | |
| Located ObjCArg Source # | |
| Relocatable ObjCArg Source # | |
data LambdaIntroducer Source #
Constructors
| LambdaIntroducer [CaptureListEntry] !SrcLoc |
Instances
data LambdaDeclarator Source #
Instances
data CaptureListEntry Source #
Constructors
| DefaultByReference | |
| DefaultByValue |
Instances
Constructors
| ExeConfig | |
Fields
| |
Instances
| Data ExeConfig Source # | |
Defined in Language.C.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExeConfig -> c ExeConfig # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExeConfig # toConstr :: ExeConfig -> Constr # dataTypeOf :: ExeConfig -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ExeConfig) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExeConfig) # gmapT :: (forall b. Data b => b -> b) -> ExeConfig -> ExeConfig # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExeConfig -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExeConfig -> r # gmapQ :: (forall d. Data d => d -> u) -> ExeConfig -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ExeConfig -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExeConfig -> m ExeConfig # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExeConfig -> m ExeConfig # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExeConfig -> m ExeConfig # | |
| Show ExeConfig Source # | |
| Eq ExeConfig Source # | |
| Ord ExeConfig Source # | |
| Located ExeConfig Source # | |
| Relocatable ExeConfig Source # | |