jvmti_rs/wrapper/builder/
const_object_builder.rs

1use 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);