language-c-0.10.1: Analysis and generation of C code

Copyright | (c) [1999..2007] Manuel M T Chakravarty (c) 2008 Benedikt Huber
License | BSD-style
Maintainer | benedikt.huber@gmail.com
Stability | experimental
Portability | ghc
Safe Haskell | None
Language | Haskell2010

Language.C.Syntax.AST

Contents

- C translation units
- Declarations
- Declaration attributes
- Declarators
- Initialization
- Statements
- Expressions
- Constants
- Annoated type class

Description

Abstract syntax of C source and header files.

The tree structure is based on the grammar in Appendix A of K&R. The abstract syntax simplifies the concrete syntax by merging similar concrete constructs into a single type of abstract tree structure: declarations are merged with structure declarations, parameter declarations and type names, and declarators are merged with abstract declarators.

With K&R we refer to ``The C Programming Language'', second edition, Brain W. Kernighan and Dennis M. Ritchie, Prentice Hall, 1988. The AST supports all of C99 http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf and several GNU extensions http://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html.

Synopsis

- type CTranslUnit = CTranslationUnit NodeInfo
- type CExtDecl = CExternalDeclaration NodeInfo
- data CTranslationUnit a = CTranslUnit [CExternalDeclaration a] a
- data CExternalDeclaration a
  - = CDeclExt (CDeclaration a)
  - | CFDefExt (CFunctionDef a)
  - | CAsmExt (CStringLiteral a) a
- type CFunDef = CFunctionDef NodeInfo
- type CDecl = CDeclaration NodeInfo
- type CStructUnion = CStructureUnion NodeInfo
- type CEnum = CEnumeration NodeInfo
- data CFunctionDef a = CFunDef [CDeclarationSpecifier a] (CDeclarator a) [CDeclaration a] (CStatement a) a
- data CDeclaration a
  - = CDecl [CDeclarationSpecifier a] [(Maybe (CDeclarator a), Maybe (CInitializer a), Maybe (CExpression a))] a
  - | CStaticAssert (CExpression a) (CStringLiteral a) a
- data CStructTag
  - = CStructTag
  - | CUnionTag
- data CStructureUnion a = CStruct CStructTag (Maybe Ident) (Maybe [CDeclaration a]) [CAttribute a] a
- data CEnumeration a = CEnum (Maybe Ident) (Maybe [(Ident, Maybe (CExpression a))]) [CAttribute a] a
- type CDeclSpec = CDeclarationSpecifier NodeInfo
- partitionDeclSpecs :: [CDeclarationSpecifier a] -> ([CStorageSpecifier a], [CAttribute a], [CTypeQualifier a], [CTypeSpecifier a], [CFunctionSpecifier a], [CAlignmentSpecifier a])
- type CStorageSpec = CStorageSpecifier NodeInfo
- type CTypeSpec = CTypeSpecifier NodeInfo
- isSUEDef :: CTypeSpecifier a -> Bool
- type CTypeQual = CTypeQualifier NodeInfo
- type CFunSpec = CFunctionSpecifier NodeInfo
- type CAlignSpec = CAlignmentSpecifier NodeInfo
- type CAttr = CAttribute NodeInfo
- data CFunctionSpecifier a
  - = CInlineQual a
  - | CNoreturnQual a
- data CDeclarationSpecifier a
  - = CStorageSpec (CStorageSpecifier a)
  - | CTypeSpec (CTypeSpecifier a)
  - | CTypeQual (CTypeQualifier a)
  - | CFunSpec (CFunctionSpecifier a)
  - | CAlignSpec (CAlignmentSpecifier a)
- data CStorageSpecifier a
  - = CAuto a
  - | CRegister a
  - | CStatic a
  - | CExtern a
  - | CTypedef a
  - | CThread a
  - | CClKernel a
  - | CClGlobal a
  - | CClLocal a
- data CTypeSpecifier a
  - = CVoidType a
  - | CCharType a
  - | CShortType a
  - | CIntType a
  - | CLongType a
  - | CFloatType a
  - | CDoubleType a
  - | CSignedType a
  - | CUnsigType a
  - | CBoolType a
  - | CComplexType a
  - | CInt128Type a
  - | CUInt128Type a
  - | CBFloat16Type a
  - | CFloatNType Int Bool a
  - | CSUType (CStructureUnion a) a
  - | CEnumType (CEnumeration a) a
  - | CTypeDef Ident a
  - | CTypeOfExpr (CExpression a) a
  - | CTypeOfType (CDeclaration a) a
  - | CAtomicType (CDeclaration a) a
- data CAlignmentSpecifier a
  - = CAlignAsType (CDeclaration a) a
  - | CAlignAsExpr (CExpression a) a
- data CTypeQualifier a
  - = CConstQual a
  - | CVolatQual a
  - | CRestrQual a
  - | CAtomicQual a
  - | CAttrQual (CAttribute a)
  - | CNullableQual a
  - | CNonnullQual a
  - | CClRdOnlyQual a
  - | CClWrOnlyQual a
- data CAttribute a = CAttr Ident [CExpression a] a
- type CDeclr = CDeclarator NodeInfo
- type CDerivedDeclr = CDerivedDeclarator NodeInfo
- type CArrSize = CArraySize NodeInfo
- data CDeclarator a = CDeclr (Maybe Ident) [CDerivedDeclarator a] (Maybe (CStringLiteral a)) [CAttribute a] a
- data CDerivedDeclarator a
  - = CPtrDeclr [CTypeQualifier a] a
  - | CArrDeclr [CTypeQualifier a] (CArraySize a) a
  - | CFunDeclr (Either [Ident] ([CDeclaration a], Bool)) [CAttribute a] a
- data CArraySize a
  - = CNoArrSize Bool
  - | CArrSize Bool (CExpression a)
- type CInit = CInitializer NodeInfo
- type CInitList = CInitializerList NodeInfo
- type CDesignator = CPartDesignator NodeInfo
- data CInitializer a
  - = CInitExpr (CExpression a) a
  - | CInitList (CInitializerList a) a
- type CInitializerList a = [([CPartDesignator a], CInitializer a)]
- data CPartDesignator a
  - = CArrDesig (CExpression a) a
  - | CMemberDesig Ident a
  - | CRangeDesig (CExpression a) (CExpression a) a
- type CStat = CStatement NodeInfo
- type CBlockItem = CCompoundBlockItem NodeInfo
- type CAsmStmt = CAssemblyStatement NodeInfo
- type CAsmOperand = CAssemblyOperand NodeInfo
- data CStatement a
  - = CLabel Ident (CStatement a) [CAttribute a] a
  - | CCase (CExpression a) (CStatement a) a
  - | CCases (CExpression a) (CExpression a) (CStatement a) a
  - | CDefault (CStatement a) a
  - | CExpr (Maybe (CExpression a)) a
  - | CCompound [Ident] [CCompoundBlockItem a] a
  - | CIf (CExpression a) (CStatement a) (Maybe (CStatement a)) a
  - | CSwitch (CExpression a) (CStatement a) a
  - | CWhile (CExpression a) (CStatement a) Bool a
  - | CFor (Either (Maybe (CExpression a)) (CDeclaration a)) (Maybe (CExpression a)) (Maybe (CExpression a)) (CStatement a) a
  - | CGoto Ident a
  - | CGotoPtr (CExpression a) a
  - | CCont a
  - | CBreak a
  - | CReturn (Maybe (CExpression a)) a
  - | CAsm (CAssemblyStatement a) a
- data CCompoundBlockItem a
  - = CBlockStmt (CStatement a)
  - | CBlockDecl (CDeclaration a)
  - | CNestedFunDef (CFunctionDef a)
- data CAssemblyStatement a = CAsmStmt (Maybe (CTypeQualifier a)) (CStringLiteral a) [CAssemblyOperand a] [CAssemblyOperand a] [CStringLiteral a] a
- data CAssemblyOperand a = CAsmOperand (Maybe Ident) (CStringLiteral a) (CExpression a) a
- type CExpr = CExpression NodeInfo
- data CExpression a
  - = CComma [CExpression a] a
  - | CAssign CAssignOp (CExpression a) (CExpression a) a
  - | CCond (CExpression a) (Maybe (CExpression a)) (CExpression a) a
  - | CBinary CBinaryOp (CExpression a) (CExpression a) a
  - | CCast (CDeclaration a) (CExpression a) a
  - | CUnary CUnaryOp (CExpression a) a
  - | CSizeofExpr (CExpression a) a
  - | CSizeofType (CDeclaration a) a
  - | CAlignofExpr (CExpression a) a
  - | CAlignofType (CDeclaration a) a
  - | CComplexReal (CExpression a) a
  - | CComplexImag (CExpression a) a
  - | CIndex (CExpression a) (CExpression a) a
  - | CCall (CExpression a) [CExpression a] a
  - | CMember (CExpression a) Ident Bool a
  - | CVar Ident a
  - | CConst (CConstant a)
  - | CCompoundLit (CDeclaration a) (CInitializerList a) a
  - | CGenericSelection (CExpression a) [(Maybe (CDeclaration a), CExpression a)] a
  - | CStatExpr (CStatement a) a
  - | CLabAddrExpr Ident a
  - | CBuiltinExpr (CBuiltinThing a)
- data CAssignOp
  - = CAssignOp
  - | CMulAssOp
  - | CDivAssOp
  - | CRmdAssOp
  - | CAddAssOp
  - | CSubAssOp
  - | CShlAssOp
  - | CShrAssOp
  - | CAndAssOp
  - | CXorAssOp
  - | COrAssOp
- data CBinaryOp
  - = CMulOp
  - | CDivOp
  - | CRmdOp
  - | CAddOp
  - | CSubOp
  - | CShlOp
  - | CShrOp
  - | CLeOp
  - | CGrOp
  - | CLeqOp
  - | CGeqOp
  - | CEqOp
  - | CNeqOp
  - | CAndOp
  - | CXorOp
  - | COrOp
  - | CLndOp
  - | CLorOp
- data CUnaryOp
  - = CPreIncOp
  - | CPreDecOp
  - | CPostIncOp
  - | CPostDecOp
  - | CAdrOp
  - | CIndOp
  - | CPlusOp
  - | CMinOp
  - | CCompOp
  - | CNegOp
- type CBuiltin = CBuiltinThing NodeInfo
- data CBuiltinThing a
  - = CBuiltinVaArg (CExpression a) (CDeclaration a) a
  - | CBuiltinOffsetOf (CDeclaration a) [CPartDesignator a] a
  - | CBuiltinTypesCompatible (CDeclaration a) (CDeclaration a) a
  - | CBuiltinConvertVector (CExpression a) (CDeclaration a) a
  - | CBuiltinBitCast (CDeclaration a) (CExpression a) a
- type CConst = CConstant NodeInfo
- type CStrLit = CStringLiteral NodeInfo
- cstringOfLit :: CStringLiteral a -> CString
- liftStrLit :: CStringLiteral a -> CConstant a
- data CConstant a
  - = CIntConst CInteger a
  - | CCharConst CChar a
  - | CFloatConst CFloat a
  - | CStrConst CString a
- data CStringLiteral a = CStrLit CString a
- class Functor ast => Annotated (ast :: Type -> Type) where
  - annotation :: ast a -> a
  - amap :: (a -> a) -> ast a -> ast a

# C translation units

type CTranslUnit = CTranslationUnit NodeInfo Source #

Complete C tranlsation unit (C99 6.9, K&R A10)

A complete C translation unit, for example representing a C header or source file. It consists of a list of external (i.e. toplevel) declarations.

type CExtDecl = CExternalDeclaration NodeInfo Source #

External C declaration (C99 6.9, K&R A10)

Either a toplevel declaration, function definition or external assembler.

data CTranslationUnit a Source #

Constructors

CTranslUnit [CExternalDeclaration a] a |

#### Instances

Instances details

Functor CTranslationUnit Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CTranslationUnit a -> CTranslationUnit b Source # (<$) :: a -> CTranslationUnit b -> CTranslationUnit a Source #
Pretty CTranslUnit Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CTranslUnit -> Doc Source # prettyPrec :: Int -> CTranslUnit -> Doc Source #
Annotated CTranslationUnit Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CTranslationUnit a -> a Source # amap :: (a -> a) -> CTranslationUnit a -> CTranslationUnit a Source #
Generic1 CTranslationUnit Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CTranslationUnit |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CTranslationUnit = D1 ('MetaData "CTranslationUnit" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CTranslUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CExternalDeclaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: CTranslationUnit a -> Rep1 CTranslationUnit a Source #

to1 :: Rep1 CTranslationUnit a -> CTranslationUnit a Source #

NFData a => NFData (CTranslationUnit a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CTranslationUnit a -> () Source #
Data a => Data (CTranslationUnit a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CTranslationUnit a -> c (CTranslationUnit a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CTranslationUnit a) Source #

toConstr :: CTranslationUnit a -> Constr Source #

dataTypeOf :: CTranslationUnit a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CTranslationUnit a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CTranslationUnit a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CTranslationUnit a -> CTranslationUnit a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CTranslationUnit a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CTranslationUnit a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CTranslationUnit a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CTranslationUnit a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CTranslationUnit a -> m (CTranslationUnit a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CTranslationUnit a -> m (CTranslationUnit a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CTranslationUnit a -> m (CTranslationUnit a) Source #

Generic (CTranslationUnit a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CTranslationUnit a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CTranslationUnit a) = D1 ('MetaData "CTranslationUnit" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CTranslUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CExternalDeclaration a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: CTranslationUnit a -> Rep (CTranslationUnit a) x Source #

to :: Rep (CTranslationUnit a) x -> CTranslationUnit a Source #

Show a => Show (CTranslationUnit a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CTranslationUnit a -> ShowS Source # show :: CTranslationUnit a -> String Source # showList :: [CTranslationUnit a] -> ShowS Source #
CNode t1 => CNode (CTranslationUnit t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CTranslationUnit t1 -> NodeInfo Source #
CNode t1 => Pos (CTranslationUnit t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CTranslationUnit t1 -> Position Source #
type Rep1 CTranslationUnit Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CTranslationUnit = D1 ('MetaData "CTranslationUnit" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CTranslUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CExternalDeclaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

type Rep (CTranslationUnit a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CTranslationUnit a) = D1 ('MetaData "CTranslationUnit" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CTranslUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CExternalDeclaration a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

data CExternalDeclaration a Source #

Constructors

CDeclExt (CDeclaration a) |
CFDefExt (CFunctionDef a) |
CAsmExt (CStringLiteral a) a |

#### Instances

Instances details

Functor CExternalDeclaration Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CExternalDeclaration a -> CExternalDeclaration b Source # (<$) :: a -> CExternalDeclaration b -> CExternalDeclaration a Source #
Pretty CExtDecl Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CExtDecl -> Doc Source # prettyPrec :: Int -> CExtDecl -> Doc Source #
Annotated CExternalDeclaration Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CExternalDeclaration a -> a Source # amap :: (a -> a) -> CExternalDeclaration a -> CExternalDeclaration a Source #
Generic1 CExternalDeclaration Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CExternalDeclaration |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CExternalDeclaration = D1 ('MetaData "CExternalDeclaration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDeclExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration)) :+: (C1 ('MetaCons "CFDefExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CFunctionDef)) :+: C1 ('MetaCons "CAsmExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStringLiteral) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: CExternalDeclaration a -> Rep1 CExternalDeclaration a Source #

to1 :: Rep1 CExternalDeclaration a -> CExternalDeclaration a Source #

NFData a => NFData (CExternalDeclaration a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CExternalDeclaration a -> () Source #
Data a => Data (CExternalDeclaration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CExternalDeclaration a -> c (CExternalDeclaration a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CExternalDeclaration a) Source #

toConstr :: CExternalDeclaration a -> Constr Source #

dataTypeOf :: CExternalDeclaration a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CExternalDeclaration a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CExternalDeclaration a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CExternalDeclaration a -> CExternalDeclaration a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CExternalDeclaration a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CExternalDeclaration a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CExternalDeclaration a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CExternalDeclaration a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CExternalDeclaration a -> m (CExternalDeclaration a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CExternalDeclaration a -> m (CExternalDeclaration a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CExternalDeclaration a -> m (CExternalDeclaration a) Source #

Generic (CExternalDeclaration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CExternalDeclaration a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CExternalDeclaration a) = D1 ('MetaData "CExternalDeclaration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDeclExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a))) :+: (C1 ('MetaCons "CFDefExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CFunctionDef a))) :+: C1 ('MetaCons "CAsmExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStringLiteral a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

Methods

from :: CExternalDeclaration a -> Rep (CExternalDeclaration a) x Source #

to :: Rep (CExternalDeclaration a) x -> CExternalDeclaration a Source #

Show a => Show (CExternalDeclaration a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CExternalDeclaration a -> ShowS Source # show :: CExternalDeclaration a -> String Source # showList :: [CExternalDeclaration a] -> ShowS Source #
CNode t1 => CNode (CExternalDeclaration t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CExternalDeclaration t1 -> NodeInfo Source #
CNode t1 => Pos (CExternalDeclaration t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CExternalDeclaration t1 -> Position Source #
type Rep1 CExternalDeclaration Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CExternalDeclaration = D1 ('MetaData "CExternalDeclaration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDeclExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration)) :+: (C1 ('MetaCons "CFDefExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CFunctionDef)) :+: C1 ('MetaCons "CAsmExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStringLiteral) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

type Rep (CExternalDeclaration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CExternalDeclaration a) = D1 ('MetaData "CExternalDeclaration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDeclExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a))) :+: (C1 ('MetaCons "CFDefExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CFunctionDef a))) :+: C1 ('MetaCons "CAsmExt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStringLiteral a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

# Declarations

type CFunDef = CFunctionDef NodeInfo Source #

C function definition (C99 6.9.1, K&R A10.1)

A function definition is of the form `CFunDef specifiers declarator decllist? stmt`.

- `specifiers` are the type and storage-class specifiers of the function. The only storage-class specifiers allowed are extern and static.
- The `declarator` must be such that the declared identifier has function type. The return type shall be void or an object type other than array type.
- The optional declaration list `decllist` is for old-style function declarations.
- The statement `stmt` is a compound statement.

type CDecl = CDeclaration NodeInfo Source #

C declarations (K&R A8, C99 6.7), including structure declarations, parameter declarations and type names.

A declaration is of the form `CDecl specifiers init-declarator-list`, where the form of the declarator list's elements depends on the kind of declaration:

1) Toplevel declarations (K&R A8, C99 6.7 declaration)

- C99 requires that there is at least one specifier, though this is merely a syntactic restriction
- at most one storage class specifier is allowed per declaration
- the elements of the non-empty `init-declarator-list` are of the form `(Just declr, init?, Nothing)`. The declarator `declr` has to be present and non-abstract and the initialization expression is optional.

2) Structure declarations (K&R A8.3, C99 6.7.2.1 struct-declaration)

Those are the declarations of a structure's members.

- do not allow storage specifiers
- in strict C99, the list of declarators has to be non-empty
- the elements of `init-declarator-list` are either of the form `(Just declr, Nothing, size?)`, representing a member with optional bit-field size, or of the form `(Nothing, Nothing, Just size)`, for unnamed bitfields. `declr` has to be non-abstract.
- no member of a structure shall have incomplete type

3) Parameter declarations (K&R A8.6.3, C99 6.7.5 parameter-declaration)

- `init-declarator-list` must contain at most one triple of the form `(Just declr, Nothing, Nothing)`, i.e. consist of a single declarator, which is allowed to be abstract (i.e. unnamed).

4) Type names (A8.8, C99 6.7.6)

- do not allow storage specifiers
- `init-declarator-list` must contain at most one triple of the form `(Just declr, Nothing, Nothing)`. where `declr` is an abstract declarator (i.e. doesn't contain a declared identifier)

type CStructUnion = CStructureUnion NodeInfo Source #

C structure or union specifiers (K&R A8.3, C99 6.7.2.1)

`CStruct tag identifier struct-decls c-attrs` represents a struct or union specifier (depending on `tag`).

- either `identifier` or the declaration list `struct-decls` (or both) have to be present.

Example: in `struct foo x;`, the identifier is present, in `struct { int y; } x` the declaration list, and in `struct foo { int y; } x;` both of them.

- `c-attrs` is a list of `attribute` annotations associated with the struct or union specifier

type CEnum = CEnumeration NodeInfo Source #

C enumeration specifier (K&R A8.4, C99 6.7.2.2)

`CEnum identifier enumerator-list attrs` represent as enum specifier

- Either the identifier or the enumerator-list (or both) have to be present.
- If `enumerator-list` is present, it has to be non-empty.
- The enumerator list is of the form `(enumeration-constant, enumeration-value?)`, where the latter is an optional constant integral expression.
- `attrs` is a list of `attribute` annotations associated with the enumeration specifier

data CFunctionDef a Source #

Constructors

CFunDef [CDeclarationSpecifier a] (CDeclarator a) [CDeclaration a] (CStatement a) a |

#### Instances

Instances details

Functor CFunctionDef Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CFunctionDef a -> CFunctionDef b Source # (<$) :: a -> CFunctionDef b -> CFunctionDef a Source #
Pretty CFunDef Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CFunDef -> Doc Source # prettyPrec :: Int -> CFunDef -> Doc Source #
Annotated CFunctionDef Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CFunctionDef a -> a Source # amap :: (a -> a) -> CFunctionDef a -> CFunctionDef a Source #
Generic1 CFunctionDef Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CFunctionDef |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CFunctionDef = D1 ('MetaData "CFunctionDef" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CFunDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CDeclarationSpecifier) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclarator)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CDeclaration) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStatement) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: CFunctionDef a -> Rep1 CFunctionDef a Source #

to1 :: Rep1 CFunctionDef a -> CFunctionDef a Source #

NFData a => NFData (CFunctionDef a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CFunctionDef a -> () Source #
Data a => Data (CFunctionDef a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CFunctionDef a -> c (CFunctionDef a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CFunctionDef a) Source #

toConstr :: CFunctionDef a -> Constr Source #

dataTypeOf :: CFunctionDef a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CFunctionDef a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CFunctionDef a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CFunctionDef a -> CFunctionDef a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CFunctionDef a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CFunctionDef a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CFunctionDef a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CFunctionDef a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CFunctionDef a -> m (CFunctionDef a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CFunctionDef a -> m (CFunctionDef a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CFunctionDef a -> m (CFunctionDef a) Source #

Generic (CFunctionDef a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CFunctionDef a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CFunctionDef a) = D1 ('MetaData "CFunctionDef" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CFunDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CDeclarationSpecifier a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclarator a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CDeclaration a]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

Methods

from :: CFunctionDef a -> Rep (CFunctionDef a) x Source #

to :: Rep (CFunctionDef a) x -> CFunctionDef a Source #

Show a => Show (CFunctionDef a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CFunctionDef a -> ShowS Source # show :: CFunctionDef a -> String Source # showList :: [CFunctionDef a] -> ShowS Source #
CNode t1 => CNode (CFunctionDef t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CFunctionDef t1 -> NodeInfo Source #
CNode t1 => Pos (CFunctionDef t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CFunctionDef t1 -> Position Source #
type Rep1 CFunctionDef Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CFunctionDef = D1 ('MetaData "CFunctionDef" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CFunDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CDeclarationSpecifier) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclarator)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CDeclaration) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStatement) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

type Rep (CFunctionDef a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CFunctionDef a) = D1 ('MetaData "CFunctionDef" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CFunDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CDeclarationSpecifier a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclarator a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CDeclaration a]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

data CDeclaration a Source #

Constructors

CDecl [CDeclarationSpecifier a] [(Maybe (CDeclarator a), Maybe (CInitializer a), Maybe (CExpression a))] a |
CStaticAssert (CExpression a) (CStringLiteral a) a |

#### Instances

Instances details

Functor CDeclaration Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CDeclaration a -> CDeclaration b Source # (<$) :: a -> CDeclaration b -> CDeclaration a Source #
Pretty CDecl Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CDecl -> Doc Source # prettyPrec :: Int -> CDecl -> Doc Source #
Annotated CDeclaration Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CDeclaration a -> a Source # amap :: (a -> a) -> CDeclaration a -> CDeclaration a Source #
NFData a => NFData (CDeclaration a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CDeclaration a -> () Source #
Data a => Data (CDeclaration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CDeclaration a -> c (CDeclaration a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CDeclaration a) Source #

toConstr :: CDeclaration a -> Constr Source #

dataTypeOf :: CDeclaration a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CDeclaration a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CDeclaration a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CDeclaration a -> CDeclaration a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CDeclaration a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CDeclaration a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CDeclaration a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CDeclaration a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CDeclaration a -> m (CDeclaration a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CDeclaration a -> m (CDeclaration a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CDeclaration a -> m (CDeclaration a) Source #

Generic (CDeclaration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CDeclaration a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CDeclaration a) = D1 ('MetaData "CDeclaration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CDeclarationSpecifier a]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Maybe (CDeclarator a), Maybe (CInitializer a), Maybe (CExpression a))]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CStaticAssert" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStringLiteral a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

Methods

from :: CDeclaration a -> Rep (CDeclaration a) x Source #

to :: Rep (CDeclaration a) x -> CDeclaration a Source #

Show a => Show (CDeclaration a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CDeclaration a -> ShowS Source # show :: CDeclaration a -> String Source # showList :: [CDeclaration a] -> ShowS Source #
CNode t1 => CNode (CDeclaration t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CDeclaration t1 -> NodeInfo Source #
CNode t1 => Pos (CDeclaration t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CDeclaration t1 -> Position Source #
type Rep (CDeclaration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CDeclaration a) = D1 ('MetaData "CDeclaration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CDeclarationSpecifier a]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Maybe (CDeclarator a), Maybe (CInitializer a), Maybe (CExpression a))]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CStaticAssert" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStringLiteral a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

data CStructTag Source #

A tag to determine wheter we refer to a `struct` or `union`, see `CStructUnion`.

Constructors

CStructTag |
CUnionTag |

#### Instances

Instances details

NFData CStructTag Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CStructTag -> () Source #
Data CStructTag Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CStructTag -> c CStructTag Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CStructTag Source #

toConstr :: CStructTag -> Constr Source #

dataTypeOf :: CStructTag -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CStructTag) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CStructTag) Source #

gmapT :: (forall b. Data b => b -> b) -> CStructTag -> CStructTag Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CStructTag -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CStructTag -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CStructTag -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CStructTag -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CStructTag -> m CStructTag Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CStructTag -> m CStructTag Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CStructTag -> m CStructTag Source #

Generic CStructTag Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep CStructTag |
Instance details Defined in Language.C.Syntax.AST type Rep CStructTag = D1 ('MetaData "CStructTag" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStructTag" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CUnionTag" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: CStructTag -> Rep CStructTag x Source #

to :: Rep CStructTag x -> CStructTag Source #

Show CStructTag Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CStructTag -> ShowS Source # show :: CStructTag -> String Source # showList :: [CStructTag] -> ShowS Source #
Eq CStructTag Source # |
Instance details Defined in Language.C.Syntax.AST Methods (==) :: CStructTag -> CStructTag -> Bool Source # (/=) :: CStructTag -> CStructTag -> Bool Source #
Pretty CStructTag Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CStructTag -> Doc Source # prettyPrec :: Int -> CStructTag -> Doc Source #
type Rep CStructTag Source # |
Instance details Defined in Language.C.Syntax.AST type Rep CStructTag = D1 ('MetaData "CStructTag" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStructTag" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CUnionTag" 'PrefixI 'False) (U1 :: Type -> Type))

data CStructureUnion a Source #

Constructors

CStruct CStructTag (Maybe Ident) (Maybe [CDeclaration a]) [CAttribute a] a |

#### Instances

Instances details

Functor CStructureUnion Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CStructureUnion a -> CStructureUnion b Source # (<$) :: a -> CStructureUnion b -> CStructureUnion a Source #
Pretty CStructUnion Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CStructUnion -> Doc Source # prettyPrec :: Int -> CStructUnion -> Doc Source #
Annotated CStructureUnion Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CStructureUnion a -> a Source # amap :: (a -> a) -> CStructureUnion a -> CStructureUnion a Source #
Generic1 CStructureUnion Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CStructureUnion |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CStructureUnion = D1 ('MetaData "CStructureUnion" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStruct" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CStructTag) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe :.: ([] :.: Rec1 CDeclaration)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAttribute) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: CStructureUnion a -> Rep1 CStructureUnion a Source #

to1 :: Rep1 CStructureUnion a -> CStructureUnion a Source #

NFData a => NFData (CStructureUnion a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CStructureUnion a -> () Source #
Data a => Data (CStructureUnion a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CStructureUnion a -> c (CStructureUnion a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CStructureUnion a) Source #

toConstr :: CStructureUnion a -> Constr Source #

dataTypeOf :: CStructureUnion a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CStructureUnion a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CStructureUnion a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CStructureUnion a -> CStructureUnion a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CStructureUnion a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CStructureUnion a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CStructureUnion a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CStructureUnion a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CStructureUnion a -> m (CStructureUnion a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CStructureUnion a -> m (CStructureUnion a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CStructureUnion a -> m (CStructureUnion a) Source #

Generic (CStructureUnion a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CStructureUnion a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CStructureUnion a) = D1 ('MetaData "CStructureUnion" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStruct" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CStructTag) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [CDeclaration a])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

Methods

from :: CStructureUnion a -> Rep (CStructureUnion a) x Source #

to :: Rep (CStructureUnion a) x -> CStructureUnion a Source #

Show a => Show (CStructureUnion a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CStructureUnion a -> ShowS Source # show :: CStructureUnion a -> String Source # showList :: [CStructureUnion a] -> ShowS Source #
CNode t1 => CNode (CStructureUnion t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CStructureUnion t1 -> NodeInfo Source #
CNode t1 => Pos (CStructureUnion t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CStructureUnion t1 -> Position Source #
type Rep1 CStructureUnion Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CStructureUnion = D1 ('MetaData "CStructureUnion" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStruct" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CStructTag) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe :.: ([] :.: Rec1 CDeclaration)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAttribute) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

type Rep (CStructureUnion a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CStructureUnion a) = D1 ('MetaData "CStructureUnion" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStruct" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CStructTag) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [CDeclaration a])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

data CEnumeration a Source #

Constructors

CEnum (Maybe Ident) (Maybe [(Ident, Maybe (CExpression a))]) [CAttribute a] a |

#### Instances

Instances details

Functor CEnumeration Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CEnumeration a -> CEnumeration b Source # (<$) :: a -> CEnumeration b -> CEnumeration a Source #
Pretty CEnum Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CEnum -> Doc Source # prettyPrec :: Int -> CEnum -> Doc Source #
Annotated CEnumeration Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CEnumeration a -> a Source # amap :: (a -> a) -> CEnumeration a -> CEnumeration a Source #
Generic1 CEnumeration Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CEnumeration |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CEnumeration = D1 ('MetaData "CEnumeration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CEnum" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe :.: ([] :.: ((,) Ident :.: (Maybe :.: Rec1 CExpression))))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAttribute) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: CEnumeration a -> Rep1 CEnumeration a Source #

to1 :: Rep1 CEnumeration a -> CEnumeration a Source #

NFData a => NFData (CEnumeration a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CEnumeration a -> () Source #
Data a => Data (CEnumeration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CEnumeration a -> c (CEnumeration a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CEnumeration a) Source #

toConstr :: CEnumeration a -> Constr Source #

dataTypeOf :: CEnumeration a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CEnumeration a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CEnumeration a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CEnumeration a -> CEnumeration a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CEnumeration a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CEnumeration a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CEnumeration a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CEnumeration a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CEnumeration a -> m (CEnumeration a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CEnumeration a -> m (CEnumeration a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CEnumeration a -> m (CEnumeration a) Source #

Generic (CEnumeration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CEnumeration a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CEnumeration a) = D1 ('MetaData "CEnumeration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CEnum" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [(Ident, Maybe (CExpression a))]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

Methods

from :: CEnumeration a -> Rep (CEnumeration a) x Source #

to :: Rep (CEnumeration a) x -> CEnumeration a Source #

Show a => Show (CEnumeration a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CEnumeration a -> ShowS Source # show :: CEnumeration a -> String Source # showList :: [CEnumeration a] -> ShowS Source #
CNode t1 => CNode (CEnumeration t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CEnumeration t1 -> NodeInfo Source #
CNode t1 => Pos (CEnumeration t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CEnumeration t1 -> Position Source #
type Rep1 CEnumeration Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CEnumeration = D1 ('MetaData "CEnumeration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CEnum" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe :.: ([] :.: ((,) Ident :.: (Maybe :.: Rec1 CExpression))))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAttribute) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

type Rep (CEnumeration a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CEnumeration a) = D1 ('MetaData "CEnumeration" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CEnum" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [(Ident, Maybe (CExpression a))]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

# Declaration attributes

type CDeclSpec = CDeclarationSpecifier NodeInfo Source #

C declaration specifiers and qualifiers

Declaration specifiers include at most one storage-class specifier (C99 6.7.1), type specifiers (6.7.2) and type qualifiers (6.7.3).

partitionDeclSpecs :: [CDeclarationSpecifier a] -> ([CStorageSpecifier a], [CAttribute a], [CTypeQualifier a], [CTypeSpecifier a], [CFunctionSpecifier a], [CAlignmentSpecifier a]) Source #

Separate the declaration specifiers

`attribute` of a declaration qualify declarations or declarators (but not types), and are therefore separated as well.

type CStorageSpec = CStorageSpecifier NodeInfo Source #

C storage class specifier (and typedefs) (K&R A8.1, C99 6.7.1)

type CTypeSpec = CTypeSpecifier NodeInfo Source #

C type specifier (K&R A8.2, C99 6.7.2)

Type specifiers are either basic types such as `char` or `int`, `struct`, `union` or `enum` specifiers or typedef names.

As a GNU extension, a `typeof` expression also is a type specifier.

isSUEDef :: CTypeSpecifier a -> Bool Source #

returns `True` if the given typespec is a struct, union or enum definition

type CTypeQual = CTypeQualifier NodeInfo Source #

C type qualifiers (K&R A8.2, C99 6.7.3) and attributes.

`const`, `volatile` and `restrict` type qualifiers Additionally, `attribute` annotations for declarations and declarators, and function specifiers

type CFunSpec = CFunctionSpecifier NodeInfo Source #

C function specifiers (C99 6.7.4)

function specifiers `inline` and `_Noreturn`

type CAlignSpec = CAlignmentSpecifier NodeInfo Source #

C alignment specifiers (C99 6.7.5)

type CAttr = CAttribute NodeInfo Source #

`attribute` annotations

Those are of the form `CAttr attribute-name attribute-parameters`, and serve as generic properties of some syntax tree elements.

data CFunctionSpecifier a Source #

Constructors

CInlineQual a |
CNoreturnQual a |

#### Instances

Instances details

Functor CFunctionSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CFunctionSpecifier a -> CFunctionSpecifier b Source # (<$) :: a -> CFunctionSpecifier b -> CFunctionSpecifier a Source #
Pretty CFunSpec Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CFunSpec -> Doc Source # prettyPrec :: Int -> CFunSpec -> Doc Source #
Annotated CFunctionSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CFunctionSpecifier a -> a Source # amap :: (a -> a) -> CFunctionSpecifier a -> CFunctionSpecifier a Source #
Generic1 CFunctionSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CFunctionSpecifier |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CFunctionSpecifier = D1 ('MetaData "CFunctionSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CInlineQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CNoreturnQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: CFunctionSpecifier a -> Rep1 CFunctionSpecifier a Source #

to1 :: Rep1 CFunctionSpecifier a -> CFunctionSpecifier a Source #

NFData a => NFData (CFunctionSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CFunctionSpecifier a -> () Source #
Data a => Data (CFunctionSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CFunctionSpecifier a -> c (CFunctionSpecifier a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CFunctionSpecifier a) Source #

toConstr :: CFunctionSpecifier a -> Constr Source #

dataTypeOf :: CFunctionSpecifier a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CFunctionSpecifier a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CFunctionSpecifier a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CFunctionSpecifier a -> CFunctionSpecifier a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CFunctionSpecifier a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CFunctionSpecifier a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CFunctionSpecifier a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CFunctionSpecifier a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CFunctionSpecifier a -> m (CFunctionSpecifier a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CFunctionSpecifier a -> m (CFunctionSpecifier a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CFunctionSpecifier a -> m (CFunctionSpecifier a) Source #

Generic (CFunctionSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CFunctionSpecifier a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CFunctionSpecifier a) = D1 ('MetaData "CFunctionSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CInlineQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CNoreturnQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: CFunctionSpecifier a -> Rep (CFunctionSpecifier a) x Source #

to :: Rep (CFunctionSpecifier a) x -> CFunctionSpecifier a Source #

Show a => Show (CFunctionSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CFunctionSpecifier a -> ShowS Source # show :: CFunctionSpecifier a -> String Source # showList :: [CFunctionSpecifier a] -> ShowS Source #
CNode t1 => CNode (CFunctionSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CFunctionSpecifier t1 -> NodeInfo Source #
CNode t1 => Pos (CFunctionSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CFunctionSpecifier t1 -> Position Source #
type Rep1 CFunctionSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CFunctionSpecifier = D1 ('MetaData "CFunctionSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CInlineQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CNoreturnQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

type Rep (CFunctionSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CFunctionSpecifier a) = D1 ('MetaData "CFunctionSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CInlineQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CNoreturnQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

data CDeclarationSpecifier a Source #

Constructors

CStorageSpec (CStorageSpecifier a) | storage-class specifier or typedef
CTypeSpec (CTypeSpecifier a) | type name
CTypeQual (CTypeQualifier a) | type qualifier
CFunSpec (CFunctionSpecifier a) | function specifier
CAlignSpec (CAlignmentSpecifier a) | alignment specifier

#### Instances

Instances details

Functor CDeclarationSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CDeclarationSpecifier a -> CDeclarationSpecifier b Source # (<$) :: a -> CDeclarationSpecifier b -> CDeclarationSpecifier a Source #
Pretty CDeclSpec Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CDeclSpec -> Doc Source # prettyPrec :: Int -> CDeclSpec -> Doc Source #
Annotated CDeclarationSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CDeclarationSpecifier a -> a Source # amap :: (a -> a) -> CDeclarationSpecifier a -> CDeclarationSpecifier a Source #
Generic1 CDeclarationSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CDeclarationSpecifier |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CDeclarationSpecifier = D1 ('MetaData "CDeclarationSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CStorageSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStorageSpecifier)) :+: C1 ('MetaCons "CTypeSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CTypeSpecifier))) :+: (C1 ('MetaCons "CTypeQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CTypeQualifier)) :+: (C1 ('MetaCons "CFunSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CFunctionSpecifier)) :+: C1 ('MetaCons "CAlignSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CAlignmentSpecifier)))))

Methods

from1 :: CDeclarationSpecifier a -> Rep1 CDeclarationSpecifier a Source #

to1 :: Rep1 CDeclarationSpecifier a -> CDeclarationSpecifier a Source #

NFData a => NFData (CDeclarationSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CDeclarationSpecifier a -> () Source #
Data a => Data (CDeclarationSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CDeclarationSpecifier a -> c (CDeclarationSpecifier a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CDeclarationSpecifier a) Source #

toConstr :: CDeclarationSpecifier a -> Constr Source #

dataTypeOf :: CDeclarationSpecifier a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CDeclarationSpecifier a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CDeclarationSpecifier a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CDeclarationSpecifier a -> CDeclarationSpecifier a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CDeclarationSpecifier a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CDeclarationSpecifier a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CDeclarationSpecifier a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CDeclarationSpecifier a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CDeclarationSpecifier a -> m (CDeclarationSpecifier a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CDeclarationSpecifier a -> m (CDeclarationSpecifier a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CDeclarationSpecifier a -> m (CDeclarationSpecifier a) Source #

Generic (CDeclarationSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CDeclarationSpecifier a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CDeclarationSpecifier a) = D1 ('MetaData "CDeclarationSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CStorageSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStorageSpecifier a))) :+: C1 ('MetaCons "CTypeSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CTypeSpecifier a)))) :+: (C1 ('MetaCons "CTypeQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CTypeQualifier a))) :+: (C1 ('MetaCons "CFunSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CFunctionSpecifier a))) :+: C1 ('MetaCons "CAlignSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CAlignmentSpecifier a))))))

Methods

from :: CDeclarationSpecifier a -> Rep (CDeclarationSpecifier a) x Source #

to :: Rep (CDeclarationSpecifier a) x -> CDeclarationSpecifier a Source #

Show a => Show (CDeclarationSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CDeclarationSpecifier a -> ShowS Source # show :: CDeclarationSpecifier a -> String Source # showList :: [CDeclarationSpecifier a] -> ShowS Source #
CNode t1 => CNode (CDeclarationSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CDeclarationSpecifier t1 -> NodeInfo Source #
CNode t1 => Pos (CDeclarationSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CDeclarationSpecifier t1 -> Position Source #
type Rep1 CDeclarationSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CDeclarationSpecifier = D1 ('MetaData "CDeclarationSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CStorageSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStorageSpecifier)) :+: C1 ('MetaCons "CTypeSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CTypeSpecifier))) :+: (C1 ('MetaCons "CTypeQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CTypeQualifier)) :+: (C1 ('MetaCons "CFunSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CFunctionSpecifier)) :+: C1 ('MetaCons "CAlignSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CAlignmentSpecifier)))))

type Rep (CDeclarationSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CDeclarationSpecifier a) = D1 ('MetaData "CDeclarationSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CStorageSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStorageSpecifier a))) :+: C1 ('MetaCons "CTypeSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CTypeSpecifier a)))) :+: (C1 ('MetaCons "CTypeQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CTypeQualifier a))) :+: (C1 ('MetaCons "CFunSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CFunctionSpecifier a))) :+: C1 ('MetaCons "CAlignSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CAlignmentSpecifier a))))))

data CStorageSpecifier a Source #

Constructors

CAuto a | auto
CRegister a | register
CStatic a | static
CExtern a | extern
CTypedef a | typedef
CThread a | C11/GNUC thread local storage
CClKernel a | OpenCL kernel function
CClGlobal a | OpenCL __global variable
CClLocal a | OpenCL __local variable

#### Instances

Instances details

Functor CStorageSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CStorageSpecifier a -> CStorageSpecifier b Source # (<$) :: a -> CStorageSpecifier b -> CStorageSpecifier a Source #
Pretty CStorageSpec Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CStorageSpec -> Doc Source # prettyPrec :: Int -> CStorageSpec -> Doc Source #
Annotated CStorageSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CStorageSpecifier a -> a Source # amap :: (a -> a) -> CStorageSpecifier a -> CStorageSpecifier a Source #
Generic1 CStorageSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CStorageSpecifier |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CStorageSpecifier = D1 ('MetaData "CStorageSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CAuto" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CRegister" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CStatic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CExtern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) :+: ((C1 ('MetaCons "CTypedef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CThread" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CClKernel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CClGlobal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CClLocal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: CStorageSpecifier a -> Rep1 CStorageSpecifier a Source #

to1 :: Rep1 CStorageSpecifier a -> CStorageSpecifier a Source #

NFData a => NFData (CStorageSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CStorageSpecifier a -> () Source #
Data a => Data (CStorageSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CStorageSpecifier a -> c (CStorageSpecifier a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CStorageSpecifier a) Source #

toConstr :: CStorageSpecifier a -> Constr Source #

dataTypeOf :: CStorageSpecifier a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CStorageSpecifier a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CStorageSpecifier a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CStorageSpecifier a -> CStorageSpecifier a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CStorageSpecifier a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CStorageSpecifier a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CStorageSpecifier a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CStorageSpecifier a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CStorageSpecifier a -> m (CStorageSpecifier a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CStorageSpecifier a -> m (CStorageSpecifier a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CStorageSpecifier a -> m (CStorageSpecifier a) Source #

Generic (CStorageSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CStorageSpecifier a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CStorageSpecifier a) = D1 ('MetaData "CStorageSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CAuto" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CRegister" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CStatic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CExtern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: ((C1 ('MetaCons "CTypedef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CThread" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CClKernel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CClGlobal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CClLocal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))))

Methods

from :: CStorageSpecifier a -> Rep (CStorageSpecifier a) x Source #

to :: Rep (CStorageSpecifier a) x -> CStorageSpecifier a Source #

Show a => Show (CStorageSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CStorageSpecifier a -> ShowS Source # show :: CStorageSpecifier a -> String Source # showList :: [CStorageSpecifier a] -> ShowS Source #
Eq a => Eq (CStorageSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods (==) :: CStorageSpecifier a -> CStorageSpecifier a -> Bool Source # (/=) :: CStorageSpecifier a -> CStorageSpecifier a -> Bool Source #
Ord a => Ord (CStorageSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

compare :: CStorageSpecifier a -> CStorageSpecifier a -> Ordering Source #

(<) :: CStorageSpecifier a -> CStorageSpecifier a -> Bool Source #

(<=) :: CStorageSpecifier a -> CStorageSpecifier a -> Bool Source #

(>) :: CStorageSpecifier a -> CStorageSpecifier a -> Bool Source #

(>=) :: CStorageSpecifier a -> CStorageSpecifier a -> Bool Source #

max :: CStorageSpecifier a -> CStorageSpecifier a -> CStorageSpecifier a Source #

min :: CStorageSpecifier a -> CStorageSpecifier a -> CStorageSpecifier a Source #

CNode t1 => CNode (CStorageSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CStorageSpecifier t1 -> NodeInfo Source #
CNode t1 => Pos (CStorageSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CStorageSpecifier t1 -> Position Source #
type Rep1 CStorageSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CStorageSpecifier = D1 ('MetaData "CStorageSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CAuto" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CRegister" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CStatic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CExtern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) :+: ((C1 ('MetaCons "CTypedef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CThread" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CClKernel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CClGlobal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CClLocal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

type Rep (CStorageSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CStorageSpecifier a) = D1 ('MetaData "CStorageSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CAuto" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CRegister" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CStatic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CExtern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: ((C1 ('MetaCons "CTypedef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CThread" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CClKernel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CClGlobal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CClLocal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))))

data CTypeSpecifier a Source #

Constructors

CVoidType a |
CCharType a |
CShortType a |
CIntType a |
CLongType a |
CFloatType a |
CDoubleType a |
CSignedType a |
CUnsigType a |
CBoolType a |
CComplexType a |
CInt128Type a |
CUInt128Type a |
CBFloat16Type a |
CFloatNType Int Bool a | IEC 60227: width (32,64,128), extended flag
CSUType (CStructureUnion a) a | Struct or Union specifier
CEnumType (CEnumeration a) a | Enumeration specifier
CTypeDef Ident a | Typedef name

CTypeOfExpr (CExpression a) a

    typeof(expr)

CTypeOfType (CDeclaration a) a

    typeof(type)

CAtomicType (CDeclaration a) a

    _Atomic(type)

#### Instances

Instances details

Functor CTypeSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CTypeSpecifier a -> CTypeSpecifier b Source # (<$) :: a -> CTypeSpecifier b -> CTypeSpecifier a Source #
Pretty CTypeSpec Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CTypeSpec -> Doc Source # prettyPrec :: Int -> CTypeSpec -> Doc Source #
Annotated CTypeSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CTypeSpecifier a -> a Source # amap :: (a -> a) -> CTypeSpecifier a -> CTypeSpecifier a Source #
Generic1 CTypeSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CTypeSpecifier |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CTypeSpecifier = D1 ('MetaData "CTypeSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CVoidType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CCharType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CShortType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CIntType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CLongType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) :+: ((C1 ('MetaCons "CFloatType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CDoubleType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CSignedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CUnsigType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CBoolType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) :+: (((C1 ('MetaCons "CComplexType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CInt128Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CUInt128Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CBFloat16Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CFloatNType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) :+: ((C1 ('MetaCons "CSUType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStructureUnion) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CEnumType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CEnumeration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CTypeDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) :+: (C1 ('MetaCons "CTypeOfExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CTypeOfType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CAtomicType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))))

Methods

from1 :: CTypeSpecifier a -> Rep1 CTypeSpecifier a Source #

to1 :: Rep1 CTypeSpecifier a -> CTypeSpecifier a Source #

NFData a => NFData (CTypeSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CTypeSpecifier a -> () Source #
Data a => Data (CTypeSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CTypeSpecifier a -> c (CTypeSpecifier a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CTypeSpecifier a) Source #

toConstr :: CTypeSpecifier a -> Constr Source #

dataTypeOf :: CTypeSpecifier a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CTypeSpecifier a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CTypeSpecifier a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CTypeSpecifier a -> CTypeSpecifier a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CTypeSpecifier a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CTypeSpecifier a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CTypeSpecifier a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CTypeSpecifier a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CTypeSpecifier a -> m (CTypeSpecifier a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CTypeSpecifier a -> m (CTypeSpecifier a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CTypeSpecifier a -> m (CTypeSpecifier a) Source #

Generic (CTypeSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CTypeSpecifier a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CTypeSpecifier a) = D1 ('MetaData "CTypeSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CVoidType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CCharType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CShortType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CIntType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CLongType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) :+: ((C1 ('MetaCons "CFloatType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CDoubleType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CSignedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CUnsigType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CBoolType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: (((C1 ('MetaCons "CComplexType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CInt128Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CUInt128Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CBFloat16Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CFloatNType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: ((C1 ('MetaCons "CSUType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStructureUnion a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CEnumType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CEnumeration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CTypeDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CTypeOfExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CTypeOfType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAtomicType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))))

Methods

from :: CTypeSpecifier a -> Rep (CTypeSpecifier a) x Source #

to :: Rep (CTypeSpecifier a) x -> CTypeSpecifier a Source #

Show a => Show (CTypeSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CTypeSpecifier a -> ShowS Source # show :: CTypeSpecifier a -> String Source # showList :: [CTypeSpecifier a] -> ShowS Source #
CNode t1 => CNode (CTypeSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CTypeSpecifier t1 -> NodeInfo Source #
CNode t1 => Pos (CTypeSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CTypeSpecifier t1 -> Position Source #
type Rep1 CTypeSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CTypeSpecifier = D1 ('MetaData "CTypeSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CVoidType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CCharType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CShortType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CIntType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CLongType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) :+: ((C1 ('MetaCons "CFloatType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CDoubleType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CSignedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CUnsigType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CBoolType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) :+: (((C1 ('MetaCons "CComplexType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CInt128Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CUInt128Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CBFloat16Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CFloatNType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) :+: ((C1 ('MetaCons "CSUType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStructureUnion) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CEnumType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CEnumeration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CTypeDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) :+: (C1 ('MetaCons "CTypeOfExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CTypeOfType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CAtomicType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))))

type Rep (CTypeSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CTypeSpecifier a) = D1 ('MetaData "CTypeSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CVoidType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CCharType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CShortType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CIntType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CLongType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) :+: ((C1 ('MetaCons "CFloatType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CDoubleType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CSignedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CUnsigType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CBoolType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: (((C1 ('MetaCons "CComplexType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CInt128Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CUInt128Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CBFloat16Type" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CFloatNType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: ((C1 ('MetaCons "CSUType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStructureUnion a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CEnumType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CEnumeration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CTypeDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CTypeOfExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CTypeOfType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAtomicType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))))

data CAlignmentSpecifier a Source #

Constructors

CAlignAsType (CDeclaration a) a

    _Alignas(type)

CAlignAsExpr (CExpression a) a

    _Alignas(expr)

#### Instances

Instances details

Functor CAlignmentSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CAlignmentSpecifier a -> CAlignmentSpecifier b Source # (<$) :: a -> CAlignmentSpecifier b -> CAlignmentSpecifier a Source #
Pretty CAlignSpec Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CAlignSpec -> Doc Source # prettyPrec :: Int -> CAlignSpec -> Doc Source #
Annotated CAlignmentSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CAlignmentSpecifier a -> a Source # amap :: (a -> a) -> CAlignmentSpecifier a -> CAlignmentSpecifier a Source #
Generic1 CAlignmentSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CAlignmentSpecifier |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CAlignmentSpecifier = D1 ('MetaData "CAlignmentSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAlignAsType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CAlignAsExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: CAlignmentSpecifier a -> Rep1 CAlignmentSpecifier a Source #

to1 :: Rep1 CAlignmentSpecifier a -> CAlignmentSpecifier a Source #

NFData a => NFData (CAlignmentSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CAlignmentSpecifier a -> () Source #
Data a => Data (CAlignmentSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CAlignmentSpecifier a -> c (CAlignmentSpecifier a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CAlignmentSpecifier a) Source #

toConstr :: CAlignmentSpecifier a -> Constr Source #

dataTypeOf :: CAlignmentSpecifier a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CAlignmentSpecifier a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CAlignmentSpecifier a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CAlignmentSpecifier a -> CAlignmentSpecifier a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CAlignmentSpecifier a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CAlignmentSpecifier a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CAlignmentSpecifier a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CAlignmentSpecifier a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CAlignmentSpecifier a -> m (CAlignmentSpecifier a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CAlignmentSpecifier a -> m (CAlignmentSpecifier a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CAlignmentSpecifier a -> m (CAlignmentSpecifier a) Source #

Generic (CAlignmentSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CAlignmentSpecifier a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CAlignmentSpecifier a) = D1 ('MetaData "CAlignmentSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAlignAsType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAlignAsExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: CAlignmentSpecifier a -> Rep (CAlignmentSpecifier a) x Source #

to :: Rep (CAlignmentSpecifier a) x -> CAlignmentSpecifier a Source #

Show a => Show (CAlignmentSpecifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CAlignmentSpecifier a -> ShowS Source # show :: CAlignmentSpecifier a -> String Source # showList :: [CAlignmentSpecifier a] -> ShowS Source #
CNode t1 => CNode (CAlignmentSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CAlignmentSpecifier t1 -> NodeInfo Source #
CNode t1 => Pos (CAlignmentSpecifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CAlignmentSpecifier t1 -> Position Source #
type Rep1 CAlignmentSpecifier Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CAlignmentSpecifier = D1 ('MetaData "CAlignmentSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAlignAsType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CAlignAsExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

type Rep (CAlignmentSpecifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CAlignmentSpecifier a) = D1 ('MetaData "CAlignmentSpecifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAlignAsType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAlignAsExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

data CTypeQualifier a Source #

Constructors

CConstQual a |
CVolatQual a |
CRestrQual a |
CAtomicQual a |
CAttrQual (CAttribute a) |
CNullableQual a |
CNonnullQual a |
CClRdOnlyQual a |
CClWrOnlyQual a |

#### Instances

Instances details

Functor CTypeQualifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CTypeQualifier a -> CTypeQualifier b Source # (<$) :: a -> CTypeQualifier b -> CTypeQualifier a Source #
Pretty CTypeQual Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CTypeQual -> Doc Source # prettyPrec :: Int -> CTypeQual -> Doc Source #
Annotated CTypeQualifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CTypeQualifier a -> a Source # amap :: (a -> a) -> CTypeQualifier a -> CTypeQualifier a Source #
Generic1 CTypeQualifier Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CTypeQualifier |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CTypeQualifier = D1 ('MetaData "CTypeQualifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CConstQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CVolatQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CRestrQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CAtomicQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) :+: ((C1 ('MetaCons "CAttrQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CAttribute)) :+: C1 ('MetaCons "CNullableQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CNonnullQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CClRdOnlyQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CClWrOnlyQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: CTypeQualifier a -> Rep1 CTypeQualifier a Source #

to1 :: Rep1 CTypeQualifier a -> CTypeQualifier a Source #

NFData a => NFData (CTypeQualifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CTypeQualifier a -> () Source #
Data a => Data (CTypeQualifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CTypeQualifier a -> c (CTypeQualifier a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CTypeQualifier a) Source #

toConstr :: CTypeQualifier a -> Constr Source #

dataTypeOf :: CTypeQualifier a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CTypeQualifier a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CTypeQualifier a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CTypeQualifier a -> CTypeQualifier a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CTypeQualifier a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CTypeQualifier a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CTypeQualifier a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CTypeQualifier a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CTypeQualifier a -> m (CTypeQualifier a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CTypeQualifier a -> m (CTypeQualifier a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CTypeQualifier a -> m (CTypeQualifier a) Source #

Generic (CTypeQualifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CTypeQualifier a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CTypeQualifier a) = D1 ('MetaData "CTypeQualifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CConstQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CVolatQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CRestrQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAtomicQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: ((C1 ('MetaCons "CAttrQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CAttribute a))) :+: C1 ('MetaCons "CNullableQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CNonnullQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CClRdOnlyQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CClWrOnlyQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))))

Methods

from :: CTypeQualifier a -> Rep (CTypeQualifier a) x Source #

to :: Rep (CTypeQualifier a) x -> CTypeQualifier a Source #

Show a => Show (CTypeQualifier a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CTypeQualifier a -> ShowS Source # show :: CTypeQualifier a -> String Source # showList :: [CTypeQualifier a] -> ShowS Source #
CNode t1 => CNode (CTypeQualifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CTypeQualifier t1 -> NodeInfo Source #
CNode t1 => Pos (CTypeQualifier t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CTypeQualifier t1 -> Position Source #
type Rep1 CTypeQualifier Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CTypeQualifier = D1 ('MetaData "CTypeQualifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CConstQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CVolatQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CRestrQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CAtomicQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) :+: ((C1 ('MetaCons "CAttrQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CAttribute)) :+: C1 ('MetaCons "CNullableQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CNonnullQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: (C1 ('MetaCons "CClRdOnlyQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CClWrOnlyQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

type Rep (CTypeQualifier a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CTypeQualifier a) = D1 ('MetaData "CTypeQualifier" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CConstQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CVolatQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CRestrQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAtomicQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: ((C1 ('MetaCons "CAttrQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CAttribute a))) :+: C1 ('MetaCons "CNullableQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CNonnullQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CClRdOnlyQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CClWrOnlyQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))))

data CAttribute a Source #

Constructors

CAttr Ident [CExpression a] a |

#### Instances

Instances details

Functor CAttribute Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CAttribute a -> CAttribute b Source # (<$) :: a -> CAttribute b -> CAttribute a Source #
Pretty CAttr Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CAttr -> Doc Source # prettyPrec :: Int -> CAttr -> Doc Source #
Annotated CAttribute Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CAttribute a -> a Source # amap :: (a -> a) -> CAttribute a -> CAttribute a Source #
Generic1 CAttribute Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CAttribute |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CAttribute = D1 ('MetaData "CAttribute" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: CAttribute a -> Rep1 CAttribute a Source #

to1 :: Rep1 CAttribute a -> CAttribute a Source #

NFData a => NFData (CAttribute a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CAttribute a -> () Source #
Data a => Data (CAttribute a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CAttribute a -> c (CAttribute a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CAttribute a) Source #

toConstr :: CAttribute a -> Constr Source #

dataTypeOf :: CAttribute a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CAttribute a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CAttribute a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CAttribute a -> CAttribute a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CAttribute a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CAttribute a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CAttribute a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CAttribute a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CAttribute a -> m (CAttribute a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CAttribute a -> m (CAttribute a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CAttribute a -> m (CAttribute a) Source #

Generic (CAttribute a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CAttribute a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CAttribute a) = D1 ('MetaData "CAttribute" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CExpression a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

Methods

from :: CAttribute a -> Rep (CAttribute a) x Source #

to :: Rep (CAttribute a) x -> CAttribute a Source #

Show a => Show (CAttribute a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CAttribute a -> ShowS Source # show :: CAttribute a -> String Source # showList :: [CAttribute a] -> ShowS Source #
CNode t1 => CNode (CAttribute t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CAttribute t1 -> NodeInfo Source #
CNode t1 => Pos (CAttribute t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CAttribute t1 -> Position Source #
type Rep1 CAttribute Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CAttribute = D1 ('MetaData "CAttribute" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

type Rep (CAttribute a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CAttribute a) = D1 ('MetaData "CAttribute" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CExpression a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

# Declarators

type CDeclr = CDeclarator NodeInfo Source #

C declarator (K&R A8.5, C99 6.7.5) and abstract declarator (K&R A8.8, C99 6.7.6)

A declarator declares a single object, function, or type. It is always associated with a declaration (`CDecl`), which specifies the declaration's type and the additional storage qualifiers and attributes, which apply to the declared object.

A declarator is of the form `CDeclr name? indirections asm-name? attrs _`, where `name` is the name of the declared object (missing for abstract declarators), `declquals` is a set of additional declaration specifiers, `asm-name` is the optional assembler name and attributes is a set of attrs is a set of `attribute` annotations for the declared object.

`indirections` is a set of pointer, array and function declarators, which modify the type of the declared object as described below. If the declaration specifies the non-derived type `T`, and we have `indirections = [D1, D2, ..., Dn]` than the declared object has type `(D1 `indirect` (D2 `indirect` ... (Dn `indirect` T)))`, where

- `(CPtrDeclr attrs) `indirect` T` is attributed pointer to T
- `(CFunDeclr attrs) `indirect` T` is attributed function returning T
- `(CArrayDeclr attrs) `indirect` T` is attributed array of elemements of type T

Examples (simplified attributes):

- x is an int

    int x;
    CDeclr "x" []

- x is a restrict pointer to a const pointer to int

    const int * const * restrict x;
    CDeclr "x" [CPtrDeclr [restrict], CPtrDeclr [const]]

- f is an function return a constant pointer to int

    int* const f();
    CDeclr "f" [CFunDeclr [],CPtrDeclr [const]]

- f is a constant pointer to a function returning int

    int (* const f)(); ==>
    CDeclr "f" [CPtrDeclr [const], CFunDeclr []]

type CDerivedDeclr = CDerivedDeclarator NodeInfo Source #

Derived declarators, see `CDeclr`

Indirections are qualified using type-qualifiers and generic attributes, and additionally

- The size of an array is either a constant expression, variable length (`*`) or missing; in the last case, the type of the array is incomplete. The qualifier static is allowed for function arguments only, indicating that the supplied argument is an array of at least the given size.
- New style parameter lists have the form `Right (declarations, isVariadic)`, old style parameter lists have the form `Left (parameter-names)`

type CArrSize = CArraySize NodeInfo Source #

Size of an array

data CDeclarator a Source #

Constructors

CDeclr (Maybe Ident) [CDerivedDeclarator a] (Maybe (CStringLiteral a)) [CAttribute a] a |

#### Instances

Instances details

Functor CDeclarator Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CDeclarator a -> CDeclarator b Source # (<$) :: a -> CDeclarator b -> CDeclarator a Source #
Pretty CDeclr Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CDeclr -> Doc Source # prettyPrec :: Int -> CDeclr -> Doc Source #
Annotated CDeclarator Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CDeclarator a -> a Source # amap :: (a -> a) -> CDeclarator a -> CDeclarator a Source #
Generic1 CDeclarator Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CDeclarator |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CDeclarator = D1 ('MetaData "CDeclarator" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDeclr" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CDerivedDeclarator)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe :.: Rec1 CStringLiteral) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAttribute) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: CDeclarator a -> Rep1 CDeclarator a Source #

to1 :: Rep1 CDeclarator a -> CDeclarator a Source #

NFData a => NFData (CDeclarator a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CDeclarator a -> () Source #
Data a => Data (CDeclarator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CDeclarator a -> c (CDeclarator a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CDeclarator a) Source #

toConstr :: CDeclarator a -> Constr Source #

dataTypeOf :: CDeclarator a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CDeclarator a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CDeclarator a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CDeclarator a -> CDeclarator a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CDeclarator a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CDeclarator a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CDeclarator a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CDeclarator a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CDeclarator a -> m (CDeclarator a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CDeclarator a -> m (CDeclarator a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CDeclarator a -> m (CDeclarator a) Source #

Generic (CDeclarator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CDeclarator a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CDeclarator a) = D1 ('MetaData "CDeclarator" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDeclr" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CDerivedDeclarator a])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CStringLiteral a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

Methods

from :: CDeclarator a -> Rep (CDeclarator a) x Source #

to :: Rep (CDeclarator a) x -> CDeclarator a Source #

Show a => Show (CDeclarator a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CDeclarator a -> ShowS Source # show :: CDeclarator a -> String Source # showList :: [CDeclarator a] -> ShowS Source #
CNode t1 => CNode (CDeclarator t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CDeclarator t1 -> NodeInfo Source #
CNode t1 => Pos (CDeclarator t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CDeclarator t1 -> Position Source #
type Rep1 CDeclarator Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CDeclarator = D1 ('MetaData "CDeclarator" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDeclr" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CDerivedDeclarator)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe :.: Rec1 CStringLiteral) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAttribute) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

type Rep (CDeclarator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CDeclarator a) = D1 ('MetaData "CDeclarator" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CDeclr" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CDerivedDeclarator a])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CStringLiteral a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

data CDerivedDeclarator a Source #

Constructors

CPtrDeclr [CTypeQualifier a] a | Pointer declarator `CPtrDeclr tyquals declr`
CArrDeclr [CTypeQualifier a] (CArraySize a) a | Array declarator `CArrDeclr declr tyquals size-expr?`
CFunDeclr (Either [Ident] ([CDeclaration a], Bool)) [CAttribute a] a | Function declarator `CFunDeclr declr (old-style-params | new-style-params) c-attrs`

#### Instances

Instances details

Functor CDerivedDeclarator Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CDerivedDeclarator a -> CDerivedDeclarator b Source # (<$) :: a -> CDerivedDeclarator b -> CDerivedDeclarator a Source #
Annotated CDerivedDeclarator Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CDerivedDeclarator a -> a Source # amap :: (a -> a) -> CDerivedDeclarator a -> CDerivedDeclarator a Source #
NFData a => NFData (CDerivedDeclarator a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CDerivedDeclarator a -> () Source #
Data a => Data (CDerivedDeclarator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CDerivedDeclarator a -> c (CDerivedDeclarator a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CDerivedDeclarator a) Source #

toConstr :: CDerivedDeclarator a -> Constr Source #

dataTypeOf :: CDerivedDeclarator a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CDerivedDeclarator a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CDerivedDeclarator a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CDerivedDeclarator a -> CDerivedDeclarator a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CDerivedDeclarator a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CDerivedDeclarator a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CDerivedDeclarator a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CDerivedDeclarator a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CDerivedDeclarator a -> m (CDerivedDeclarator a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CDerivedDeclarator a -> m (CDerivedDeclarator a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CDerivedDeclarator a -> m (CDerivedDeclarator a) Source #

Generic (CDerivedDeclarator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CDerivedDeclarator a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CDerivedDeclarator a) = D1 ('MetaData "CDerivedDeclarator" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CPtrDeclr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CTypeQualifier a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CArrDeclr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CTypeQualifier a]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CArraySize a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CFunDeclr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either [Ident] ([CDeclaration a], Bool))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

Methods

from :: CDerivedDeclarator a -> Rep (CDerivedDeclarator a) x Source #

to :: Rep (CDerivedDeclarator a) x -> CDerivedDeclarator a Source #

Show a => Show (CDerivedDeclarator a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CDerivedDeclarator a -> ShowS Source # show :: CDerivedDeclarator a -> String Source # showList :: [CDerivedDeclarator a] -> ShowS Source #
CNode t1 => CNode (CDerivedDeclarator t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CDerivedDeclarator t1 -> NodeInfo Source #
CNode t1 => Pos (CDerivedDeclarator t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CDerivedDeclarator t1 -> Position Source #
type Rep (CDerivedDeclarator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CDerivedDeclarator a) = D1 ('MetaData "CDerivedDeclarator" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CPtrDeclr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CTypeQualifier a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CArrDeclr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CTypeQualifier a]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CArraySize a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CFunDeclr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either [Ident] ([CDeclaration a], Bool))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

data CArraySize a Source #

Constructors

CNoArrSize Bool

    CUnknownSize isCompleteType

CArrSize Bool (CExpression a)

    CArrSize isStatic expr

#### Instances

Instances details

Functor CArraySize Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CArraySize a -> CArraySize b Source # (<$) :: a -> CArraySize b -> CArraySize a Source #
Pretty CArrSize Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CArrSize -> Doc Source # prettyPrec :: Int -> CArrSize -> Doc Source #
Generic1 CArraySize Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CArraySize |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CArraySize = D1 ('MetaData "CArraySize" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CNoArrSize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "CArrSize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CExpression)))

Methods

from1 :: CArraySize a -> Rep1 CArraySize a Source #

to1 :: Rep1 CArraySize a -> CArraySize a Source #

NFData a => NFData (CArraySize a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CArraySize a -> () Source #
Data a => Data (CArraySize a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CArraySize a -> c (CArraySize a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CArraySize a) Source #

toConstr :: CArraySize a -> Constr Source #

dataTypeOf :: CArraySize a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CArraySize a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CArraySize a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CArraySize a -> CArraySize a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CArraySize a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CArraySize a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CArraySize a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CArraySize a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CArraySize a -> m (CArraySize a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CArraySize a -> m (CArraySize a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CArraySize a -> m (CArraySize a) Source #

Generic (CArraySize a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CArraySize a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CArraySize a) = D1 ('MetaData "CArraySize" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CNoArrSize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "CArrSize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a))))

Methods

from :: CArraySize a -> Rep (CArraySize a) x Source #

to :: Rep (CArraySize a) x -> CArraySize a Source #

Show a => Show (CArraySize a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CArraySize a -> ShowS Source # show :: CArraySize a -> String Source # showList :: [CArraySize a] -> ShowS Source #
type Rep1 CArraySize Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CArraySize = D1 ('MetaData "CArraySize" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CNoArrSize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "CArrSize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CExpression)))

type Rep (CArraySize a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CArraySize a) = D1 ('MetaData "CArraySize" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CNoArrSize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "CArrSize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a))))

# Initialization

type CInit = CInitializer NodeInfo Source #

C initialization (K&R A8.7, C99 6.7.8)

Initializers are either assignment expressions or initializer lists (surrounded in curly braces), whose elements are themselves initializers, paired with an optional list of designators.

type CInitList = CInitializerList NodeInfo Source #

Initializer List

The members of an initializer list are of the form `(designator-list,initializer)`. The `designator-list` specifies one member of the compound type which is initialized. It is allowed to be empty - in this case the initializer refers to the '`next'` member of the compound type (see C99 6.7.8).

Examples (simplified expressions and identifiers):

    -- int x[3][4] = { [0][3] = 4, [2] = 5, 8 };
    --   corresponds to the assignments
    -- x[0][3] = 4; x[2][0] = 5; x[2][1] = 8;
    let init1 = ([CArrDesig 0, CArrDesig 3], CInitExpr 4)
        init2 = ([CArrDesig 2]             , CInitExpr 5)
        init3 = ([]                        , CInitExpr 8)
    in  CInitList [init1, init2, init3]

    -- struct { struct { int a[2]; int b[2]; int c[2]; } s; } x = { .s = { {2,3} , .c[0] = 1 } };
    --   corresponds to the assignments
    -- x.s.a[0] = 2; x.s.a[1] = 3; x.s.c[0] = 1;
    let init_s_0 = CInitList [ ([], CInitExpr 2), ([], CInitExpr 3)]
        init_s   = CInitList [
                               ([], init_s_0),
                               ([CMemberDesig "c", CArrDesig 0], CInitExpr 1)
                             ]
    in  CInitList [(CMemberDesig "s", init_s)]

type CDesignator = CPartDesignator NodeInfo Source #

Designators

A designator specifies a member of an object, either an element or range of an array, or the named member of a struct / union.

data CInitializer a Source #

Constructors

CInitExpr (CExpression a) a | assignment expression
CInitList (CInitializerList a) a | initialization list (see `CInitList`)

#### Instances

Instances details

Functor CInitializer Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CInitializer a -> CInitializer b Source # (<$) :: a -> CInitializer b -> CInitializer a Source #
Pretty CInit Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CInit -> Doc Source # prettyPrec :: Int -> CInit -> Doc Source #
Annotated CInitializer Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CInitializer a -> a Source # amap :: (a -> a) -> CInitializer a -> CInitializer a Source #
NFData a => NFData (CInitializer a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CInitializer a -> () Source #
Data a => Data (CInitializer a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CInitializer a -> c (CInitializer a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CInitializer a) Source #

toConstr :: CInitializer a -> Constr Source #

dataTypeOf :: CInitializer a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CInitializer a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CInitializer a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CInitializer a -> CInitializer a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CInitializer a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CInitializer a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CInitializer a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CInitializer a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CInitializer a -> m (CInitializer a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CInitializer a -> m (CInitializer a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CInitializer a -> m (CInitializer a) Source #

Generic (CInitializer a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CInitializer a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CInitializer a) = D1 ('MetaData "CInitializer" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CInitExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CInitList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CInitializerList a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: CInitializer a -> Rep (CInitializer a) x Source #

to :: Rep (CInitializer a) x -> CInitializer a Source #

Show a => Show (CInitializer a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CInitializer a -> ShowS Source # show :: CInitializer a -> String Source # showList :: [CInitializer a] -> ShowS Source #
CNode t1 => CNode (CInitializer t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CInitializer t1 -> NodeInfo Source #
CNode t1 => Pos (CInitializer t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CInitializer t1 -> Position Source #
type Rep (CInitializer a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CInitializer a) = D1 ('MetaData "CInitializer" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CInitExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CInitList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CInitializerList a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

type CInitializerList a = [([CPartDesignator a], CInitializer a)] Source #

data CPartDesignator a Source #

Constructors

CArrDesig (CExpression a) a | array position designator
CMemberDesig Ident a | member designator
CRangeDesig (CExpression a) (CExpression a) a | array range designator `CRangeDesig from to _` (GNU C)

#### Instances

Instances details

Functor CPartDesignator Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CPartDesignator a -> CPartDesignator b Source # (<$) :: a -> CPartDesignator b -> CPartDesignator a Source #
Pretty CDesignator Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CDesignator -> Doc Source # prettyPrec :: Int -> CDesignator -> Doc Source #
Annotated CPartDesignator Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CPartDesignator a -> a Source # amap :: (a -> a) -> CPartDesignator a -> CPartDesignator a Source #
NFData a => NFData (CPartDesignator a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CPartDesignator a -> () Source #
Data a => Data (CPartDesignator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CPartDesignator a -> c (CPartDesignator a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CPartDesignator a) Source #

toConstr :: CPartDesignator a -> Constr Source #

dataTypeOf :: CPartDesignator a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CPartDesignator a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CPartDesignator a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CPartDesignator a -> CPartDesignator a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CPartDesignator a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CPartDesignator a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CPartDesignator a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CPartDesignator a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CPartDesignator a -> m (CPartDesignator a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CPartDesignator a -> m (CPartDesignator a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CPartDesignator a -> m (CPartDesignator a) Source #

Generic (CPartDesignator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CPartDesignator a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CPartDesignator a) = D1 ('MetaData "CPartDesignator" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CArrDesig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CMemberDesig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CRangeDesig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

Methods

from :: CPartDesignator a -> Rep (CPartDesignator a) x Source #

to :: Rep (CPartDesignator a) x -> CPartDesignator a Source #

Show a => Show (CPartDesignator a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CPartDesignator a -> ShowS Source # show :: CPartDesignator a -> String Source # showList :: [CPartDesignator a] -> ShowS Source #
CNode t1 => CNode (CPartDesignator t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CPartDesignator t1 -> NodeInfo Source #
CNode t1 => Pos (CPartDesignator t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CPartDesignator t1 -> Position Source #
type Rep (CPartDesignator a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CPartDesignator a) = D1 ('MetaData "CPartDesignator" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CArrDesig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CMemberDesig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CRangeDesig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

# Statements

type CStat = CStatement NodeInfo Source #

C statement (K&R A9, C99 6.8)

type CBlockItem = CCompoundBlockItem NodeInfo Source #

C99 Block items

Things that may appear in compound statements: either statements, declarations or nested function definitions.

type CAsmStmt = CAssemblyStatement NodeInfo Source #

GNU Assembler statement

    CAssemblyStatement type-qual? asm-expr out-ops in-ops clobbers _

is an inline assembler statement. The only type-qualifier (if any) allowed is volatile. `asm-expr` is the actual assembler epxression (a string), `out-ops` and `in-ops` are the input and output operands of the statement. `clobbers` is a list of registers which are clobbered when executing the assembler statement

type CAsmOperand = CAssemblyOperand NodeInfo Source #

Assembler operand

`CAsmOperand argName? constraintExpr arg` specifies an operand for an assembler statement.

data CStatement a Source #

Constructors

CLabel Ident (CStatement a) [CAttribute a] a | An (attributed) label followed by a statement
CCase (CExpression a) (CStatement a) a | A statement of the form `case expr : stmt`
CCases (CExpression a) (CExpression a) (CStatement a) a | A case range of the form `case lower ... upper : stmt`
CDefault (CStatement a) a | The default case `default : stmt`
CExpr (Maybe (CExpression a)) a | A simple statement, that is in C: evaluating an expression with side-effects and discarding the result.
CCompound [Ident] [CCompoundBlockItem a] a | compound statement `CCompound localLabels blockItems at`
CIf (CExpression a) (CStatement a) (Maybe (CStatement a)) a | conditional statement `CIf ifExpr thenStmt maybeElseStmt at`
CSwitch (CExpression a) (CStatement a) a | switch statement `CSwitch selectorExpr switchStmt`, where `switchStmt` usually includes case, break and default statements
CWhile (CExpression a) (CStatement a) Bool a | while or do-while statement `CWhile guard stmt isDoWhile at`
CFor (Either (Maybe (CExpression a)) (CDeclaration a)) (Maybe (CExpression a)) (Maybe (CExpression a)) (CStatement a) a | for statement `CFor init expr-2 expr-3 stmt`, where `init` is either a declaration or initializing expression
CGoto Ident a | goto statement `CGoto label`
CGotoPtr (CExpression a) a | computed goto `CGotoPtr labelExpr`
CCont a | continue statement
CBreak a | break statement
CReturn (Maybe (CExpression a)) a | return statement `CReturn returnExpr`
CAsm (CAssemblyStatement a) a | assembly statement

#### Instances

Instances details

Functor CStatement Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CStatement a -> CStatement b Source # (<$) :: a -> CStatement b -> CStatement a Source #
Pretty CStat Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CStat -> Doc Source # prettyPrec :: Int -> CStat -> Doc Source #
Annotated CStatement Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CStatement a -> a Source # amap :: (a -> a) -> CStatement a -> CStatement a Source #
NFData a => NFData (CStatement a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CStatement a -> () Source #
Data a => Data (CStatement a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CStatement a -> c (CStatement a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CStatement a) Source #

toConstr :: CStatement a -> Constr Source #

dataTypeOf :: CStatement a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CStatement a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CStatement a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CStatement a -> CStatement a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CStatement a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CStatement a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CStatement a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CStatement a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CStatement a -> m (CStatement a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CStatement a -> m (CStatement a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CStatement a -> m (CStatement a) Source #

Generic (CStatement a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CStatement a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CStatement a) = D1 ('MetaData "CStatement" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CLabel" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CCase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CCases" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CDefault" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: ((C1 ('MetaCons "CExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CCompound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Ident]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CCompoundBlockItem a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CIf" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CStatement a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CSwitch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: (((C1 ('MetaCons "CWhile" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CFor" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either (Maybe (CExpression a)) (CDeclaration a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) :+: (C1 ('MetaCons "CGoto" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CGotoPtr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: ((C1 ('MetaCons "CCont" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CBreak" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CReturn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAsm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CAssemblyStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))))

Methods

from :: CStatement a -> Rep (CStatement a) x Source #

to :: Rep (CStatement a) x -> CStatement a Source #

Show a => Show (CStatement a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CStatement a -> ShowS Source # show :: CStatement a -> String Source # showList :: [CStatement a] -> ShowS Source #
CNode t1 => CNode (CStatement t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CStatement t1 -> NodeInfo Source #
CNode t1 => Pos (CStatement t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CStatement t1 -> Position Source #
type Rep (CStatement a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CStatement a) = D1 ('MetaData "CStatement" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CLabel" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAttribute a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CCase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CCases" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CDefault" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: ((C1 ('MetaCons "CExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CCompound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Ident]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CCompoundBlockItem a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CIf" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CStatement a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CSwitch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: (((C1 ('MetaCons "CWhile" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CFor" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either (Maybe (CExpression a)) (CDeclaration a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) :+: (C1 ('MetaCons "CGoto" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CGotoPtr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: ((C1 ('MetaCons "CCont" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CBreak" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CReturn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAsm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CAssemblyStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))))

data CCompoundBlockItem a Source #

Constructors

CBlockStmt (CStatement a) | A statement
CBlockDecl (CDeclaration a) | A local declaration
CNestedFunDef (CFunctionDef a) | A nested function (GNU C)

#### Instances

Instances details

Functor CCompoundBlockItem Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CCompoundBlockItem a -> CCompoundBlockItem b Source # (<$) :: a -> CCompoundBlockItem b -> CCompoundBlockItem a Source #
Pretty CBlockItem Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CBlockItem -> Doc Source # prettyPrec :: Int -> CBlockItem -> Doc Source #
Annotated CCompoundBlockItem Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CCompoundBlockItem a -> a Source # amap :: (a -> a) -> CCompoundBlockItem a -> CCompoundBlockItem a Source #
Generic1 CCompoundBlockItem Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CCompoundBlockItem |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CCompoundBlockItem = D1 ('MetaData "CCompoundBlockItem" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CBlockStmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStatement)) :+: (C1 ('MetaCons "CBlockDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration)) :+: C1 ('MetaCons "CNestedFunDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CFunctionDef))))

Methods

from1 :: CCompoundBlockItem a -> Rep1 CCompoundBlockItem a Source #

to1 :: Rep1 CCompoundBlockItem a -> CCompoundBlockItem a Source #

NFData a => NFData (CCompoundBlockItem a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CCompoundBlockItem a -> () Source #
Data a => Data (CCompoundBlockItem a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CCompoundBlockItem a -> c (CCompoundBlockItem a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CCompoundBlockItem a) Source #

toConstr :: CCompoundBlockItem a -> Constr Source #

dataTypeOf :: CCompoundBlockItem a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CCompoundBlockItem a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CCompoundBlockItem a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CCompoundBlockItem a -> CCompoundBlockItem a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CCompoundBlockItem a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CCompoundBlockItem a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CCompoundBlockItem a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CCompoundBlockItem a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CCompoundBlockItem a -> m (CCompoundBlockItem a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CCompoundBlockItem a -> m (CCompoundBlockItem a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CCompoundBlockItem a -> m (CCompoundBlockItem a) Source #

Generic (CCompoundBlockItem a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CCompoundBlockItem a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CCompoundBlockItem a) = D1 ('MetaData "CCompoundBlockItem" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CBlockStmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a))) :+: (C1 ('MetaCons "CBlockDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a))) :+: C1 ('MetaCons "CNestedFunDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CFunctionDef a)))))

Methods

from :: CCompoundBlockItem a -> Rep (CCompoundBlockItem a) x Source #

to :: Rep (CCompoundBlockItem a) x -> CCompoundBlockItem a Source #

Show a => Show (CCompoundBlockItem a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CCompoundBlockItem a -> ShowS Source # show :: CCompoundBlockItem a -> String Source # showList :: [CCompoundBlockItem a] -> ShowS Source #
CNode t1 => CNode (CCompoundBlockItem t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CCompoundBlockItem t1 -> NodeInfo Source #
CNode t1 => Pos (CCompoundBlockItem t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CCompoundBlockItem t1 -> Position Source #
type Rep1 CCompoundBlockItem Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CCompoundBlockItem = D1 ('MetaData "CCompoundBlockItem" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CBlockStmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStatement)) :+: (C1 ('MetaCons "CBlockDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CDeclaration)) :+: C1 ('MetaCons "CNestedFunDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CFunctionDef))))

type Rep (CCompoundBlockItem a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CCompoundBlockItem a) = D1 ('MetaData "CCompoundBlockItem" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CBlockStmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a))) :+: (C1 ('MetaCons "CBlockDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a))) :+: C1 ('MetaCons "CNestedFunDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CFunctionDef a)))))

data CAssemblyStatement a Source #

Constructors

CAsmStmt (Maybe (CTypeQualifier a)) (CStringLiteral a) [CAssemblyOperand a] [CAssemblyOperand a] [CStringLiteral a] a |

#### Instances

Instances details

Functor CAssemblyStatement Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CAssemblyStatement a -> CAssemblyStatement b Source # (<$) :: a -> CAssemblyStatement b -> CAssemblyStatement a Source #
Pretty CAsmStmt Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CAsmStmt -> Doc Source # prettyPrec :: Int -> CAsmStmt -> Doc Source #
Annotated CAssemblyStatement Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CAssemblyStatement a -> a Source # amap :: (a -> a) -> CAssemblyStatement a -> CAssemblyStatement a Source #
Generic1 CAssemblyStatement Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CAssemblyStatement |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CAssemblyStatement = D1 ('MetaData "CAssemblyStatement" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAsmStmt" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe :.: Rec1 CTypeQualifier) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStringLiteral) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAssemblyOperand))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAssemblyOperand) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CStringLiteral) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: CAssemblyStatement a -> Rep1 CAssemblyStatement a Source #

to1 :: Rep1 CAssemblyStatement a -> CAssemblyStatement a Source #

NFData a => NFData (CAssemblyStatement a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CAssemblyStatement a -> () Source #
Data a => Data (CAssemblyStatement a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CAssemblyStatement a -> c (CAssemblyStatement a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CAssemblyStatement a) Source #

toConstr :: CAssemblyStatement a -> Constr Source #

dataTypeOf :: CAssemblyStatement a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CAssemblyStatement a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CAssemblyStatement a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CAssemblyStatement a -> CAssemblyStatement a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CAssemblyStatement a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CAssemblyStatement a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CAssemblyStatement a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CAssemblyStatement a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CAssemblyStatement a -> m (CAssemblyStatement a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CAssemblyStatement a -> m (CAssemblyStatement a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CAssemblyStatement a -> m (CAssemblyStatement a) Source #

Generic (CAssemblyStatement a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CAssemblyStatement a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CAssemblyStatement a) = D1 ('MetaData "CAssemblyStatement" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAsmStmt" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CTypeQualifier a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStringLiteral a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAssemblyOperand a]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAssemblyOperand a]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CStringLiteral a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

Methods

from :: CAssemblyStatement a -> Rep (CAssemblyStatement a) x Source #

to :: Rep (CAssemblyStatement a) x -> CAssemblyStatement a Source #

Show a => Show (CAssemblyStatement a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CAssemblyStatement a -> ShowS Source # show :: CAssemblyStatement a -> String Source # showList :: [CAssemblyStatement a] -> ShowS Source #
CNode t1 => CNode (CAssemblyStatement t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CAssemblyStatement t1 -> NodeInfo Source #
CNode t1 => Pos (CAssemblyStatement t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CAssemblyStatement t1 -> Position Source #
type Rep1 CAssemblyStatement Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CAssemblyStatement = D1 ('MetaData "CAssemblyStatement" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAsmStmt" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe :.: Rec1 CTypeQualifier) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStringLiteral) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAssemblyOperand))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CAssemblyOperand) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 CStringLiteral) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

type Rep (CAssemblyStatement a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CAssemblyStatement a) = D1 ('MetaData "CAssemblyStatement" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAsmStmt" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CTypeQualifier a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStringLiteral a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAssemblyOperand a]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CAssemblyOperand a]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CStringLiteral a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

data CAssemblyOperand a Source #

Constructors

CAsmOperand (Maybe Ident) (CStringLiteral a) (CExpression a) a |

#### Instances

Instances details

Functor CAssemblyOperand Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CAssemblyOperand a -> CAssemblyOperand b Source # (<$) :: a -> CAssemblyOperand b -> CAssemblyOperand a Source #
Pretty CAsmOperand Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CAsmOperand -> Doc Source # prettyPrec :: Int -> CAsmOperand -> Doc Source #
Annotated CAssemblyOperand Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CAssemblyOperand a -> a Source # amap :: (a -> a) -> CAssemblyOperand a -> CAssemblyOperand a Source #
Generic1 CAssemblyOperand Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CAssemblyOperand |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CAssemblyOperand = D1 ('MetaData "CAssemblyOperand" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAsmOperand" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStringLiteral)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: CAssemblyOperand a -> Rep1 CAssemblyOperand a Source #

to1 :: Rep1 CAssemblyOperand a -> CAssemblyOperand a Source #

NFData a => NFData (CAssemblyOperand a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CAssemblyOperand a -> () Source #
Data a => Data (CAssemblyOperand a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CAssemblyOperand a -> c (CAssemblyOperand a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CAssemblyOperand a) Source #

toConstr :: CAssemblyOperand a -> Constr Source #

dataTypeOf :: CAssemblyOperand a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CAssemblyOperand a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CAssemblyOperand a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CAssemblyOperand a -> CAssemblyOperand a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CAssemblyOperand a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CAssemblyOperand a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CAssemblyOperand a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CAssemblyOperand a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CAssemblyOperand a -> m (CAssemblyOperand a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CAssemblyOperand a -> m (CAssemblyOperand a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CAssemblyOperand a -> m (CAssemblyOperand a) Source #

Generic (CAssemblyOperand a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CAssemblyOperand a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CAssemblyOperand a) = D1 ('MetaData "CAssemblyOperand" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAsmOperand" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStringLiteral a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

Methods

from :: CAssemblyOperand a -> Rep (CAssemblyOperand a) x Source #

to :: Rep (CAssemblyOperand a) x -> CAssemblyOperand a Source #

Show a => Show (CAssemblyOperand a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CAssemblyOperand a -> ShowS Source # show :: CAssemblyOperand a -> String Source # showList :: [CAssemblyOperand a] -> ShowS Source #
CNode t1 => CNode (CAssemblyOperand t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CAssemblyOperand t1 -> NodeInfo Source #
CNode t1 => Pos (CAssemblyOperand t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CAssemblyOperand t1 -> Position Source #
type Rep1 CAssemblyOperand Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CAssemblyOperand = D1 ('MetaData "CAssemblyOperand" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAsmOperand" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CStringLiteral)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 CExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

type Rep (CAssemblyOperand a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CAssemblyOperand a) = D1 ('MetaData "CAssemblyOperand" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CAsmOperand" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Ident)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStringLiteral a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

# Expressions

type CExpr = CExpression NodeInfo Source #

C expression (K&R A7)

- these can be arbitrary expression, as the argument of `sizeof` can be arbitrary, even if appearing in a constant expression
- GNU C extensions: `alignof`, `__real`, `__imag`, `({ stmt-expr })`, `&& label` and built-ins

data CExpression a Source #

Constructors

CComma [CExpression a] a |
CAssign CAssignOp (CExpression a) (CExpression a) a |
CCond (CExpression a) (Maybe (CExpression a)) (CExpression a) a |
CBinary CBinaryOp (CExpression a) (CExpression a) a |
CCast (CDeclaration a) (CExpression a) a |
CUnary CUnaryOp (CExpression a) a |
CSizeofExpr (CExpression a) a |
CSizeofType (CDeclaration a) a |
CAlignofExpr (CExpression a) a |
CAlignofType (CDeclaration a) a |
CComplexReal (CExpression a) a |
CComplexImag (CExpression a) a |
CIndex (CExpression a) (CExpression a) a |
CCall (CExpression a) [CExpression a] a |
CMember (CExpression a) Ident Bool a |
CVar Ident a |
CConst (CConstant a) | integer, character, floating point and string constants
CCompoundLit (CDeclaration a) (CInitializerList a) a | C99 compound literal
CGenericSelection (CExpression a) [(Maybe (CDeclaration a), CExpression a)] a | C11 generic selection
CStatExpr (CStatement a) a | GNU C compound statement as expr
CLabAddrExpr Ident a | GNU C address of label
CBuiltinExpr (CBuiltinThing a) | builtin expressions, see `CBuiltin`

#### Instances

Instances details

Functor CExpression Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CExpression a -> CExpression b Source # (<$) :: a -> CExpression b -> CExpression a Source #
Pretty CExpr Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CExpr -> Doc Source # prettyPrec :: Int -> CExpr -> Doc Source #
Annotated CExpression Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CExpression a -> a Source # amap :: (a -> a) -> CExpression a -> CExpression a Source #
NFData a => NFData (CExpression a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CExpression a -> () Source #
Data a => Data (CExpression a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CExpression a -> c (CExpression a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CExpression a) Source #

toConstr :: CExpression a -> Constr Source #

dataTypeOf :: CExpression a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CExpression a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CExpression a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CExpression a -> CExpression a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CExpression a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CExpression a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CExpression a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CExpression a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CExpression a -> m (CExpression a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CExpression a -> m (CExpression a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CExpression a -> m (CExpression a) Source #

Generic (CExpression a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CExpression a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CExpression a) = D1 ('MetaData "CExpression" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CComma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CExpression a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAssign" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CAssignOp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CCond" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CBinary" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CBinaryOp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CCast" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: ((C1 ('MetaCons "CUnary" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUnaryOp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CSizeofExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CSizeofType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CAlignofExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CAlignofType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CComplexReal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: (((C1 ('MetaCons "CComplexImag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CIndex" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CExpression a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CMember" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) :+: ((C1 ('MetaCons "CConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CConstant a))) :+: (C1 ('MetaCons "CCompoundLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CInitializerList a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CGenericSelection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Maybe (CDeclaration a), CExpression a)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) :+: (C1 ('MetaCons "CStatExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CLabAddrExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CBuiltinExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CBuiltinThing a))))))))

Methods

from :: CExpression a -> Rep (CExpression a) x Source #

to :: Rep (CExpression a) x -> CExpression a Source #

Show a => Show (CExpression a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CExpression a -> ShowS Source # show :: CExpression a -> String Source # showList :: [CExpression a] -> ShowS Source #
CNode t1 => CNode (CExpression t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CExpression t1 -> NodeInfo Source #
CNode t1 => Pos (CExpression t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CExpression t1 -> Position Source #
type Rep (CExpression a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CExpression a) = D1 ('MetaData "CExpression" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CComma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CExpression a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CAssign" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CAssignOp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CCond" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CExpression a)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CBinary" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CBinaryOp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CCast" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: ((C1 ('MetaCons "CUnary" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUnaryOp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CSizeofExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CSizeofType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CAlignofExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CAlignofType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CComplexReal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))) :+: (((C1 ('MetaCons "CComplexImag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CIndex" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CExpression a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CMember" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) :+: ((C1 ('MetaCons "CConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CConstant a))) :+: (C1 ('MetaCons "CCompoundLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CInitializerList a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CGenericSelection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Maybe (CDeclaration a), CExpression a)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) :+: (C1 ('MetaCons "CStatExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CStatement a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "CLabAddrExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ident) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CBuiltinExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CBuiltinThing a))))))))

data CAssignOp Source #

C assignment operators (K&R A7.17)

Constructors

CAssignOp |
CMulAssOp |
CDivAssOp |
CRmdAssOp | remainder and assignment
CAddAssOp |
CSubAssOp |
CShlAssOp |
CShrAssOp |
CAndAssOp |
CXorAssOp |
COrAssOp |

#### Instances

Instances details

NFData CAssignOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods rnf :: CAssignOp -> () Source #
Data CAssignOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CAssignOp -> c CAssignOp Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CAssignOp Source #

toConstr :: CAssignOp -> Constr Source #

dataTypeOf :: CAssignOp -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CAssignOp) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CAssignOp) Source #

gmapT :: (forall b. Data b => b -> b) -> CAssignOp -> CAssignOp Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CAssignOp -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CAssignOp -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CAssignOp -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CAssignOp -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CAssignOp -> m CAssignOp Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CAssignOp -> m CAssignOp Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CAssignOp -> m CAssignOp Source #

Generic CAssignOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

Associated Types

type Rep CAssignOp |

Instance details

Defined in Language.C.Syntax.Ops

type Rep CAssignOp = D1 ('MetaData "CAssignOp" "Language.C.Syntax.Ops" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CAssignOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CMulAssOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CDivAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CRmdAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CAddAssOp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CSubAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CShlAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CShrAssOp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CAndAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CXorAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "COrAssOp" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: CAssignOp -> Rep CAssignOp x Source #

to :: Rep CAssignOp x -> CAssignOp Source #

Show CAssignOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods showsPrec :: Int -> CAssignOp -> ShowS Source # show :: CAssignOp -> String Source # showList :: [CAssignOp] -> ShowS Source #
Eq CAssignOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods (==) :: CAssignOp -> CAssignOp -> Bool Source # (/=) :: CAssignOp -> CAssignOp -> Bool Source #
Ord CAssignOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

Methods

compare :: CAssignOp -> CAssignOp -> Ordering Source #

(<) :: CAssignOp -> CAssignOp -> Bool Source #

(<=) :: CAssignOp -> CAssignOp -> Bool Source #

(>) :: CAssignOp -> CAssignOp -> Bool Source #

(>=) :: CAssignOp -> CAssignOp -> Bool Source #

max :: CAssignOp -> CAssignOp -> CAssignOp Source #

min :: CAssignOp -> CAssignOp -> CAssignOp Source #

Pretty CAssignOp Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CAssignOp -> Doc Source # prettyPrec :: Int -> CAssignOp -> Doc Source #
type Rep CAssignOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

type Rep CAssignOp = D1 ('MetaData "CAssignOp" "Language.C.Syntax.Ops" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CAssignOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CMulAssOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CDivAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CRmdAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CAddAssOp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CSubAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CShlAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CShrAssOp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CAndAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CXorAssOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "COrAssOp" 'PrefixI 'False) (U1 :: Type -> Type)))))

data CBinaryOp Source #

C binary operators (K&R A7.6-15)

Constructors

CMulOp |
CDivOp |
CRmdOp | remainder of division
CAddOp |
CSubOp |
CShlOp | shift left
CShrOp | shift right
CLeOp | less
CGrOp | greater
CLeqOp | less or equal
CGeqOp | greater or equal
CEqOp | equal
CNeqOp | not equal
CAndOp | bitwise and
CXorOp | exclusive bitwise or
COrOp | inclusive bitwise or
CLndOp | logical and
CLorOp | logical or

#### Instances

Instances details

NFData CBinaryOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods rnf :: CBinaryOp -> () Source #
Data CBinaryOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CBinaryOp -> c CBinaryOp Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CBinaryOp Source #

toConstr :: CBinaryOp -> Constr Source #

dataTypeOf :: CBinaryOp -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CBinaryOp) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CBinaryOp) Source #

gmapT :: (forall b. Data b => b -> b) -> CBinaryOp -> CBinaryOp Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CBinaryOp -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CBinaryOp -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CBinaryOp -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CBinaryOp -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CBinaryOp -> m CBinaryOp Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CBinaryOp -> m CBinaryOp Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CBinaryOp -> m CBinaryOp Source #

Generic CBinaryOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

Associated Types

type Rep CBinaryOp |

Instance details

Defined in Language.C.Syntax.Ops

type Rep CBinaryOp = D1 ('MetaData "CBinaryOp" "Language.C.Syntax.Ops" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CMulOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CDivOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CRmdOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CAddOp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "CSubOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CShlOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CShrOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CLeOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CGrOp" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "CLeqOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CGeqOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CEqOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CNeqOp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "CAndOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CXorOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "COrOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CLndOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CLorOp" 'PrefixI 'False) (U1 :: Type -> Type))))))

Methods

from :: CBinaryOp -> Rep CBinaryOp x Source #

to :: Rep CBinaryOp x -> CBinaryOp Source #

Show CBinaryOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods showsPrec :: Int -> CBinaryOp -> ShowS Source # show :: CBinaryOp -> String Source # showList :: [CBinaryOp] -> ShowS Source #
Eq CBinaryOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods (==) :: CBinaryOp -> CBinaryOp -> Bool Source # (/=) :: CBinaryOp -> CBinaryOp -> Bool Source #
Ord CBinaryOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

Methods

compare :: CBinaryOp -> CBinaryOp -> Ordering Source #

(<) :: CBinaryOp -> CBinaryOp -> Bool Source #

(<=) :: CBinaryOp -> CBinaryOp -> Bool Source #

(>) :: CBinaryOp -> CBinaryOp -> Bool Source #

(>=) :: CBinaryOp -> CBinaryOp -> Bool Source #

max :: CBinaryOp -> CBinaryOp -> CBinaryOp Source #

min :: CBinaryOp -> CBinaryOp -> CBinaryOp Source #

Pretty CBinaryOp Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CBinaryOp -> Doc Source # prettyPrec :: Int -> CBinaryOp -> Doc Source #
type Rep CBinaryOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

type Rep CBinaryOp = D1 ('MetaData "CBinaryOp" "Language.C.Syntax.Ops" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((((C1 ('MetaCons "CMulOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CDivOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CRmdOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CAddOp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "CSubOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CShlOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CShrOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CLeOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CGrOp" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "CLeqOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CGeqOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CEqOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CNeqOp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "CAndOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CXorOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "COrOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CLndOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CLorOp" 'PrefixI 'False) (U1 :: Type -> Type))))))

data CUnaryOp Source #

C unary operator (K&R A7.3-4)

Constructors

CPreIncOp | prefix increment operator
CPreDecOp | prefix decrement operator
CPostIncOp | postfix increment operator
CPostDecOp | postfix decrement operator
CAdrOp | address operator
CIndOp | indirection operator
CPlusOp | prefix plus
CMinOp | prefix minus
CCompOp | one's complement
CNegOp | logical negation

#### Instances

Instances details

NFData CUnaryOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods rnf :: CUnaryOp -> () Source #
Data CUnaryOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CUnaryOp -> c CUnaryOp Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CUnaryOp Source #

toConstr :: CUnaryOp -> Constr Source #

dataTypeOf :: CUnaryOp -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CUnaryOp) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CUnaryOp) Source #

gmapT :: (forall b. Data b => b -> b) -> CUnaryOp -> CUnaryOp Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CUnaryOp -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CUnaryOp -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CUnaryOp -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CUnaryOp -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CUnaryOp -> m CUnaryOp Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CUnaryOp -> m CUnaryOp Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CUnaryOp -> m CUnaryOp Source #

Generic CUnaryOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

Associated Types

type Rep CUnaryOp |

Instance details

Defined in Language.C.Syntax.Ops

type Rep CUnaryOp = D1 ('MetaData "CUnaryOp" "Language.C.Syntax.Ops" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CPreIncOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CPreDecOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CPostIncOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CPostDecOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CAdrOp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CIndOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CPlusOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CMinOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CCompOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CNegOp" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: CUnaryOp -> Rep CUnaryOp x Source #

to :: Rep CUnaryOp x -> CUnaryOp Source #

Show CUnaryOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods showsPrec :: Int -> CUnaryOp -> ShowS Source # show :: CUnaryOp -> String Source # showList :: [CUnaryOp] -> ShowS Source #
Eq CUnaryOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods (==) :: CUnaryOp -> CUnaryOp -> Bool Source # (/=) :: CUnaryOp -> CUnaryOp -> Bool Source #
Ord CUnaryOp Source # |
Instance details Defined in Language.C.Syntax.Ops Methods compare :: CUnaryOp -> CUnaryOp -> Ordering Source # (<) :: CUnaryOp -> CUnaryOp -> Bool Source # (<=) :: CUnaryOp -> CUnaryOp -> Bool Source # (>) :: CUnaryOp -> CUnaryOp -> Bool Source # (>=) :: CUnaryOp -> CUnaryOp -> Bool Source # max :: CUnaryOp -> CUnaryOp -> CUnaryOp Source # min :: CUnaryOp -> CUnaryOp -> CUnaryOp Source #
Pretty CUnaryOp Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CUnaryOp -> Doc Source # prettyPrec :: Int -> CUnaryOp -> Doc Source #
type Rep CUnaryOp Source # |

Instance details

Defined in Language.C.Syntax.Ops

type Rep CUnaryOp = D1 ('MetaData "CUnaryOp" "Language.C.Syntax.Ops" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (((C1 ('MetaCons "CPreIncOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CPreDecOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CPostIncOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CPostDecOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CAdrOp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CIndOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CPlusOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CMinOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CCompOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CNegOp" 'PrefixI 'False) (U1 :: Type -> Type)))))

type CBuiltin = CBuiltinThing NodeInfo Source #

GNU Builtins, which cannot be typed in C99

data CBuiltinThing a Source #

Constructors

CBuiltinVaArg (CExpression a) (CDeclaration a) a

    (expr, type)

CBuiltinOffsetOf (CDeclaration a) [CPartDesignator a] a

    (type, designator-list)

CBuiltinTypesCompatible (CDeclaration a) (CDeclaration a) a

    (type,type)

CBuiltinConvertVector (CExpression a) (CDeclaration a) a

    (expr, type)

CBuiltinBitCast (CDeclaration a) (CExpression a) a

    (type, expr)

#### Instances

Instances details

Functor CBuiltinThing Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CBuiltinThing a -> CBuiltinThing b Source # (<$) :: a -> CBuiltinThing b -> CBuiltinThing a Source #
Pretty CBuiltin Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CBuiltin -> Doc Source # prettyPrec :: Int -> CBuiltin -> Doc Source #
Annotated CBuiltinThing Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CBuiltinThing a -> a Source # amap :: (a -> a) -> CBuiltinThing a -> CBuiltinThing a Source #
NFData a => NFData (CBuiltinThing a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CBuiltinThing a -> () Source #
Data a => Data (CBuiltinThing a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CBuiltinThing a -> c (CBuiltinThing a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CBuiltinThing a) Source #

toConstr :: CBuiltinThing a -> Constr Source #

dataTypeOf :: CBuiltinThing a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CBuiltinThing a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CBuiltinThing a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CBuiltinThing a -> CBuiltinThing a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CBuiltinThing a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CBuiltinThing a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CBuiltinThing a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CBuiltinThing a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CBuiltinThing a -> m (CBuiltinThing a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CBuiltinThing a -> m (CBuiltinThing a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CBuiltinThing a -> m (CBuiltinThing a) Source #

Generic (CBuiltinThing a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CBuiltinThing a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CBuiltinThing a) = D1 ('MetaData "CBuiltinThing" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CBuiltinVaArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CBuiltinOffsetOf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CPartDesignator a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CBuiltinTypesCompatible" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CBuiltinConvertVector" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CBuiltinBitCast" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))))

Methods

from :: CBuiltinThing a -> Rep (CBuiltinThing a) x Source #

to :: Rep (CBuiltinThing a) x -> CBuiltinThing a Source #

Show a => Show (CBuiltinThing a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CBuiltinThing a -> ShowS Source # show :: CBuiltinThing a -> String Source # showList :: [CBuiltinThing a] -> ShowS Source #
CNode t1 => CNode (CBuiltinThing t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CBuiltinThing t1 -> NodeInfo Source #
CNode t1 => Pos (CBuiltinThing t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CBuiltinThing t1 -> Position Source #
type Rep (CBuiltinThing a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CBuiltinThing a) = D1 ('MetaData "CBuiltinThing" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CBuiltinVaArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CBuiltinOffsetOf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CPartDesignator a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))) :+: (C1 ('MetaCons "CBuiltinTypesCompatible" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CBuiltinConvertVector" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "CBuiltinBitCast" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CDeclaration a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CExpression a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))))

# Constants

type CConst = CConstant NodeInfo Source #

C constant (K&R A2.5 & A7.2)

type CStrLit = CStringLiteral NodeInfo Source #

Attributed string literals

cstringOfLit :: CStringLiteral a -> CString Source #

liftStrLit :: CStringLiteral a -> CConstant a Source #

Lift a string literal to a C constant

data CConstant a Source #

Constructors

CIntConst CInteger a |
CCharConst CChar a |
CFloatConst CFloat a |
CStrConst CString a |

#### Instances

Instances details

Functor CConstant Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CConstant a -> CConstant b Source # (<$) :: a -> CConstant b -> CConstant a Source #
Pretty CConst Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CConst -> Doc Source # prettyPrec :: Int -> CConst -> Doc Source #
Annotated CConstant Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CConstant a -> a Source # amap :: (a -> a) -> CConstant a -> CConstant a Source #
Generic1 CConstant Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CConstant |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CConstant = D1 ('MetaData "CConstant" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CIntConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CInteger) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CCharConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CChar) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CFloatConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CFloat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CStrConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: CConstant a -> Rep1 CConstant a Source #

to1 :: Rep1 CConstant a -> CConstant a Source #

NFData a => NFData (CConstant a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CConstant a -> () Source #
Data a => Data (CConstant a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CConstant a -> c (CConstant a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CConstant a) Source #

toConstr :: CConstant a -> Constr Source #

dataTypeOf :: CConstant a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CConstant a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CConstant a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CConstant a -> CConstant a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CConstant a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CConstant a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CConstant a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CConstant a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CConstant a -> m (CConstant a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CConstant a -> m (CConstant a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CConstant a -> m (CConstant a) Source #

Generic (CConstant a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CConstant a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CConstant a) = D1 ('MetaData "CConstant" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CIntConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CInteger) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CCharConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CChar) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CFloatConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CFloat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CStrConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

Methods

from :: CConstant a -> Rep (CConstant a) x Source #

to :: Rep (CConstant a) x -> CConstant a Source #

Show a => Show (CConstant a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CConstant a -> ShowS Source # show :: CConstant a -> String Source # showList :: [CConstant a] -> ShowS Source #
CNode t1 => CNode (CConstant t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CConstant t1 -> NodeInfo Source #
CNode t1 => Pos (CConstant t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CConstant t1 -> Position Source #
type Rep1 CConstant Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CConstant = D1 ('MetaData "CConstant" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CIntConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CInteger) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CCharConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CChar) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "CFloatConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CFloat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "CStrConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

type Rep (CConstant a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CConstant a) = D1 ('MetaData "CConstant" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) ((C1 ('MetaCons "CIntConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CInteger) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CCharConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CChar) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "CFloatConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CFloat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "CStrConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

data CStringLiteral a Source #

Constructors

CStrLit CString a |

#### Instances

Instances details

Functor CStringLiteral Source # |
Instance details Defined in Language.C.Syntax.AST Methods fmap :: (a -> b) -> CStringLiteral a -> CStringLiteral b Source # (<$) :: a -> CStringLiteral b -> CStringLiteral a Source #
Pretty CStrLit Source # |
Instance details Defined in Language.C.Pretty Methods pretty :: CStrLit -> Doc Source # prettyPrec :: Int -> CStrLit -> Doc Source #
Annotated CStringLiteral Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CStringLiteral a -> a Source # amap :: (a -> a) -> CStringLiteral a -> CStringLiteral a Source #
Generic1 CStringLiteral Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep1 CStringLiteral |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CStringLiteral = D1 ('MetaData "CStringLiteral" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStrLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: CStringLiteral a -> Rep1 CStringLiteral a Source #

to1 :: Rep1 CStringLiteral a -> CStringLiteral a Source #

NFData a => NFData (CStringLiteral a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods rnf :: CStringLiteral a -> () Source #
Data a => Data (CStringLiteral a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CStringLiteral a -> c (CStringLiteral a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CStringLiteral a) Source #

toConstr :: CStringLiteral a -> Constr Source #

dataTypeOf :: CStringLiteral a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CStringLiteral a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CStringLiteral a)) Source #

gmapT :: (forall b. Data b => b -> b) -> CStringLiteral a -> CStringLiteral a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CStringLiteral a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CStringLiteral a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CStringLiteral a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CStringLiteral a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CStringLiteral a -> m (CStringLiteral a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CStringLiteral a -> m (CStringLiteral a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CStringLiteral a -> m (CStringLiteral a) Source #

Generic (CStringLiteral a) Source # |

Instance details

Defined in Language.C.Syntax.AST

Associated Types

type Rep (CStringLiteral a) |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CStringLiteral a) = D1 ('MetaData "CStringLiteral" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStrLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: CStringLiteral a -> Rep (CStringLiteral a) x Source #

to :: Rep (CStringLiteral a) x -> CStringLiteral a Source #

Show a => Show (CStringLiteral a) Source # |
Instance details Defined in Language.C.Syntax.AST Methods showsPrec :: Int -> CStringLiteral a -> ShowS Source # show :: CStringLiteral a -> String Source # showList :: [CStringLiteral a] -> ShowS Source #
CNode t1 => CNode (CStringLiteral t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods nodeInfo :: CStringLiteral t1 -> NodeInfo Source #
CNode t1 => Pos (CStringLiteral t1) Source # |
Instance details Defined in Language.C.Syntax.AST Methods posOf :: CStringLiteral t1 -> Position Source #
type Rep1 CStringLiteral Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep1 CStringLiteral = D1 ('MetaData "CStringLiteral" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStrLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

type Rep (CStringLiteral a) Source # |

Instance details

Defined in Language.C.Syntax.AST

type Rep (CStringLiteral a) = D1 ('MetaData "CStringLiteral" "Language.C.Syntax.AST" "language-c-0.10.1-IbTB6TwjqRkHrdbw3CJkeG" 'False) (C1 ('MetaCons "CStrLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

# Annoated type class

class Functor ast => Annotated (ast :: Type -> Type) where Source #

All AST nodes are annotated. Inspired by the Annotated class of Niklas Broberg's haskell-src-exts package. In principle, we could have Copointed superclass instead of `ann`, for the price of another dependency.

Methods

annotation :: ast a -> a Source #

get the annotation of an AST node

amap :: (a -> a) -> ast a -> ast a Source #

change the annotation (non-recursively) of an AST node. Use fmap for recursively modifying the annotation.

#### Instances

Instances details

Annotated CAlignmentSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CAlignmentSpecifier a -> a Source # amap :: (a -> a) -> CAlignmentSpecifier a -> CAlignmentSpecifier a Source #
Annotated CAssemblyOperand Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CAssemblyOperand a -> a Source # amap :: (a -> a) -> CAssemblyOperand a -> CAssemblyOperand a Source #
Annotated CAssemblyStatement Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CAssemblyStatement a -> a Source # amap :: (a -> a) -> CAssemblyStatement a -> CAssemblyStatement a Source #
Annotated CAttribute Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CAttribute a -> a Source # amap :: (a -> a) -> CAttribute a -> CAttribute a Source #
Annotated CBuiltinThing Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CBuiltinThing a -> a Source # amap :: (a -> a) -> CBuiltinThing a -> CBuiltinThing a Source #
Annotated CCompoundBlockItem Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CCompoundBlockItem a -> a Source # amap :: (a -> a) -> CCompoundBlockItem a -> CCompoundBlockItem a Source #
Annotated CConstant Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CConstant a -> a Source # amap :: (a -> a) -> CConstant a -> CConstant a Source #
Annotated CDeclaration Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CDeclaration a -> a Source # amap :: (a -> a) -> CDeclaration a -> CDeclaration a Source #
Annotated CDeclarationSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CDeclarationSpecifier a -> a Source # amap :: (a -> a) -> CDeclarationSpecifier a -> CDeclarationSpecifier a Source #
Annotated CDeclarator Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CDeclarator a -> a Source # amap :: (a -> a) -> CDeclarator a -> CDeclarator a Source #
Annotated CDerivedDeclarator Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CDerivedDeclarator a -> a Source # amap :: (a -> a) -> CDerivedDeclarator a -> CDerivedDeclarator a Source #
Annotated CEnumeration Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CEnumeration a -> a Source # amap :: (a -> a) -> CEnumeration a -> CEnumeration a Source #
Annotated CExpression Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CExpression a -> a Source # amap :: (a -> a) -> CExpression a -> CExpression a Source #
Annotated CExternalDeclaration Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CExternalDeclaration a -> a Source # amap :: (a -> a) -> CExternalDeclaration a -> CExternalDeclaration a Source #
Annotated CFunctionDef Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CFunctionDef a -> a Source # amap :: (a -> a) -> CFunctionDef a -> CFunctionDef a Source #
Annotated CFunctionSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CFunctionSpecifier a -> a Source # amap :: (a -> a) -> CFunctionSpecifier a -> CFunctionSpecifier a Source #
Annotated CInitializer Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CInitializer a -> a Source # amap :: (a -> a) -> CInitializer a -> CInitializer a Source #
Annotated CPartDesignator Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CPartDesignator a -> a Source # amap :: (a -> a) -> CPartDesignator a -> CPartDesignator a Source #
Annotated CStatement Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CStatement a -> a Source # amap :: (a -> a) -> CStatement a -> CStatement a Source #
Annotated CStorageSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CStorageSpecifier a -> a Source # amap :: (a -> a) -> CStorageSpecifier a -> CStorageSpecifier a Source #
Annotated CStringLiteral Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CStringLiteral a -> a Source # amap :: (a -> a) -> CStringLiteral a -> CStringLiteral a Source #
Annotated CStructureUnion Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CStructureUnion a -> a Source # amap :: (a -> a) -> CStructureUnion a -> CStructureUnion a Source #
Annotated CTranslationUnit Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CTranslationUnit a -> a Source # amap :: (a -> a) -> CTranslationUnit a -> CTranslationUnit a Source #
Annotated CTypeQualifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CTypeQualifier a -> a Source # amap :: (a -> a) -> CTypeQualifier a -> CTypeQualifier a Source #
Annotated CTypeSpecifier Source # |
Instance details Defined in Language.C.Syntax.AST Methods annotation :: CTypeSpecifier a -> a Source # amap :: (a -> a) -> CTypeSpecifier a -> CTypeSpecifier a Source #