(&self)
| 364 | |
| 365 | impl StackMapFrame { |
| 366 | pub fn len(&self) -> usize { |
| 367 | match self { |
| 368 | &StackMapFrame::SameFrame { tag: _ } => 1, |
| 369 | &StackMapFrame::SameLocals1StackItemFrame{ tag: _, ref stack } => 1 + stack.len(), |
| 370 | &StackMapFrame::SameLocals1StackItemFrameExtended { offset_delta: _, ref stack } => 3 + stack.len(), |
| 371 | &StackMapFrame::ChopFrame { tag: _, offset_delta: _ } => 3, |
| 372 | &StackMapFrame::SameFrameExtended { offset_delta: _ } => 3, |
| 373 | &StackMapFrame::AppendFrame { tag: _, offset_delta: _, ref locals } => 3 + locals.iter().fold(0, |acc, x| acc + x.len()), |
| 374 | &StackMapFrame::FullFrame { offset_delta: _, ref locals, ref stack } => 7 + locals.iter().fold(0, |acc, x| acc + x.len()) + stack.iter().fold(0, |acc, x| acc + x.len()), |
| 375 | &StackMapFrame::FutureUse { tag: _ } => 0 |
| 376 | } |
| 377 | } |
| 378 | } |
| 379 | |
| 380 | #[derive(Debug)] |
no outgoing calls