Trait TraceWriter
Source pub trait TraceWriter: AbstractTraceWriter {
Show 40 methods
// Required methods
fn begin_writing_trace_events(
&mut self,
path: &Path,
) -> Result<(), Box<dyn Error>>;
fn finish_writing_trace_events(&mut self) -> Result<(), Box<dyn Error>>;
// Provided methods
fn begin_writing_trace_metadata(
&mut self,
path: &Path,
) -> Result<(), Box<dyn Error>> { ... }
fn begin_writing_trace_paths(
&mut self,
path: &Path,
) -> Result<(), Box<dyn Error>> { ... }
fn start(&mut self, path: &Path, line: Line) { ... }
fn ensure_path_id(&mut self, path: &Path) -> PathId { ... }
fn ensure_function_id(
&mut self,
function_name: &str,
path: &Path,
line: Line,
) -> FunctionId { ... }
fn ensure_type_id(&mut self, kind: TypeKind, lang_type: &str) -> TypeId { ... }
fn ensure_raw_type_id(&mut self, typ: TypeRecord) -> TypeId { ... }
fn ensure_variable_id(&mut self, variable_name: &str) -> VariableId { ... }
fn register_path(&mut self, path: &Path) { ... }
fn register_function(&mut self, name: &str, path: &Path, line: Line) { ... }
fn register_step(&mut self, path: &Path, line: Line) { ... }
fn register_call(
&mut self,
function_id: FunctionId,
args: Vec<FullValueRecord>,
) { ... }
fn arg(&mut self, name: &str, value: ValueRecord) -> FullValueRecord { ... }
fn register_return(&mut self, return_value: ValueRecord) { ... }
fn register_special_event(&mut self, kind: EventLogKind, content: &str) { ... }
fn to_raw_type(&self, kind: TypeKind, lang_type: &str) -> TypeRecord { ... }
fn register_type(&mut self, kind: TypeKind, lang_type: &str) { ... }
fn register_raw_type(&mut self, typ: TypeRecord) { ... }
fn register_asm(&mut self, instructions: &[String]) { ... }
fn register_variable_with_full_value(
&mut self,
name: &str,
value: ValueRecord,
) { ... }
fn register_variable_name(&mut self, variable_name: &str) { ... }
fn register_full_value(
&mut self,
variable_id: VariableId,
value: ValueRecord,
) { ... }
fn register_compound_value(&mut self, place: Place, value: ValueRecord) { ... }
fn register_cell_value(&mut self, place: Place, value: ValueRecord) { ... }
fn assign_compound_item(
&mut self,
place: Place,
index: usize,
item_place: Place,
) { ... }
fn assign_cell(&mut self, place: Place, new_value: ValueRecord) { ... }
fn register_variable(&mut self, variable_name: &str, place: Place) { ... }
fn drop_variable(&mut self, variable_name: &str) { ... }
fn assign(&mut self, variable_name: &str, rvalue: RValue, pass_by: PassBy) { ... }
fn bind_variable(&mut self, variable_name: &str, place: Place) { ... }
fn drop_variables(&mut self, variable_names: &[String]) { ... }
fn simple_rvalue(&mut self, variable_name: &str) -> RValue { ... }
fn compound_rvalue(&mut self, variable_dependencies: &[String]) -> RValue { ... }
fn drop_last_step(&mut self) { ... }
fn add_event(&mut self, event: TraceLowLevelEvent) { ... }
fn append_events(&mut self, events: &mut Vec<TraceLowLevelEvent>) { ... }
fn finish_writing_trace_metadata(&mut self) -> Result<(), Box<dyn Error>> { ... }
fn finish_writing_trace_paths(&mut self) -> Result<(), Box<dyn Error>> { ... }
}