jvmti_rs/wrapper/builder/
const_object_builder.rs1use crate::sys;
2use crate::{objects::*, builder::*, slice_raw};
3
4macro_rules! define_builder {
5 ($sys_type:ident, $wrapper_type:ident) => (
6 impl<'a> Builder<$wrapper_type<'a>> for ObjectArrayBuilder<sys::$sys_type> {
7 fn build(&self) -> Vec<$wrapper_type<'a>> {
8 if self.count == 0 || self.items.is_null() {
9 return vec![];
10 }
11 let items = slice_raw(self.items, self.count);
12 let res: Vec<$wrapper_type<'a>> = items.iter()
13 .map(|&e| (e).into())
14 .collect();
15 res
16 }
17 }
18 );
19}
20
21define_builder!(jvmtiAddrLocationMap, JAddrLocationMap);