Skip to main content

VariableRenderer

Trait VariableRenderer 

Source
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§

Source

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.

Source

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 name
  • value - The Perl value to render
  • reference_id - The variables reference ID for expansion
Source

fn render_children( &self, value: &PerlValue, start: usize, count: usize, ) -> Vec<RenderedVariable>

Render the children of an expandable value.

§Arguments
  • value - The parent value to expand
  • start - The starting index for pagination (0-based)
  • count - The maximum number of children to return
§Returns

A vector of rendered child variables.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§