Struct gimli::LineNumberProgramHeader [−][src]
pub struct LineNumberProgramHeader<R: Reader> { /* fields omitted */ }
A header for a line number program in the .debug_line
section, as defined
in section 6.2.4 of the standard.
Methods
impl<R: Reader> LineNumberProgramHeader<R>
[src]
impl<R: Reader> LineNumberProgramHeader<R>
pub fn unit_length(&self) -> R::Offset
[src]
pub fn unit_length(&self) -> R::Offset
Return the length of the line number program and header, not including the length of the encoded length itself.
pub fn version(&self) -> u16
[src]
pub fn version(&self) -> u16
Get the version of this header's line program.
pub fn header_length(&self) -> R::Offset
[src]
pub fn header_length(&self) -> R::Offset
Get the length of the encoded line number program header, not including the length of the encoded length itself.
pub fn minimum_instruction_length(&self) -> u8
[src]
pub fn minimum_instruction_length(&self) -> u8
Get the minimum instruction length any opcode in this header's line program may have.
pub fn maximum_operations_per_instruction(&self) -> u8
[src]
pub fn maximum_operations_per_instruction(&self) -> u8
Get the maximum number of operations each instruction in this header's line program may have.
pub fn default_is_stmt(&self) -> bool
[src]
pub fn default_is_stmt(&self) -> bool
Get the default value of the is_stmt
register for this header's line
program.
pub fn line_base(&self) -> i8
[src]
pub fn line_base(&self) -> i8
Get the line base for this header's line program.
pub fn line_range(&self) -> u8
[src]
pub fn line_range(&self) -> u8
Get the line range for this header's line program.
pub fn opcode_base(&self) -> u8
[src]
pub fn opcode_base(&self) -> u8
Get opcode base for this header's line program.
ⓘImportant traits for &'a mut Ipub fn standard_opcode_lengths(&self) -> &R
[src]
pub fn standard_opcode_lengths(&self) -> &R
The byte lengths of each standard opcode in this header's line program.
pub fn include_directories(&self) -> &[R]
[src]
pub fn include_directories(&self) -> &[R]
Get the set of include directories for this header's line program.
The compilation's current directory is not included in the return value, but is implicitly considered to be in the set per spec.
pub fn directory(&self, directory: u64) -> Option<R>
[src]
pub fn directory(&self, directory: u64) -> Option<R>
The include directory with the given directory index.
A directory index of 0 corresponds to the compilation unit directory.
pub fn file_names(&self) -> &[FileEntry<R>]
[src]
pub fn file_names(&self) -> &[FileEntry<R>]
Get the list of source files that appear in this header's line program.
pub fn file(&self, file: u64) -> Option<&FileEntry<R>>
[src]
pub fn file(&self, file: u64) -> Option<&FileEntry<R>>
The source file with the given file index.
A file index of 0 corresponds to the compilation unit file.
pub fn raw_program_buf(&self) -> R
[src]
pub fn raw_program_buf(&self) -> R
Get the raw, un-parsed EndianSlice
containing this header's line number
program.
use gimli::{LineNumberProgramHeader, EndianSlice, NativeEndian}; fn get_line_number_program_header<'a>() -> LineNumberProgramHeader<EndianSlice<'a, NativeEndian>> { // Get a line number program header from some offset in a // `.debug_line` section... } let header = get_line_number_program_header(); let raw_program = header.raw_program_buf(); println!("The length of the raw program in bytes is {}", raw_program.len());
pub fn opcodes(&self) -> OpcodesIter<R>
[src]
pub fn opcodes(&self) -> OpcodesIter<R>
Iterate over the opcodes in this header's line number program, parsing them as we go.
Trait Implementations
impl<R: Clone + Reader> Clone for LineNumberProgramHeader<R> where
R::Offset: Clone,
[src]
impl<R: Clone + Reader> Clone for LineNumberProgramHeader<R> where
R::Offset: Clone,
fn clone(&self) -> LineNumberProgramHeader<R>
[src]
fn clone(&self) -> LineNumberProgramHeader<R>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<R: Debug + Reader> Debug for LineNumberProgramHeader<R> where
R::Offset: Debug,
[src]
impl<R: Debug + Reader> Debug for LineNumberProgramHeader<R> where
R::Offset: Debug,
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<R: Eq + Reader> Eq for LineNumberProgramHeader<R> where
R::Offset: Eq,
[src]
impl<R: Eq + Reader> Eq for LineNumberProgramHeader<R> where
R::Offset: Eq,
impl<R: PartialEq + Reader> PartialEq for LineNumberProgramHeader<R> where
R::Offset: PartialEq,
[src]
impl<R: PartialEq + Reader> PartialEq for LineNumberProgramHeader<R> where
R::Offset: PartialEq,
fn eq(&self, other: &LineNumberProgramHeader<R>) -> bool
[src]
fn eq(&self, other: &LineNumberProgramHeader<R>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &LineNumberProgramHeader<R>) -> bool
[src]
fn ne(&self, other: &LineNumberProgramHeader<R>) -> bool
This method tests for !=
.