Struct a2lfile::A2lFile

source ·
pub struct A2lFile {
    pub asap2_version: Option<Asap2Version>,
    pub a2ml_version: Option<A2mlVersion>,
    pub project: Project,
    /* private fields */
}
Expand description

Contains all the objects of an A2lfile

An instance of this struct is returned when an a2l file is loaded successfully

Fields§

§asap2_version: Option<Asap2Version>§a2ml_version: Option<A2mlVersion>§project: Project

Implementations§

source§

impl A2lFile

source

pub fn new(project: Project) -> Self

source§

impl A2lFile

source

pub fn write_to_string(&self) -> String

construct a string containing the whole a2l data of this A2lFile object

source

pub fn write<P: AsRef<Path>>( &self, path: P, banner: Option<&str> ) -> Result<(), A2lError>

write this A2lFile object to the given file the banner will be placed inside a comment at the beginning of the file; “/” an “/” should not be part of the banner string

§Errors

A2lError::FileWriteError if writing the file fails.

source

pub fn merge_modules(&mut self, merge_file: &mut A2lFile)

Merge another a2l file on the MODULE level.

The input file and the merge file must each contain exactly one MODULE. The contents will be merged so that there is one merged MODULE in the output.

source

pub fn check(&self, log_msgs: &mut Vec<String>)

perform a consistency check on the data.

source

pub fn sort(&mut self)

sort the data in the a2l file. This changes the order in which the blocks will be written to an output file

source

pub fn sort_new_items(&mut self)

sort newly added or merged blocks into sensible locations between the existing blocks

source

pub fn cleanup(&mut self)

cleanup: remove unused GROUPs, RECORD_LAYOUTs, COMPU_METHODs, COMPU_(V)TABs and UNITs

source

pub fn ifdata_cleanup(&mut self)

cleanup IF_DATA: remove any IF_DATA blocks that could not be parsed using either the specification provided during load or the specification in the A2ML block in the file

Trait Implementations§

source§

impl A2lObject<()> for A2lFile

source§

fn get_layout(&self) -> &BlockInfo<()>

get a reference to the BlockInfo that describes the layout of the a2l object
source§

fn get_layout_mut(&mut self) -> &mut BlockInfo<()>

get a mutable reference to the BlockInfo that describes the layout of the a2l object
source§

fn reset_location(&mut self)

reset the location information on the a2l object. It will be treated like a new object when writing a file
source§

fn merge_includes(&mut self)

reset the reference to an include file on this objct and its children. This causes the object to be written into the output file instead of referenced through /include “filename”
source§

fn get_line(&self) -> u32

get the source line number from which the current a2l object was loaded. Returns 0 if the object was newly created and not loaded from a file
source§

impl Clone for A2lFile

source§

fn clone(&self) -> A2lFile

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for A2lFile

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for A2lFile

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.