diff --git a/src/values/enums.rs b/src/values/enums.rs index 875a547347c..969b499e73d 100644 --- a/src/values/enums.rs +++ b/src/values/enums.rs @@ -10,6 +10,7 @@ use crate::values::{ }; use std::convert::TryFrom; +use std::ffi::CStr; use std::fmt::{self, Display}; use super::AnyValue; @@ -231,6 +232,18 @@ impl<'ctx> BasicValueEnum<'ctx> { } } + /// Get the name of the `BasicValueEnum`. + pub fn get_name(&self) -> &CStr { + match self { + BasicValueEnum::ArrayValue(v) => v.get_name(), + BasicValueEnum::IntValue(v) => v.get_name(), + BasicValueEnum::FloatValue(v) => v.get_name(), + BasicValueEnum::PointerValue(v) => v.get_name(), + BasicValueEnum::StructValue(v) => v.get_name(), + BasicValueEnum::VectorValue(v) => v.get_name(), + } + } + /// Set name of the `BasicValueEnum`. pub fn set_name(&self, name: &str) { match self {