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]

Return the length of the line number program and header, not including the length of the encoded length itself.

Get the version of this header's line program.

Get the length of the encoded line number program header, not including the length of the encoded length itself.

Get the minimum instruction length any opcode in this header's line program may have.

Get the maximum number of operations each instruction in this header's line program may have.

Get the default value of the is_stmt register for this header's line program.

Get the line base for this header's line program.

Get the line range for this header's line program.

Get opcode base for this header's line program.

Important traits for &'a mut I

The byte lengths of each standard opcode in this header's line program.

Important traits for &'a [u8]

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.

The include directory with the given directory index.

A directory index of 0 corresponds to the compilation unit directory.

Important traits for &'a [u8]

Get the list of source files that appear in this header's line program.

The source file with the given file index.

A file index of 0 corresponds to the compilation unit file.

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());

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]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<R: Debug + Reader> Debug for LineNumberProgramHeader<R> where
    R::Offset: Debug
[src]

Formats the value using the given formatter. Read more

impl<R: Eq + Reader> Eq for LineNumberProgramHeader<R> where
    R::Offset: Eq
[src]

impl<R: PartialEq + Reader> PartialEq for LineNumberProgramHeader<R> where
    R::Offset: PartialEq
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

impl<R> Send for LineNumberProgramHeader<R> where
    R: Send,
    <R as Reader>::Offset: Send

impl<R> Sync for LineNumberProgramHeader<R> where
    R: Sync,
    <R as Reader>::Offset: Sync