use super::{Vm, VmBuiltinMetadata};
impl Vm {
pub fn builtin_names(&self) -> Vec<String> {
let mut names: Vec<String> = self.builtins.keys().cloned().collect();
names.extend(self.async_builtins.keys().cloned());
names
}
pub fn capability_method_names(&self) -> Vec<(harn_builtin_meta::CapabilityId, String)> {
self.capability_methods
.iter()
.flat_map(|(capability, methods)| {
methods
.keys()
.map(move |method| (*capability, method.clone()))
})
.collect()
}
pub fn builtin_metadata(&self) -> Vec<VmBuiltinMetadata> {
self.builtin_metadata.values().cloned().collect()
}
pub fn builtin_metadata_for(&self, name: &str) -> Option<&VmBuiltinMetadata> {
self.builtin_metadata.get(name)
}
}