Entrypoint call entry methodgit add .

This commit is contained in:
VegOwOtenks 2024-09-02 11:28:00 +02:00
parent ea3666aad3
commit 2042007242
9 changed files with 573 additions and 119 deletions

39
src/heap_area.rs Normal file
View file

@ -0,0 +1,39 @@
use std::collections::HashMap;
use crate::stackframe::Value;
use crate::classfile::{ AbstractTypeDescription, MethodInfo };
pub struct HeapArea {
pub object_area: ObjectArea,
pub static_area: StaticArea,
}
type ObjectReference=u32;
pub struct ObjectArea {
compartments: Vec<ObjectCompartment>,
}
pub struct ObjectCompartment {
objects: Box<[HeapObject]>,
}
pub struct HeapObject {
fields: Box<[ObjectField]>,
}
pub struct StaticArea {
static_objects: HashMap<String, StaticObject>,
}
pub struct StaticObject {
pub class_index: usize,
pub fields: Box<[ObjectField]>,
pub methods: Box<[MethodInfo]>,
}
pub struct ObjectField {
pub type_description: AbstractTypeDescription,
pub value: Value,
}