MCPcopy Create free account
hub / github.com/aspizu/goboscript / list_insert

Method list_insert

src/codegen/stmt.rs:273–303  ·  view source on GitHub ↗
(
        &mut self,
        s: S,
        d: D,
        this_id: NodeID,
        name: &Name,
        index: &Expr,
        value: &Expr,
    )

Source from the content-addressed store, hash-verified

271 }
272
273 pub fn list_insert(
274 &mut self,
275 s: S,
276 d: D,
277 this_id: NodeID,
278 name: &Name,
279 index: &Expr,
280 value: &Expr,
281 ) -> io::Result<()> {
282 let index_id = self.id.new_id();
283 let value_id = self.id.new_id();
284 self.begin_inputs()?;
285 self.input(s, d, "INDEX", index, index_id)?;
286 self.input(s, d, "ITEM", value, value_id)?;
287 self.end_obj()?; // inputs
288 match s.qualify_name(d, name) {
289 Some(QualifiedName::List(qualified_name, _)) => {
290 self.single_field_id("LIST", &qualified_name)?
291 }
292 Some(QualifiedName::Var(..)) => {
293 d.report(
294 DiagnosticKind::UnrecognizedList(name.basename().clone()),
295 &name.span(),
296 );
297 }
298 None => {}
299 }
300 self.end_obj()?; // node
301 self.expr(s, d, index, index_id, this_id)?;
302 self.expr(s, d, value, value_id, this_id)
303 }
304
305 pub fn set_list_index(
306 &mut self,

Callers 2

set_list_indexMethod · 0.80
stmtMethod · 0.80

Calls 10

new_idMethod · 0.80
begin_inputsMethod · 0.80
end_objMethod · 0.80
qualify_nameMethod · 0.80
single_field_idMethod · 0.80
reportMethod · 0.80
basenameMethod · 0.80
exprMethod · 0.80
inputMethod · 0.45
spanMethod · 0.45

Tested by

no test coverage detected