(&mut self, n: i32, init: TableElement)
| 108 | } |
| 109 | |
| 110 | pub(crate) fn grow(&mut self, n: i32, init: TableElement) -> Result<(), Trap> { |
| 111 | if n < 0 { |
| 112 | return Err(crate::Trap::TableOutOfBounds { offset: 0, len: 1, max: self.elements.len() }); |
| 113 | } |
| 114 | |
| 115 | let len = n as usize + self.elements.len(); |
| 116 | let max = self.kind.size_max.unwrap_or(MAX_TABLE_SIZE) as usize; |
| 117 | if len > max { |
| 118 | return Err(crate::Trap::TableOutOfBounds { offset: len, len: 1, max: self.elements.len() }); |
| 119 | } |
| 120 | |
| 121 | self.elements.resize(len, init); |
| 122 | Ok(()) |
| 123 | } |
| 124 | |
| 125 | pub(crate) fn size(&self) -> i32 { |
| 126 | self.elements.len() as i32 |
no test coverage detected