classfmt/
raw_class.rs

1use crate::access_flags::ClassAccessFlag;
2use crate::{Attribute, Constant, Field, Method};
3
4/// A class file
5#[derive(Debug)]
6pub struct RawClass<'c> {
7    pub magic: u32,
8    pub minor_version: u16,
9    pub major_version: u16,
10    pub constant_pool_count: u16,
11    pub constant_pool: Vec<Constant<'c>>,
12    pub access_flags: ClassAccessFlag,
13    pub this_class: u16,
14    pub super_class: u16,
15    pub interface_count: u16,
16    pub field_count: u16,
17    pub fields: Vec<Field>,
18    pub methods_count: u16,
19    pub methods: Vec<Method>,
20    pub attributes_count: u16,
21    pub attributes: Vec<Attribute>
22}