Skip to main content

ObjectLineMapping

Struct ObjectLineMapping 

Source
pub struct ObjectLineMapping { /* private fields */ }
Expand description

A line mapping extracted from an object.

This is only intended as an intermediate structure for serialization, not for lookups.

Implementations§

Source§

impl ObjectLineMapping

Source

pub fn from_object<'data, 'object, O, E>(object: &'object O) -> Result<Self, E>
where O: ObjectLike<'data, 'object, Error = E>,

Create a line mapping from the given object.

The mapping is constructed by iterating over all the source files referenced by object and parsing Il2cpp source_info records from each. The referenced C++ source files are read from the local filesystem.

Source

pub fn from_object_with_provider<'data, 'object, O, E, B, P>( object: &'object O, provider: P, ) -> Result<Self, E>
where O: ObjectLike<'data, 'object, Error = E>, B: AsRef<[u8]>, P: FnMut(&str) -> Option<B>,

Create a line mapping from the given object, obtaining the referenced C++ source file contents from provider.

This is the filesystem-free counterpart of Self::from_object, for environments without filesystem access (e.g. WebAssembly): the object’s referenced source paths are enumerated via its debug session, and each is passed to provider, which returns the file’s bytes (or None to skip it). Only files containing Il2cpp source_info records contribute to the mapping.

Source

pub fn to_writer<W: Write>(self, writer: &mut W) -> Result<bool>

Serializes the line mapping to the given writer as JSON.

The mapping is serialized in the form of nested objects: C++ file => C# file => C++ line => C# line

Returns false if the resulting JSON did not contain any mappings.

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<I, T> ExtractContext<I, ()> for T

Source§

fn extract_context(self, _original_input: I)

Given the context attached to a nom error, and given the original input to the nom parser, extract more the useful context information. 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<I> RecreateContext<I> for I

Source§

fn recreate_context(_original_input: I, tail: I) -> I

Given the original input, as well as the context reported by nom, recreate a context in the original string where the error occurred. Read more
Source§

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

Source§

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>,

Source§

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.