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]
fn unit_length(&self) -> R::Offset
[src]
Return the length of the line number program and header, not including the length of the encoded length itself.
fn version(&self) -> u16
[src]
Get the version of this header's line program.
fn header_length(&self) -> R::Offset
[src]
Get the length of the encoded line number program header, not including the length of the encoded length itself.
fn minimum_instruction_length(&self) -> u8
[src]
Get the minimum instruction length any opcode in this header's line program may have.
fn maximum_operations_per_instruction(&self) -> u8
[src]
Get the maximum number of operations each instruction in this header's line program may have.
fn default_is_stmt(&self) -> bool
[src]
Get the default value of the is_stmt
register for this header's line
program.
fn line_base(&self) -> i8
[src]
Get the line base for this header's line program.
fn line_range(&self) -> u8
[src]
Get the line range for this header's line program.
fn opcode_base(&self) -> u8
[src]
Get opcode base for this header's line program.
fn standard_opcode_lengths(&self) -> &R
[src]
The byte lengths of each standard opcode in this header's line program.
fn include_directories(&self) -> &[R]
[src]
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.
fn directory(&self, directory: u64) -> Option<R>
[src]
The include directory with the given directory index.
A directory index of 0 corresponds to the compilation unit directory.
fn file_names(&self) -> &[FileEntry<R>]
[src]
Get the list of source files that appear in this header's line program.
fn file(&self, file: u64) -> Option<&FileEntry<R>>
[src]
The source file with the given file index.
A file index of 0 corresponds to the compilation unit file.
fn raw_program_buf(&self) -> R
[src]
Get the raw, un-parsed EndianBuf
containing this header's line number
program.
use gimli::{LineNumberProgramHeader, EndianBuf, NativeEndian}; fn get_line_number_program_header<'a>() -> LineNumberProgramHeader<EndianBuf<'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());
fn opcodes(&self) -> OpcodesIter<R>
[src]
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,
R::Offset: Clone,
[src]
R::Offset: Clone,
R::Offset: Clone,
fn clone(&self) -> LineNumberProgramHeader<R>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<R: Debug + Reader> Debug for LineNumberProgramHeader<R> where
R::Offset: Debug,
R::Offset: Debug,
[src]
R::Offset: Debug,
R::Offset: Debug,
impl<R: Eq + Reader> Eq for LineNumberProgramHeader<R> where
R::Offset: Eq,
R::Offset: Eq,
[src]
R::Offset: Eq,
R::Offset: Eq,
impl<R: PartialEq + Reader> PartialEq for LineNumberProgramHeader<R> where
R::Offset: PartialEq,
R::Offset: PartialEq,
[src]
R::Offset: PartialEq,
R::Offset: PartialEq,
fn eq(&self, __arg_0: &LineNumberProgramHeader<R>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &LineNumberProgramHeader<R>) -> bool
[src]
This method tests for !=
.