use mago_word::Word;
#[derive(Clone, Debug, PartialEq, Eq, Copy, Hash, PartialOrd, Ord)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MethodIdentifier {
class_name: Word,
method_name: Word,
}
impl MethodIdentifier {
#[inline]
#[must_use]
pub const fn new(class_name: Word, method_name: Word) -> Self {
Self { class_name, method_name }
}
#[inline]
#[must_use]
pub const fn get_class_name(&self) -> Word {
self.class_name
}
#[inline]
#[must_use]
pub const fn get_method_name(&self) -> Word {
self.method_name
}
#[inline]
#[must_use]
pub fn as_string(&self) -> String {
format!("{}::{}", self.class_name, self.method_name)
}
#[inline]
#[must_use]
pub fn get_key(&self) -> (Word, Word) {
(self.class_name, self.method_name)
}
}