itanium-abi-0.1.3: An implementation of name mangling/demangling for the Itanium ABI
Safe HaskellNone
LanguageHaskell2010

ABI.Itanium

Synopsis

Documentation

data DecodedName Source #

Constructors

Function Name [CXXType] 
Data Name 
VirtualTable CXXType 
VTTStructure CXXType 
TypeInfo CXXType 
TypeInfoName CXXType 
GuardVariable Name 
OverrideThunk CallOffset DecodedName 
OverrideThunkCovariant CallOffset CallOffset DecodedName 
ConstStructData UnqualifiedName

Const data that is not a builtin data type (as a special-name).

This construct is not specifically identified in the documentation, but for the following input:

struct mystr { int val; }; const struct mystr here = { 9 };

Also works with:

class mycls { public: int val; } const class mycls here = { 8 };

When compiled with Clang/LLVM results in Global Variable (apparently always using the length-specified source-name syntax):

_ZL4here

This is apparently only used for const declarations and only for non-builtin datatypes.

Instances

Instances details
Data DecodedName Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DecodedName -> c DecodedName

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DecodedName

toConstr :: DecodedName -> Constr

dataTypeOf :: DecodedName -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DecodedName)

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

gmapT :: (forall b. Data b => b -> b) -> DecodedName -> DecodedName

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DecodedName -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DecodedName -> r

gmapQ :: (forall d. Data d => d -> u) -> DecodedName -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> DecodedName -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DecodedName -> m DecodedName

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DecodedName -> m DecodedName

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DecodedName -> m DecodedName

Show DecodedName Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> DecodedName -> ShowS

show :: DecodedName -> String

showList :: [DecodedName] -> ShowS

Eq DecodedName Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: DecodedName -> DecodedName -> Bool

(/=) :: DecodedName -> DecodedName -> Bool

Ord DecodedName Source # 
Instance details

Defined in ABI.Itanium.Types

data CVQualifier Source #

Constructors

Restrict 
Volatile 
Const 

Instances

Instances details
Data CVQualifier Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CVQualifier -> c CVQualifier

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CVQualifier

toConstr :: CVQualifier -> Constr

dataTypeOf :: CVQualifier -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CVQualifier)

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

gmapT :: (forall b. Data b => b -> b) -> CVQualifier -> CVQualifier

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CVQualifier -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CVQualifier -> r

gmapQ :: (forall d. Data d => d -> u) -> CVQualifier -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> CVQualifier -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CVQualifier -> m CVQualifier

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CVQualifier -> m CVQualifier

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CVQualifier -> m CVQualifier

Show CVQualifier Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> CVQualifier -> ShowS

show :: CVQualifier -> String

showList :: [CVQualifier] -> ShowS

Eq CVQualifier Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: CVQualifier -> CVQualifier -> Bool

(/=) :: CVQualifier -> CVQualifier -> Bool

Ord CVQualifier Source # 
Instance details

Defined in ABI.Itanium.Types

data CXXType Source #

Instances

Instances details
Data CXXType Source # 
Instance details

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 :: forall r r'. (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

Show CXXType Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> CXXType -> ShowS

show :: CXXType -> String

showList :: [CXXType] -> ShowS

Eq CXXType Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: CXXType -> CXXType -> Bool

(/=) :: CXXType -> CXXType -> Bool

Ord CXXType Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

compare :: CXXType -> CXXType -> Ordering

(<) :: CXXType -> CXXType -> Bool

(<=) :: CXXType -> CXXType -> Bool

(>) :: CXXType -> CXXType -> Bool

(>=) :: CXXType -> CXXType -> Bool

max :: CXXType -> CXXType -> CXXType

min :: CXXType -> CXXType -> CXXType

data Name Source #

Instances

Instances details
Data Name Source # 
Instance details

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

toConstr :: Name -> Constr

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 :: forall r r'. (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

Show Name Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> Name -> ShowS

show :: Name -> String

showList :: [Name] -> ShowS

Eq Name Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: Name -> Name -> Bool

(/=) :: Name -> Name -> Bool

Ord Name Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

compare :: Name -> Name -> Ordering

(<) :: Name -> Name -> Bool

(<=) :: Name -> Name -> Bool

(>) :: Name -> Name -> Bool

(>=) :: Name -> Name -> Bool

max :: Name -> Name -> Name

min :: Name -> Name -> Name

data Prefix Source #

Instances

Instances details
Data Prefix Source # 
Instance details

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 :: forall r r'. (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

Show Prefix Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> Prefix -> ShowS

show :: Prefix -> String

showList :: [Prefix] -> ShowS

Eq Prefix Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: Prefix -> Prefix -> Bool

(/=) :: Prefix -> Prefix -> Bool

Ord Prefix Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

compare :: Prefix -> Prefix -> Ordering

(<) :: Prefix -> Prefix -> Bool

(<=) :: Prefix -> Prefix -> Bool

(>) :: Prefix -> Prefix -> Bool

(>=) :: Prefix -> Prefix -> Bool

max :: Prefix -> Prefix -> Prefix

min :: Prefix -> Prefix -> Prefix

data UnqualifiedName Source #

Instances

Instances details
Data UnqualifiedName Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UnqualifiedName -> c UnqualifiedName

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UnqualifiedName

toConstr :: UnqualifiedName -> Constr

dataTypeOf :: UnqualifiedName -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UnqualifiedName)

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

gmapT :: (forall b. Data b => b -> b) -> UnqualifiedName -> UnqualifiedName

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnqualifiedName -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnqualifiedName -> r

gmapQ :: (forall d. Data d => d -> u) -> UnqualifiedName -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> UnqualifiedName -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnqualifiedName -> m UnqualifiedName

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnqualifiedName -> m UnqualifiedName

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnqualifiedName -> m UnqualifiedName

Show UnqualifiedName Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> UnqualifiedName -> ShowS

show :: UnqualifiedName -> String

showList :: [UnqualifiedName] -> ShowS

Eq UnqualifiedName Source # 
Instance details

Defined in ABI.Itanium.Types

Ord UnqualifiedName Source # 
Instance details

Defined in ABI.Itanium.Types

data CtorDtor Source #

Constructors

C1 
C2 
C3 
D0 
D1 
D2 

Instances

Instances details
Data CtorDtor Source # 
Instance details

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 :: forall r r'. (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

Show CtorDtor Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> CtorDtor -> ShowS

show :: CtorDtor -> String

showList :: [CtorDtor] -> ShowS

Eq CtorDtor Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: CtorDtor -> CtorDtor -> Bool

(/=) :: CtorDtor -> CtorDtor -> Bool

Ord CtorDtor Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

compare :: CtorDtor -> CtorDtor -> Ordering

(<) :: CtorDtor -> CtorDtor -> Bool

(<=) :: CtorDtor -> CtorDtor -> Bool

(>) :: CtorDtor -> CtorDtor -> Bool

(>=) :: CtorDtor -> CtorDtor -> Bool

max :: CtorDtor -> CtorDtor -> CtorDtor

min :: CtorDtor -> CtorDtor -> CtorDtor

data Operator Source #

Instances

Instances details
Data Operator Source # 
Instance details

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 :: forall r r'. (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

Show Operator Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> Operator -> ShowS

show :: Operator -> String

showList :: [Operator] -> ShowS

Eq Operator Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: Operator -> Operator -> Bool

(/=) :: Operator -> Operator -> Bool

Ord Operator Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

compare :: Operator -> Operator -> Ordering

(<) :: Operator -> Operator -> Bool

(<=) :: Operator -> Operator -> Bool

(>) :: Operator -> Operator -> Bool

(>=) :: Operator -> Operator -> Bool

max :: Operator -> Operator -> Operator

min :: Operator -> Operator -> Operator

data Expression Source #

Constructors

Expression 

Instances

Instances details
Data Expression Source # 
Instance details

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 :: forall r r'. (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

Show Expression Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> Expression -> ShowS

show :: Expression -> String

showList :: [Expression] -> ShowS

Eq Expression Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: Expression -> Expression -> Bool

(/=) :: Expression -> Expression -> Bool

Ord Expression Source # 
Instance details

Defined in ABI.Itanium.Types

data CallOffset Source #

Constructors

VirtualOffset Int Int 
NonVirtualOffset Int 

Instances

Instances details
Data CallOffset Source # 
Instance details

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 :: forall r r'. (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

Show CallOffset Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> CallOffset -> ShowS

show :: CallOffset -> String

showList :: [CallOffset] -> ShowS

Eq CallOffset Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: CallOffset -> CallOffset -> Bool

(/=) :: CallOffset -> CallOffset -> Bool

Ord CallOffset Source # 
Instance details

Defined in ABI.Itanium.Types

data Substitution Source #

Instances

Instances details
Data Substitution Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Substitution -> c Substitution

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Substitution

toConstr :: Substitution -> Constr

dataTypeOf :: Substitution -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Substitution)

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

gmapT :: (forall b. Data b => b -> b) -> Substitution -> Substitution

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Substitution -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Substitution -> r

gmapQ :: (forall d. Data d => d -> u) -> Substitution -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Substitution -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Substitution -> m Substitution

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Substitution -> m Substitution

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Substitution -> m Substitution

Show Substitution Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> Substitution -> ShowS

show :: Substitution -> String

showList :: [Substitution] -> ShowS

Eq Substitution Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: Substitution -> Substitution -> Bool

(/=) :: Substitution -> Substitution -> Bool

Ord Substitution Source # 
Instance details

Defined in ABI.Itanium.Types

data UName Source #

Instances

Instances details
Data UName Source # 
Instance details

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

toConstr :: UName -> Constr

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 :: forall r r'. (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

Show UName Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

showsPrec :: Int -> UName -> ShowS

show :: UName -> String

showList :: [UName] -> ShowS

Eq UName Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

(==) :: UName -> UName -> Bool

(/=) :: UName -> UName -> Bool

Ord UName Source # 
Instance details

Defined in ABI.Itanium.Types

Methods

compare :: UName -> UName -> Ordering

(<) :: UName -> UName -> Bool

(<=) :: UName -> UName -> Bool

(>) :: UName -> UName -> Bool

(>=) :: UName -> UName -> Bool

max :: UName -> UName -> UName

min :: UName -> UName -> UName

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 :: (Monad m, MonadThrow m) => DecodedName -> m String Source #

Primary interface to get the pretty version of a parsed mangled name in String form.

cxxNameToText :: (Monad m, MonadThrow m) => DecodedName -> m Text Source #

Primary interface to get the pretty version of a parsed mangled name in Text form. This is a monadic operation to support throwing an exception in that outer monad when there is a pretty-printing conversion error.

Generated parsers

rUnqualifiedPrefix :: forall tok e r. Boomerang e tok (UnqualifiedName :- r) (Prefix :- r) Source #

rConst :: forall tok e r. Boomerang e tok r (CVQualifier :- r) Source #

rSourceName :: forall tok e r. Boomerang e tok (String :- r) (UnqualifiedName :- r) Source #

rUName :: forall tok e r. Boomerang e tok (UnqualifiedName :- r) (UName :- r) Source #

rNestedName :: forall tok e r. Boomerang e tok ([CVQualifier] :- ([Prefix] :- (UnqualifiedName :- r))) (Name :- r) Source #

rUnscopedName :: forall tok e r. Boomerang e tok (UName :- r) (Name :- r) Source #