pub struct InstructionWriter<Ctx> { /* private fields */ }

Implementations§

source§

impl<Ctx: EncoderContext> InstructionWriter<Ctx>

source

pub fn new_label(&mut self) -> Result<(Label, LabelRef), EncodeError>

source

pub fn label(&mut self, label: Label) -> Result<&mut Self, EncodeError>

source

pub fn aaload(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn aastore(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn aconstnull(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn aload(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn aload_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn aload0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn aload1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn aload2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn aload3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn anewarray<I>(&mut self, array_type: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Class>,

source

pub fn areturn(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn arraylength(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn astore(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn astore_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn astore0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn astore1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn astore2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn astore3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn athrow(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn baload(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn bastore(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn bipush(&mut self, value: i8) -> Result<&mut Self, EncodeError>

source

pub fn caload(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn castore(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn checkcast<I>(&mut self, array_type: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Class>,

source

pub fn d2f(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn d2i(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn d2l(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dadd(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn daload(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dastore(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dcmpg(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dcmpl(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dconst0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dconst1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ddiv(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dload(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn dload_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn dload0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dload1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dload2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dload3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dmul(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dneg(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn drem(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dreturn(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dstore(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn dstore_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn dstore0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dstore1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dstore2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dstore3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dsub(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dup(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dupx1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dupx2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dup2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dup2x1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn dup2x2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn f2d(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn f2i(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn f2l(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fadd(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn faload(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fastore(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fcmpg(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fcmpl(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fconst0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fconst1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fconst2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fdiv(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fload(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn fload_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn fload0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fload1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fload2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fload3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fmul(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fneg(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn frem(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn freturn(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fstore(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn fstore_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn fstore0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fstore1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fstore2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fstore3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn fsub(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn getfield<I>(&mut self, field: I) -> Result<&mut Self, EncodeError>
where I: Insertable<FieldRef>,

source

pub fn getstatic<I>(&mut self, field: I) -> Result<&mut Self, EncodeError>
where I: Insertable<FieldRef>,

source

pub fn goto(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn gotow(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn i2b(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn i2c(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn i2d(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn i2f(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn i2l(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn i2s(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iadd(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iaload(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iand(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iastore(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iconstm1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iconst0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iconst1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iconst2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iconst3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iconst4(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iconst5(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn idiv(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ifacmpeq(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ifacmpne(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ificmpeq(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ificmpne(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ificmplt(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ificmpge(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ificmpgt(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ificmple(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ifeq(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ifne(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn iflt(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ifge(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ifgt(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ifle(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ifnonnull(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn ifnull(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn iinc(&mut self, index: u8, value: i8) -> Result<&mut Self, EncodeError>

source

pub fn iinc_wide( &mut self, index: u16, value: i64 ) -> Result<&mut Self, EncodeError>

source

pub fn iload(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn iload_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn iload0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iload1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iload2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iload3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn imul(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ineg(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn instanceof<I>(&mut self, type_: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Class>,

source

pub fn invokedynamic<I>( &mut self, invoke_dynamic: I ) -> Result<&mut Self, EncodeError>

source

pub fn invokeinterface<I>( &mut self, method: I, count: u8 ) -> Result<&mut Self, EncodeError>

source

pub fn invokespecial<I>(&mut self, method: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Item>,

source

pub fn invokestatic<I>(&mut self, method: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Item>,

source

pub fn invokevirtual<I>(&mut self, method: I) -> Result<&mut Self, EncodeError>

source

pub fn ior(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn irem(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ireturn(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ishl(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ishr(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn istore(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn istore_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn istore0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn istore1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn istore2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn istore3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn isub(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn iushr(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ixor(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn jsr(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn jsrw(&mut self, label: LabelRef) -> Result<&mut Self, EncodeError>

source

pub fn l2d(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn l2f(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn l2i(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ladd(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn laload(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn land(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lastore(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lcmp(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lconst0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lconst1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn ldc<I>(&mut self, constant: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Item>,

source

pub fn ldcw<I>(&mut self, constant: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Item>,

source

pub fn ldc2w<I>(&mut self, constant: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Item>,

source

pub fn ldiv(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lload(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn lload_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn lload0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lload1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lload2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lload3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lmul(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lneg(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lookupswitch<F>(&mut self, f: F) -> Result<&mut Self, EncodeError>
where F: for<'f> FnOnce(LookupSwitchWriter<'f, Ctx, Default>) -> Result<LookupSwitchWriter<'f, Ctx, Jumps>, EncodeError>,

source

pub fn lor(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lrem(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lreturn(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lshl(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lshr(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lstore(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn lstore_wide(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn lstore0(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lstore1(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lstore2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lstore3(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lsub(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lushr(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn lxor(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn monitorenter(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn monitorexit(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn multianewarray<I>( &mut self, array_type: I, dimensions: u8 ) -> Result<&mut Self, EncodeError>
where I: Insertable<Class>,

source

pub fn new<I>(&mut self, class: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Class>,

source

pub fn newarray<I>(&mut self, array_type: I) -> Result<&mut Self, EncodeError>
where I: Insertable<Class>,

source

pub fn nop(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn pop(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn pop2(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn putfield<I>(&mut self, field: I) -> Result<&mut Self, EncodeError>
where I: Insertable<FieldRef>,

source

pub fn putstatic<I>(&mut self, field: I) -> Result<&mut Self, EncodeError>
where I: Insertable<FieldRef>,

source

pub fn ret<I>(&mut self, index: u8) -> Result<&mut Self, EncodeError>

source

pub fn ret_wide<I>(&mut self, index: u16) -> Result<&mut Self, EncodeError>

source

pub fn return_(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn saload(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn sastore(&mut self) -> Result<&mut Self, EncodeError>

source

pub fn sipush(&mut self, value: i16) -> Result<&mut Self, EncodeError>

source

pub fn tableswitch<F>(&mut self, f: F) -> Result<&mut Self, EncodeError>
where F: for<'f> FnOnce(TableSwitchWriter<'f, Ctx, Default>) -> Result<TableSwitchWriter<'f, Ctx, Jumps>, EncodeError>,

Trait Implementations§

source§

impl<Ctx> Debug for InstructionWriter<Ctx>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Ctx: EncoderContext> EncoderContext for InstructionWriter<Ctx>

source§

fn insert_constant<I: Into<Item>>( &mut self, item: I ) -> Result<Index<I>, EncodeError>

Auto Trait Implementations§

§

impl<Ctx> Freeze for InstructionWriter<Ctx>
where Ctx: Freeze,

§

impl<Ctx> RefUnwindSafe for InstructionWriter<Ctx>
where Ctx: RefUnwindSafe,

§

impl<Ctx> Send for InstructionWriter<Ctx>
where Ctx: Send,

§

impl<Ctx> Sync for InstructionWriter<Ctx>
where Ctx: Sync,

§

impl<Ctx> Unpin for InstructionWriter<Ctx>
where Ctx: Unpin,

§

impl<Ctx> UnwindSafe for InstructionWriter<Ctx>
where Ctx: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.