Enum cpp_demangle::ast::SpecialName
[−]
[src]
pub enum SpecialName { VirtualTable(TypeHandle), Vtt(TypeHandle), Typeinfo(TypeHandle), TypeinfoName(TypeHandle), VirtualOverrideThunk(CallOffset, Box<Encoding>), VirtualOverrideThunkCovariant(CallOffset, CallOffset, Box<Encoding>), Guard(Name), GuardTemporary(Name, usize), }
The <special-name>
production.
The <special-name>
production is spread in pieces through out the ABI
spec.
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
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.
GuardTemporary(Name, usize)
A temporary used in the initialization of a static storage and promoted to a static lifetime.
Trait Implementations
impl Clone for SpecialName
[src]
fn clone(&self) -> SpecialName
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for SpecialName
[src]
impl PartialEq for SpecialName
[src]
fn eq(&self, __arg_0: &SpecialName) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &SpecialName) -> bool
[src]
This method tests for !=
.