pub struct IRBuilder { /* private fields */ }
Implementations§
Source§impl IRBuilder
impl IRBuilder
pub fn get_llvm_builder(&self) -> LLVMBuilderRef
pub fn build_return_void(&self)
pub fn build_return(&self, value: LLVMValue)
pub fn build_global_string_ptr( &self, name: impl AsRef<str>, value: impl AsRef<str>, ) -> LLVMValue
pub fn build_global_string(&self, value: impl AsRef<str>) -> LLVMValue
pub fn build_alloca( &self, name: impl AsRef<str>, ty: &LLVMType, ) -> ReferenceValue
pub fn build_array(&self, el_ty: LLVMType, arr: Vec<LLVMValue>) -> LLVMValue
pub fn build_struct_get(&self, val: &StructValue, idx: usize) -> LLVMValue
pub fn build_struct_insert( &self, val: &StructValue, idx: usize, value: &LLVMValue, ) -> StructValue
pub fn build_i64_to_ptr(&self, val: LLVMValue) -> LLVMValue
pub fn build_struct_gep( &self, ty: &LLVMType, val: LLVMValue, idx: usize, ) -> LLVMValue
pub fn build_unreachable(&self)
pub fn build_array_get( &self, ty: LLVMType, ptr: LLVMValue, index: LLVMValue, ) -> LLVMValue
pub fn build_array_get_in_bounds( &self, ty: LLVMType, ptr: LLVMValue, index: LLVMValue, ) -> LLVMValue
pub fn build_array_gep( &self, ty: LLVMType, ptr: LLVMValue, index: LLVMValue, ) -> LLVMValue
pub fn build_add(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fadd(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fmul(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_mul(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_sub(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fsub(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fdiv(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_si_to_fp(&self, val: LLVMValue, dest_ty: LLVMType) -> LLVMValue
pub fn build_fp_to_si(&self, val: LLVMValue, dest_ty: LLVMType) -> LLVMValue
pub fn build_neq(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_greater(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_less(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_call( &self, ctx: &Context, function: &FunctionValue, params: &mut [LLVMValue], var_name: impl AsRef<str>, ) -> LLVMValue
pub fn build_call_fn_ptr( &self, fn_type: LLVMType, ptr: LLVMValue, params: &mut [LLVMValue], var_name: impl AsRef<str>, ) -> LLVMValue
pub fn build_zext(&self, value: LLVMValue, ty: LLVMType) -> LLVMValue
pub fn build_extract_value( &self, ctx: &Context, val: &StructValue, idx: usize, ) -> LLVMValue
pub fn build_less_equal(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_greater_equal(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_and(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_or(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fneg(&self, val: LLVMValue) -> LLVMValue
pub fn build_neg(&self, val: LLVMValue) -> LLVMValue
pub fn build_fcmp( &self, pred: LLVMRealPredicate, l: LLVMValue, r: LLVMValue, ) -> LLVMValue
pub fn build_fcmp_oeq(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fcmp_one(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fcmp_ogt(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fcmp_oge(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fcmp_olt(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_fcmp_ole(&self, l: LLVMValue, r: LLVMValue) -> LLVMValue
pub fn build_not(&self, val: LLVMValue) -> LLVMValue
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for IRBuilder
impl !RefUnwindSafe for IRBuilder
impl !Send for IRBuilder
impl !Sync for IRBuilder
impl Unpin for IRBuilder
impl !UnwindSafe for IRBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);