| 564 | /// The stackless bytecode. |
| 565 | #[derive(Debug, Clone, PartialEq, Eq)] |
| 566 | pub enum Bytecode { |
| 567 | Load(AttrId, TempIndex, Constant), |
| 568 | Assign(AttrId, TempIndex, TempIndex, AssignKind), |
| 569 | |
| 570 | Call( |
| 571 | AttrId, |
| 572 | Vec<TempIndex>, |
| 573 | Operation, |
| 574 | Vec<TempIndex>, |
| 575 | Option<AbortAction>, |
| 576 | ), |
| 577 | Ret(AttrId, Vec<TempIndex>), |
| 578 | |
| 579 | Branch(AttrId, Label, Label, TempIndex), |
| 580 | Jump(AttrId, Label), |
| 581 | VariantSwitch(AttrId, TempIndex, Vec<Label>), |
| 582 | Label(AttrId, Label), |
| 583 | Abort(AttrId, TempIndex), |
| 584 | Nop(AttrId), |
| 585 | |
| 586 | SaveMem(AttrId, MemoryLabel, QualifiedInstId<DatatypeId>), |
| 587 | Prop(AttrId, PropKind, Exp), |
| 588 | } |
| 589 | |
| 590 | impl Bytecode { |
| 591 | pub fn get_attr_id(&self) -> AttrId { |
nothing calls this directly
no outgoing calls
no test coverage detected