Enum wasmtime_jit::trampoline::ir::ExternalName [−][src]
pub enum ExternalName {
User {
namespace: u32,
index: u32,
},
TestCase {
length: u8,
ascii: [u8; 16],
},
LibCall(LibCall),
}The name of an external is either a reference to a user-defined symbol table, or a short sequence of ascii bytes so that test cases do not have to keep track of a symbol table.
External names are primarily used as keys by code using Cranelift to map
from a cranelift_codegen::ir::FuncRef or similar to additional associated
data.
External names can also serve as a primitive testing and debugging tool.
In particular, many .clif test files use function names to identify
functions.
Variants
A name in a user-defined symbol table. Cranelift does not interpret these numbers in any way.
A test case function name of up to a hardcoded amount of ascii characters. This is not intended to be used outside test cases.
Show fields
LibCall(LibCall)A well-known runtime library function.
Implementations
impl ExternalName[src]
impl ExternalName[src]pub fn testcase<T>(v: T) -> ExternalName where
T: AsRef<[u8]>, [src]
T: AsRef<[u8]>,
Creates a new external name from a sequence of bytes. Caller is expected
to guarantee bytes are only ascii alphanumeric or _.
Examples
// Create `ExternalName` from a string. let name = ExternalName::testcase("hello"); assert_eq!(name.to_string(), "%hello");
pub fn user(namespace: u32, index: u32) -> ExternalName[src]
Create a new external name from user-provided integer indices.
Examples
// Create `ExternalName` from integer indices let name = ExternalName::user(123, 456); assert_eq!(name.to_string(), "u123:456");
Trait Implementations
impl Clone for ExternalName[src]
impl Clone for ExternalName[src]pub fn clone(&self) -> ExternalName[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Default for ExternalName[src]
impl Default for ExternalName[src]pub fn default() -> ExternalName[src]
impl Display for ExternalName[src]
impl Display for ExternalName[src]impl FromStr for ExternalName[src]
impl FromStr for ExternalName[src]type Err = ()
The associated error which can be returned from parsing.
pub fn from_str(s: &str) -> Result<ExternalName, <ExternalName as FromStr>::Err>[src]
impl PartialEq<ExternalName> for ExternalName[src]
impl PartialEq<ExternalName> for ExternalName[src]pub fn eq(&self, other: &ExternalName) -> bool[src]
pub fn ne(&self, other: &ExternalName) -> bool[src]
impl Eq for ExternalName[src]
impl StructuralEq for ExternalName[src]
impl StructuralPartialEq for ExternalName[src]
Auto Trait Implementations
impl RefUnwindSafe for ExternalName
impl Send for ExternalName
impl Sync for ExternalName
impl Unpin for ExternalName
impl UnwindSafe for ExternalName
Blanket Implementations
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]