/// Return the list of global opcodes. pubfn global_opcodes<'data>(&self, data: &'data [u8]) -> Result<&>'data [Opcode]> {
data.read_slice_at::<Opcode>( self.global_opcodes_offset().into(), self.global_opcodes_len() as usize,
)
.ok_or(ReadError::GlobalOpcodes)
}
/// Return the list of pages. pubfn pages<'data>(&self, data: &'data [u8]) -> Result<&'data [PageEntry]> {
data.read_slice_at::<PageEntry>(self.pages_offset().into(), self.pages_len() as usize)
.ok_or(ReadError::Pages)
}
}
pubfn functions<'data>(&self, data: &'data [u8], page_offset: u32) -> Result<&'data [U32]> { let relative_functions_offset = self.functions_offset(); let functions_len: usize = self.functions_len().into(); let functions_offset = page_offset as u64 + relative_functions_offset as u64;
data.read_slice_at::<U32>(functions_offset, functions_len)
.ok_or(ReadError::CompressedPageFunctions)
}
/// Return the list of local opcodes. pubfn local_opcodes<'data>(
&self,
data: &'data [u8],
page_offset: u32,
) -> Result<&'data [Opcode]> { let relative_local_opcodes_offset = self.local_opcodes_offset(); let local_opcodes_len: usize = self.local_opcodes_len().into(); let local_opcodes_offset = page_offset as u64 + relative_local_opcodes_offset as u64;
data.read_slice_at::<Opcode>(local_opcodes_offset, local_opcodes_len)
.ok_or(ReadError::LocalOpcodes)
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.