pub trait VariableRenderer {
// Required methods
fn render(&self, name: &str, value: &PerlValue) -> RenderedVariable;
fn render_with_reference(
&self,
name: &str,
value: &PerlValue,
reference_id: i64,
) -> RenderedVariable;
fn render_children(
&self,
value: &PerlValue,
start: usize,
count: usize,
) -> Vec<RenderedVariable>;
}Expand description
Trait for rendering Perl values into DAP variables.
Implementations of this trait convert PerlValue instances into
RenderedVariable structures suitable for the DAP protocol.
Required Methods§
Sourcefn render(&self, name: &str, value: &PerlValue) -> RenderedVariable
fn render(&self, name: &str, value: &PerlValue) -> RenderedVariable
Render a Perl value into a DAP variable.
§Arguments
name- The variable name (e.g., “$foo”)value- The Perl value to render
§Returns
A RenderedVariable suitable for the DAP protocol.
Sourcefn render_with_reference(
&self,
name: &str,
value: &PerlValue,
reference_id: i64,
) -> RenderedVariable
fn render_with_reference( &self, name: &str, value: &PerlValue, reference_id: i64, ) -> RenderedVariable
Render a Perl value with a specific variables reference ID.
This is used when the value is expandable and needs a reference ID for lazy loading of children.
§Arguments
name- The variable namevalue- The Perl value to renderreference_id- The variables reference ID for expansion
Sourcefn render_children(
&self,
value: &PerlValue,
start: usize,
count: usize,
) -> Vec<RenderedVariable>
fn render_children( &self, value: &PerlValue, start: usize, count: usize, ) -> Vec<RenderedVariable>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".