diff --git a/src/vcd/signal.rs b/src/vcd/signal.rs index 541221e..7f40451 100644 --- a/src/vcd/signal.rs +++ b/src/vcd/signal.rs @@ -48,11 +48,16 @@ impl<'a> Signal<'a> { signal_enum.name() } - pub fn name_with_size(&self) -> String { + pub fn name_with_index(&self) -> String { let Signal(signal_enum) = &self; signal_enum.name_with_index() } + pub fn index(&self) -> Option { + let Signal(signal_enum) = &self; + signal_enum.index() + } + pub fn path(&self) -> &[String] { match self.0 { SignalEnum::Data { path, .. } => path, @@ -240,6 +245,13 @@ impl SignalEnum { SignalEnum::Alias { name, .. } => name.clone(), } } + + pub fn index(&self) -> Option { + match self { + SignalEnum::Data { index, .. } => index.clone(), + SignalEnum::Alias { .. } => None, + } + } } // helper functions ultimately used by Signal's query functions later on