java_asm 0.1.3

Java bytecode reader & writer in rust
Documentation
use crate::dex::{DUInt, DexFileAccessor};
use crate::AsmResult;
use crate::{DescriptorRef, StrRef};

pub trait AsElement<E> {
    fn to_element(&self, accessor: &DexFileAccessor, previous_index: u32) -> AsmResult<(u32, E)>;
}

#[derive(Clone, Debug)]
pub struct ClassContentElement {
    pub static_fields: Vec<FieldElement>,
    pub instance_fields: Vec<FieldElement>,
    pub direct_methods: Vec<MethodElement>,
    pub virtual_methods: Vec<MethodElement>,
}

#[derive(Clone, Debug)]
pub struct FieldElement {
    pub access_flags: u32,
    pub name: StrRef,
    pub descriptor: DescriptorRef,
}

#[derive(Clone, Debug)]
pub struct MethodElement {
    pub access_flags: u32,
    pub name: StrRef,
    pub shorty_descriptor: DescriptorRef,
    pub return_type: DescriptorRef,
    pub parameters: Vec<DescriptorRef>,
    pub code_off: DUInt,
}