pub struct Bitcode { /* private fields */ }Expand description
Memory conserving representation of IL code.
Implementations
sourceimpl Bitcode
impl Bitcode
sourcepub fn append<I: IntoIterator<Item = Statement> + Sized>(
&mut self,
i: I
) -> Result<Range<usize>>
pub fn append<I: IntoIterator<Item = Statement> + Sized>(
&mut self,
i: I
) -> Result<Range<usize>>
Appends statements in i to the bitcode vector, returing the new byte range.
sourcepub fn with_capacity(cap: usize) -> Bitcode
pub fn with_capacity(cap: usize) -> Bitcode
Creates an empty Bitcode vector with initial capacity cap.
sourcepub fn rewrite<F: FnMut(&mut Statement, &mut Names, &mut Strings, &mut Segments) -> Result<RewriteControl> + Sized>(
&mut self,
range: Range<usize>,
names: &mut Names,
strings: &mut Strings,
segments: &mut Segments,
func: F
) -> Result<Range<usize>>
pub fn rewrite<F: FnMut(&mut Statement, &mut Names, &mut Strings, &mut Segments) -> Result<RewriteControl> + Sized>(
&mut self,
range: Range<usize>,
names: &mut Names,
strings: &mut Strings,
segments: &mut Segments,
func: F
) -> Result<Range<usize>>
Maps function func over all statements in range, and writing them back into the vector.
sourcepub fn insert(
&mut self,
pos: usize,
stmts: Vec<Statement>
) -> Result<Range<usize>>
pub fn insert(
&mut self,
pos: usize,
stmts: Vec<Statement>
) -> Result<Range<usize>>
Serializes the statements in stmts and writes the bytes into position pos. Returns the
inserted byte range.
sourcepub fn iter<'a>(&'a self) -> BitcodeIter<'a>ⓘNotable traits for BitcodeIter<'a>impl<'a> Iterator for BitcodeIter<'a> type Item = Statement;
pub fn iter<'a>(&'a self) -> BitcodeIter<'a>ⓘNotable traits for BitcodeIter<'a>impl<'a> Iterator for BitcodeIter<'a> type Item = Statement;
Iterator over all statements.
sourcepub fn iter_range<'a>(&'a self, rgn: Range<usize>) -> BitcodeIter<'a>ⓘNotable traits for BitcodeIter<'a>impl<'a> Iterator for BitcodeIter<'a> type Item = Statement;
pub fn iter_range<'a>(&'a self, rgn: Range<usize>) -> BitcodeIter<'a>ⓘNotable traits for BitcodeIter<'a>impl<'a> Iterator for BitcodeIter<'a> type Item = Statement;
Iterator over all statements inside byte range rgn.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Bitcode
impl Send for Bitcode
impl Sync for Bitcode
impl Unpin for Bitcode
impl UnwindSafe for Bitcode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more