(
&mut self,
s: S,
d: D,
this_id: NodeID,
name: &Name,
index: &Expr,
value: &Expr,
)
| 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, |
no test coverage detected