pub struct Class<'a> {
pub minor_version: u16,
pub major_version: u16,
pub constant_pool: ConstantPool<'a>,
pub access_flags: ClassAccessFlags,
pub this_class: CpIndex,
pub super_class: Option<CpIndex>,
pub interfaces: Vec<CpIndex>,
pub fields: Vec<FieldInfo<'a>>,
pub methods: Vec<MethodInfo<'a>>,
pub attributes: Vec<AttributeInfo<'a>>,
}Expand description
A parsed class file, borrowing from the bytes it was read from.
See JVMS §4.1.
Fields§
§minor_version: u16§major_version: u16§constant_pool: ConstantPool<'a>§access_flags: ClassAccessFlags§this_class: CpIndex§super_class: Option<CpIndex>§interfaces: Vec<CpIndex>§fields: Vec<FieldInfo<'a>>§methods: Vec<MethodInfo<'a>>§attributes: Vec<AttributeInfo<'a>>Implementations§
Source§impl<'a> Class<'a>
impl<'a> Class<'a>
Sourcepub fn parse(bytes: &'a [u8]) -> Result<Self>
pub fn parse(bytes: &'a [u8]) -> Result<Self>
Parses a complete class file, rejecting any trailing bytes.
Sourcepub fn try_read(cursor: &mut Cursor<'a>) -> Result<Self>
pub fn try_read(cursor: &mut Cursor<'a>) -> Result<Self>
Reads a class file from cursor, leaving whatever follows it untouched.
Sourcepub fn name(&self) -> Result<Cow<'a, str>>
pub fn name(&self) -> Result<Cow<'a, str>>
Returns the internal name of this class, e.g. java/lang/String.
Sourcepub fn signature(
&self,
constant_pool: &ConstantPool<'a>,
) -> Result<Option<Cow<'a, str>>>
pub fn signature( &self, constant_pool: &ConstantPool<'a>, ) -> Result<Option<Cow<'a, str>>>
Returns the generic signature from the Signature attribute, if present.
Sourcepub fn inner_classes(&self) -> Result<Option<&Vec<InnerClass>>>
pub fn inner_classes(&self) -> Result<Option<&Vec<InnerClass>>>
Returns the InnerClasses attribute entries, if present.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Class<'a>
impl<'a> RefUnwindSafe for Class<'a>
impl<'a> Send for Class<'a>
impl<'a> Sync for Class<'a>
impl<'a> Unpin for Class<'a>
impl<'a> UnsafeUnpin for Class<'a>
impl<'a> UnwindSafe for Class<'a>
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
Mutably borrows from an owned value. Read more