Trait llvm::Compile
[−]
[src]
pub trait Compile<'a> {
fn compile(self, context: &'a Context) -> &'a Value;
fn get_type(context: &'a Context) -> &'a Type;
}A type that can be represented as a constant in LLVM IR.
Required Methods
fn compile(self, context: &'a Context) -> &'a Value
Compile this value into a constant in the context given.
fn get_type(context: &'a Context) -> &'a Type
Get the type descriptor for this type in the context given.
Implementors
impl<'a> Compile<'a> for boolimpl<'a> Compile<'a> for f32impl<'a> Compile<'a> for f64impl<'a> Compile<'a> for charimpl<'a> Compile<'a> for *const c_charimpl<'a> Compile<'a> for *const strimpl<'a, 'b> Compile<'a> for &'b strimpl<'a, 'b> Compile<'a> for &'b [u8]impl<'a> Compile<'a> for u8impl<'a> Compile<'a> for i8impl<'a> Compile<'a> for u16impl<'a> Compile<'a> for i16impl<'a> Compile<'a> for u32impl<'a> Compile<'a> for i32impl<'a> Compile<'a> for u64impl<'a> Compile<'a> for i64impl<'a> Compile<'a> for usizeimpl<'a> Compile<'a> for isizeimpl<'a> Compile<'a> for ()impl<'a, A, B> Compile<'a> for (A, B) where A: Compile<'a>, B: Compile<'a>impl<'a, A, B, C> Compile<'a> for (A, B, C) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>impl<'a, A, B, C, D> Compile<'a> for (A, B, C, D) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>impl<'a, A, B, C, D, E> Compile<'a> for (A, B, C, D, E) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>impl<'a, A, B, C, D, E, F> Compile<'a> for (A, B, C, D, E, F) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>impl<'a, A, B, C, D, E, F, G> Compile<'a> for (A, B, C, D, E, F, G) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>, G: Compile<'a>impl<'a, T> Compile<'a> for [T; 0] where T: Copy + Compile<'a> + 'aimpl<'a, T> Compile<'a> for [T; 1] where T: Copy + Compile<'a> + 'aimpl<'a, T> Compile<'a> for [T; 2] where T: Copy + Compile<'a> + 'aimpl<'a, T> Compile<'a> for [T; 3] where T: Copy + Compile<'a> + 'aimpl<'a, T> Compile<'a> for [T; 4] where T: Copy + Compile<'a> + 'aimpl<'a, T> Compile<'a> for [T; 5] where T: Copy + Compile<'a> + 'aimpl<'a, T> Compile<'a> for [T; 6] where T: Copy + Compile<'a> + 'aimpl<'a, R> Compile<'a> for fn() -> R where R: Compile<'a>impl<'a, R> Compile<'a> for extern fn() -> R where R: Compile<'a>impl<'a, R, A> Compile<'a> for fn(A) -> R where R: Compile<'a>, A: Compile<'a>impl<'a, R, A> Compile<'a> for extern fn(A) -> R where R: Compile<'a>, A: Compile<'a>impl<'a, R, A, B> Compile<'a> for fn(A, B) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>impl<'a, R, A, B> Compile<'a> for extern fn(A, B) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>impl<'a, R, A, B, C> Compile<'a> for fn(A, B, C) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>impl<'a, R, A, B, C> Compile<'a> for extern fn(A, B, C) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>impl<'a, R, A, B, C, D> Compile<'a> for fn(A, B, C, D) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>impl<'a, R, A, B, C, D> Compile<'a> for extern fn(A, B, C, D) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>impl<'a, R, A, B, C, D, E> Compile<'a> for fn(A, B, C, D, E) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>impl<'a, R, A, B, C, D, E> Compile<'a> for extern fn(A, B, C, D, E) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>impl<'a, R, A, B, C, D, E, F> Compile<'a> for fn(A, B, C, D, E, F) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>impl<'a, R, A, B, C, D, E, F> Compile<'a> for extern fn(A, B, C, D, E, F) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>impl<'a, R, A, B, C, D, E, F, G> Compile<'a> for fn(A, B, C, D, E, F, G) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>, G: Compile<'a>impl<'a, R, A, B, C, D, E, F, G> Compile<'a> for extern fn(A, B, C, D, E, F, G) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>, G: Compile<'a>