Enum cpp_demangle::ast::SpecialName [−][src]
pub enum SpecialName {
Show variants
VirtualTable(TypeHandle),
Vtt(TypeHandle),
Typeinfo(TypeHandle),
TypeinfoName(TypeHandle),
VirtualOverrideThunk(CallOffset, Box<Encoding>),
VirtualOverrideThunkCovariant(CallOffset, CallOffset, Box<Encoding>),
Guard(Name),
GuardTemporary(Name, usize),
ConstructionVtable(TypeHandle, usize, TypeHandle),
TypeinfoFunction(TypeHandle),
TlsInit(Name),
TlsWrapper(Name),
JavaResource(Vec<ResourceName>),
TransactionClone(Box<Encoding>),
NonTransactionClone(Box<Encoding>),
}The <special-name> production.
The <special-name> production is spread in pieces through out the ABI
spec, and then there are a bunch of g++ extensions that have become de
facto.
5.1.4.1 Virtual Tables and RTTI
<special-name> ::= TV <type> # virtual table
::= TT <type> # VTT structure (construction vtable index)
::= TI <type> # typeinfo structure
::= TS <type> # typeinfo name (null-terminated byte string)
5.1.4.2 Virtual Override Thunks
<special-name> ::= T <call-offset> <base encoding>
# base is the nominal target function of thunk
<special-name> ::= Tc <call-offset> <call-offset> <base encoding>
# base is the nominal target function of thunk
# first call-offset is 'this' adjustment
# second call-offset is result adjustment
5.1.4.4 Guard Variables
<special-name> ::= GV <object name> # Guard variable for one-time initialization
# No <type>
5.1.4.5 Lifetime-Extended Temporaries
<special-name> ::= GR <object name> _ # First temporary
<special-name> ::= GR <object name> <seq-id> _ # Subsequent temporaries
De Facto Standard Extensions
<special-name> ::= TC <type> <number> _ <type> # construction vtable
::= TF <type> # typinfo function
::= TH <name> # TLS initialization function
::= TW <name> # TLS wrapper function
::= Gr <resource name> # Java Resource
::= GTt <encoding> # Transaction-Safe function
::= GTn <encoding> # Non-Transaction-Safe function
Variants
VirtualTable(TypeHandle)A virtual table.
Vtt(TypeHandle)A VTT structure (construction vtable index).
Typeinfo(TypeHandle)A typeinfo structure.
TypeinfoName(TypeHandle)A typeinfo name (null-terminated byte string).
VirtualOverrideThunk(CallOffset, Box<Encoding>)A virtual override thunk.
VirtualOverrideThunkCovariant(CallOffset, CallOffset, Box<Encoding>)A virtual override thunk with a covariant return type.
Guard(Name)An initialization guard for some static storage.
A temporary used in the initialization of a static storage and promoted to a static lifetime.
ConstructionVtable(TypeHandle, usize, TypeHandle)A construction vtable structure.
TypeinfoFunction(TypeHandle)A typeinfo function.
TlsInit(Name)A TLS initialization function.
TlsWrapper(Name)A TLS wrapper function.
JavaResource(Vec<ResourceName>)A Java Resource.
A function declared transaction-safe
A function declared non-transaction-safe
Trait Implementations
impl Clone for SpecialName[src]
impl Clone for SpecialName[src]fn clone(&self) -> SpecialName[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl PartialEq<SpecialName> for SpecialName[src]
impl PartialEq<SpecialName> for SpecialName[src]