Trait ValueVisitor
Source pub trait ValueVisitor<'t> {
type Res;
Show 18 methods
// Required methods
fn get_ty(&self, name: &Path) -> &'t Ty;
fn visit_bool(&mut self, v: bool) -> Result<Self::Res, Error>;
fn visit_int8(&mut self, v: i8) -> Result<Self::Res, Error>;
fn visit_int16(&mut self, v: i16) -> Result<Self::Res, Error>;
fn visit_int32(&mut self, v: i32) -> Result<Self::Res, Error>;
fn visit_int64(&mut self, v: i64) -> Result<Self::Res, Error>;
fn visit_uint8(&mut self, v: u8) -> Result<Self::Res, Error>;
fn visit_uint16(&mut self, v: u16) -> Result<Self::Res, Error>;
fn visit_uint32(&mut self, v: u32) -> Result<Self::Res, Error>;
fn visit_uint64(&mut self, v: u64) -> Result<Self::Res, Error>;
fn visit_float32(&mut self, v: f32) -> Result<Self::Res, Error>;
fn visit_float64(&mut self, v: f64) -> Result<Self::Res, Error>;
fn visit_text(&mut self, v: &str) -> Result<Self::Res, Error>;
fn visit_tuple(
&mut self,
fields: &[Value],
ty_fields: &'t [TyTupleField],
) -> Result<Self::Res, Error>;
fn visit_array(
&mut self,
items: &[Value],
ty_items: &'t Ty,
) -> Result<Self::Res, Error>;
fn visit_enum(
&mut self,
tag: usize,
inner: &Value,
ty_variants: &'t [TyEnumVariant],
) -> Result<Self::Res, Error>;
// Provided methods
fn get_mat_ty(&self, ty: &'t Ty) -> &'t Ty { ... }
fn visit_value(
&mut self,
value: &Value,
ty: &'t Ty,
) -> Result<Self::Res, Error> { ... }
}