jvmti_rs/wrapper/objects/
jaddr_location_map.rs

1use crate::sys::{jvmtiAddrLocationMap, jlocation};
2use std::marker::PhantomData;
3use std::ffi::c_void;
4
5#[derive(Clone, Debug)]
6pub struct JAddrLocationMap<'a> {
7    internal: jvmtiAddrLocationMap,
8    lifetime: PhantomData<&'a ()>,
9
10    pub start_address: *const c_void,
11    pub location: jlocation,
12}
13
14
15impl<'a> From<jvmtiAddrLocationMap> for JAddrLocationMap<'a> {
16    fn from(location_map: jvmtiAddrLocationMap) -> Self {
17        JAddrLocationMap {
18            internal: location_map,
19            lifetime: PhantomData,
20
21            start_address: location_map.start_address,
22            location: location_map.location,
23        }
24    }
25}
26
27impl<'a> ::std::ops::Deref for JAddrLocationMap<'a> {
28    type Target = jvmtiAddrLocationMap;
29
30    fn deref(&self) -> &Self::Target {
31        &self.internal
32    }
33}