Safe Haskell | None |
---|---|
Language | Haskell2010 |
ABI.Itanium
Contents
Synopsis
- data DecodedName
- data CVQualifier
- data CXXType
- = QualifiedType [CVQualifier] CXXType
- | PointerToType CXXType
- | ReferenceToType CXXType
- | RValueReferenceToType CXXType
- | ComplexPairType CXXType
- | ImaginaryType CXXType
- | ParameterPack CXXType
- | VendorTypeQualifier String CXXType
- | VoidType
- | Wchar_tType
- | BoolType
- | CharType
- | SignedCharType
- | UnsignedCharType
- | ShortType
- | UnsignedShortType
- | IntType
- | UnsignedIntType
- | LongType
- | UnsignedLongType
- | LongLongType
- | UnsignedLongLongType
- | Int128Type
- | UnsignedInt128Type
- | FloatType
- | DoubleType
- | LongDoubleType
- | Float128Type
- | EllipsisType
- | Char32Type
- | Char16Type
- | AutoType
- | NullPtrType
- | VendorBuiltinType String
- | FunctionType [CXXType]
- | ExternCFunctionType [CXXType]
- | ArrayTypeN (Maybe Int) CXXType
- | ArrayTypeE Expression
- | PtrToMemberType CXXType CXXType
- | ClassEnumType Name
- | SubstitutionType Substitution
- | TemplateParamType TemplateParam
- | TemplateTemplateParamType TemplateParam [TemplateArg]
- | TemplateTemplateParamSubstitutionType Substitution [TemplateArg]
- data Name
- = NestedName [CVQualifier] [Prefix] UnqualifiedName
- | NestedTemplateName [CVQualifier] [Prefix] [TemplateArg]
- | UnscopedName UName
- | UnscopedTemplateName UName [TemplateArg]
- | UnscopedTemplateSubstitution Substitution [TemplateArg]
- data Prefix
- = DataMemberPrefix String
- | UnqualifiedPrefix UnqualifiedName
- | SubstitutionPrefix Substitution
- | TemplateParamPrefix TemplateParam
- | TemplateArgsPrefix [TemplateArg]
- data UnqualifiedName
- data CtorDtor
- data Operator
- = OpNew
- | OpNewArray
- | OpDelete
- | OpDeleteArray
- | OpUPlus
- | OpUMinus
- | OpAddressOf
- | OpDeref
- | OpBitNot
- | OpPlus
- | OpMinus
- | OpMul
- | OpDiv
- | OpMod
- | OpBitAnd
- | OpBitOr
- | OpBitXor
- | OpAssign
- | OpPlusAssign
- | OpMinusAssign
- | OpMulAssign
- | OpDivAssign
- | OpModAssign
- | OpAndAssign
- | OpOrAssign
- | OpXorAssign
- | OpShl
- | OpShr
- | OpShlAssign
- | OpShrAssign
- | OpEquals
- | OpNotEquals
- | OpLt
- | OpGt
- | OpLte
- | OpGte
- | OpNot
- | OpAnd
- | OpOr
- | OpPlusPlus
- | OpMinusMinus
- | OpComma
- | OpArrowStar
- | OpArrow
- | OpCall
- | OpIndex
- | OpQuestion
- | OpSizeofType
- | OpSizeofExpr
- | OpAlignofType
- | OpAlignofExpr
- | OpCast CXXType
- | OpVendor Int String
- data Expression = Expression
- data CallOffset
- data Substitution
- data UName
- demangleName :: String -> Either String DecodedName
- mangleName :: DecodedName -> Maybe String
- cxxNameToString :: DecodedName -> String
- cxxNameToText :: DecodedName -> Text
- rUnqualifiedPrefix :: forall tok e r. Boomerang e tok ((:-) UnqualifiedName r) ((:-) Prefix r)
- rConst :: forall tok e r. Boomerang e tok r ((:-) CVQualifier r)
- rSourceName :: forall tok e r. Boomerang e tok ((:-) String r) ((:-) UnqualifiedName r)
- rUName :: forall tok e r. Boomerang e tok ((:-) UnqualifiedName r) ((:-) UName r)
- rNestedName :: forall tok e r. Boomerang e tok ((:-) [CVQualifier] ((:-) [Prefix] ((:-) UnqualifiedName r))) ((:-) Name r)
- rUnscopedName :: forall tok e r. Boomerang e tok ((:-) UName r) ((:-) Name r)
Documentation
data DecodedName Source #
Constructors
Instances
data CVQualifier Source #
Instances
Constructors
Instances
Eq CXXType Source # | |
Data CXXType Source # | |
Defined in ABI.Itanium.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CXXType -> c CXXType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CXXType # toConstr :: CXXType -> Constr # dataTypeOf :: CXXType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CXXType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CXXType) # gmapT :: (forall b. Data b => b -> b) -> CXXType -> CXXType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CXXType -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CXXType -> r # gmapQ :: (forall d. Data d => d -> u) -> CXXType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CXXType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CXXType -> m CXXType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CXXType -> m CXXType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CXXType -> m CXXType # | |
Ord CXXType Source # | |
Show CXXType Source # | |
Constructors
NestedName [CVQualifier] [Prefix] UnqualifiedName | |
NestedTemplateName [CVQualifier] [Prefix] [TemplateArg] | |
UnscopedName UName | |
UnscopedTemplateName UName [TemplateArg] | |
UnscopedTemplateSubstitution Substitution [TemplateArg] |
Instances
Eq Name Source # | |
Data Name Source # | |
Defined in ABI.Itanium.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name # dataTypeOf :: Name -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) # gmapT :: (forall b. Data b => b -> b) -> Name -> Name # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # | |
Ord Name Source # | |
Show Name Source # | |
Constructors
DataMemberPrefix String | |
UnqualifiedPrefix UnqualifiedName | |
SubstitutionPrefix Substitution | |
TemplateParamPrefix TemplateParam | |
TemplateArgsPrefix [TemplateArg] |
Instances
Eq Prefix Source # | |
Data Prefix Source # | |
Defined in ABI.Itanium.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Prefix -> c Prefix # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Prefix # toConstr :: Prefix -> Constr # dataTypeOf :: Prefix -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Prefix) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Prefix) # gmapT :: (forall b. Data b => b -> b) -> Prefix -> Prefix # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Prefix -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Prefix -> r # gmapQ :: (forall d. Data d => d -> u) -> Prefix -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Prefix -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Prefix -> m Prefix # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Prefix -> m Prefix # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Prefix -> m Prefix # | |
Ord Prefix Source # | |
Show Prefix Source # | |
data UnqualifiedName Source #
Constructors
OperatorName Operator | |
CtorDtorName CtorDtor | |
SourceName String |
Instances
Instances
Eq CtorDtor Source # | |
Data CtorDtor Source # | |
Defined in ABI.Itanium.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CtorDtor -> c CtorDtor # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CtorDtor # toConstr :: CtorDtor -> Constr # dataTypeOf :: CtorDtor -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CtorDtor) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CtorDtor) # gmapT :: (forall b. Data b => b -> b) -> CtorDtor -> CtorDtor # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CtorDtor -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CtorDtor -> r # gmapQ :: (forall d. Data d => d -> u) -> CtorDtor -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CtorDtor -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CtorDtor -> m CtorDtor # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CtorDtor -> m CtorDtor # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CtorDtor -> m CtorDtor # | |
Ord CtorDtor Source # | |
Defined in ABI.Itanium.Types | |
Show CtorDtor Source # | |
Constructors
Instances
Eq Operator Source # | |
Data Operator Source # | |
Defined in ABI.Itanium.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Operator -> c Operator # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Operator # toConstr :: Operator -> Constr # dataTypeOf :: Operator -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Operator) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Operator) # gmapT :: (forall b. Data b => b -> b) -> Operator -> Operator # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Operator -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Operator -> r # gmapQ :: (forall d. Data d => d -> u) -> Operator -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Operator -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Operator -> m Operator # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Operator -> m Operator # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Operator -> m Operator # | |
Ord Operator Source # | |
Defined in ABI.Itanium.Types | |
Show Operator Source # | |
data Expression Source #
Constructors
Expression |
Instances
Eq Expression Source # | |
Defined in ABI.Itanium.Types | |
Data Expression Source # | |
Defined in ABI.Itanium.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Expression -> c Expression # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Expression # toConstr :: Expression -> Constr # dataTypeOf :: Expression -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Expression) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Expression) # gmapT :: (forall b. Data b => b -> b) -> Expression -> Expression # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Expression -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Expression -> r # gmapQ :: (forall d. Data d => d -> u) -> Expression -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Expression -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Expression -> m Expression # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Expression -> m Expression # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Expression -> m Expression # | |
Ord Expression Source # | |
Defined in ABI.Itanium.Types Methods compare :: Expression -> Expression -> Ordering # (<) :: Expression -> Expression -> Bool # (<=) :: Expression -> Expression -> Bool # (>) :: Expression -> Expression -> Bool # (>=) :: Expression -> Expression -> Bool # max :: Expression -> Expression -> Expression # min :: Expression -> Expression -> Expression # | |
Show Expression Source # | |
Defined in ABI.Itanium.Types Methods showsPrec :: Int -> Expression -> ShowS # show :: Expression -> String # showList :: [Expression] -> ShowS # |
data CallOffset Source #
Constructors
VirtualOffset Int Int | |
NonVirtualOffset Int |
Instances
Eq CallOffset Source # | |
Defined in ABI.Itanium.Types | |
Data CallOffset Source # | |
Defined in ABI.Itanium.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CallOffset -> c CallOffset # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CallOffset # toConstr :: CallOffset -> Constr # dataTypeOf :: CallOffset -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CallOffset) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CallOffset) # gmapT :: (forall b. Data b => b -> b) -> CallOffset -> CallOffset # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CallOffset -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CallOffset -> r # gmapQ :: (forall d. Data d => d -> u) -> CallOffset -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CallOffset -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CallOffset -> m CallOffset # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CallOffset -> m CallOffset # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CallOffset -> m CallOffset # | |
Ord CallOffset Source # | |
Defined in ABI.Itanium.Types Methods compare :: CallOffset -> CallOffset -> Ordering # (<) :: CallOffset -> CallOffset -> Bool # (<=) :: CallOffset -> CallOffset -> Bool # (>) :: CallOffset -> CallOffset -> Bool # (>=) :: CallOffset -> CallOffset -> Bool # max :: CallOffset -> CallOffset -> CallOffset # min :: CallOffset -> CallOffset -> CallOffset # | |
Show CallOffset Source # | |
Defined in ABI.Itanium.Types Methods showsPrec :: Int -> CallOffset -> ShowS # show :: CallOffset -> String # showList :: [CallOffset] -> ShowS # |
data Substitution Source #
Constructors
Substitution (Maybe String) | |
SubStdNamespace | |
SubStdAllocator | |
SubBasicString | |
SubBasicStringArgs | |
SubBasicIstream | |
SubBasicOstream | |
SubBasicIostream |
Instances
Constructors
UName UnqualifiedName | |
UStdName UnqualifiedName |
Instances
Eq UName Source # | |
Data UName Source # | |
Defined in ABI.Itanium.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UName -> c UName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UName # dataTypeOf :: UName -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UName) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UName) # gmapT :: (forall b. Data b => b -> b) -> UName -> UName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UName -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UName -> r # gmapQ :: (forall d. Data d => d -> u) -> UName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UName -> m UName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UName -> m UName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UName -> m UName # | |
Ord UName Source # | |
Show UName Source # | |
demangleName :: String -> Either String DecodedName Source #
Demangle a name into a structured representation (or an error string)
mangleName :: DecodedName -> Maybe String Source #
Re-mangle a name
cxxNameToString :: DecodedName -> String Source #
cxxNameToText :: DecodedName -> Text Source #
Generated parsers
rUnqualifiedPrefix :: forall tok e r. Boomerang e tok ((:-) UnqualifiedName r) ((:-) Prefix r) Source #
rSourceName :: forall tok e r. Boomerang e tok ((:-) String r) ((:-) UnqualifiedName r) Source #
rNestedName :: forall tok e r. Boomerang e tok ((:-) [CVQualifier] ((:-) [Prefix] ((:-) UnqualifiedName r))) ((:-) Name r) Source #