Safe Haskell | None |
---|
- 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
data CVQualifier Source
NestedName [CVQualifier] [Prefix] UnqualifiedName | |
NestedTemplateName [CVQualifier] [Prefix] [TemplateArg] | |
UnscopedName UName | |
UnscopedTemplateName UName [TemplateArg] | |
UnscopedTemplateSubstitution Substitution [TemplateArg] |
DataMemberPrefix String | |
UnqualifiedPrefix UnqualifiedName | |
SubstitutionPrefix Substitution | |
TemplateParamPrefix TemplateParam | |
TemplateArgsPrefix [TemplateArg] |
data UnqualifiedName Source
OpNew | new |
OpNewArray | new[] |
OpDelete | delete |
OpDeleteArray | delete[] |
OpUPlus | + (unary) |
OpUMinus |
|
OpAddressOf | & (unary) |
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 Source
data CallOffset Source
data Substitution Source
demangleName :: String -> Either String DecodedNameSource
Demangle a name into a structured representation (or an error string)
mangleName :: DecodedName -> Maybe StringSource
Re-mangle a name
cxxNameToText :: DecodedName -> TextSource
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
rNestedName :: forall tok e r. Boomerang e tok (:- [CVQualifier] (:- [Prefix] (:- UnqualifiedName r))) (:- Name r)Source