Enum proguard::ProguardRecord [−][src]
A Proguard Mapping Record.
Variants
A Proguard Header.
Fields of Header
A Class Mapping.
Fields of Class
A Field Mapping.
Fields of Field
A Method Mapping.
Fields of Method
ty: &'s strReturn Type of the method.
original: &'s strOriginal name of the method.
obfuscated: &'s strObfuscated name of the method.
arguments: &'s strArguments of the method as raw string.
original_class: Option<&'s str>Original class of a foreign inlined method.
line_mapping: Option<LineMapping>Optional line mapping of the method.
Implementations
impl<'s> ProguardRecord<'s>[src]
pub fn try_parse(line: &'s [u8]) -> Result<Self, ParseError<'s>>[src]
Parses a line from a proguard mapping file.
Examples
use proguard::ProguardRecord; // Headers let parsed = ProguardRecord::try_parse(b"# compiler: R8"); assert_eq!( parsed, Ok(ProguardRecord::Header { key: "compiler", value: Some("R8") }) ); // Class Mappings let parsed = ProguardRecord::try_parse(b"android.arch.core.executor.ArchTaskExecutor -> a.a.a.a.c:"); assert_eq!( parsed, Ok(ProguardRecord::Class { original: "android.arch.core.executor.ArchTaskExecutor", obfuscated: "a.a.a.a.c" }) ); // Field let parsed = ProguardRecord::try_parse( b" android.arch.core.executor.ArchTaskExecutor sInstance -> a", ); assert_eq!( parsed, Ok(ProguardRecord::Field { ty: "android.arch.core.executor.ArchTaskExecutor", original: "sInstance", obfuscated: "a", }) ); // Method without line mappings let parsed = ProguardRecord::try_parse( b" java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object) -> b", ); assert_eq!( parsed, Ok(ProguardRecord::Method { ty: "java.lang.Object", original: "putIfAbsent", obfuscated: "b", arguments: "java.lang.Object,java.lang.Object", original_class: None, line_mapping: None, }) ); // Inlined method from foreign class let parsed = ProguardRecord::try_parse( b" 1016:1016:void com.example1.domain.MyBean.doWork():16:16 -> buttonClicked", ); assert_eq!( parsed, Ok(ProguardRecord::Method { ty: "void", original: "doWork", obfuscated: "buttonClicked", arguments: "", original_class: Some("com.example1.domain.MyBean"), line_mapping: Some(proguard::LineMapping { startline: 1016, endline: 1016, original_startline: Some(16), original_endline: Some(16), }), }) );
Trait Implementations
impl<'s> Clone for ProguardRecord<'s>[src]
fn clone(&self) -> ProguardRecord<'s>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<'s> Debug for ProguardRecord<'s>[src]
impl<'s> PartialEq<ProguardRecord<'s>> for ProguardRecord<'s>[src]
fn eq(&self, other: &ProguardRecord<'s>) -> bool[src]
fn ne(&self, other: &ProguardRecord<'s>) -> bool[src]
impl<'s> StructuralPartialEq for ProguardRecord<'s>[src]
Auto Trait Implementations
impl<'s> RefUnwindSafe for ProguardRecord<'s>
impl<'s> Send for ProguardRecord<'s>
impl<'s> Sync for ProguardRecord<'s>
impl<'s> Unpin for ProguardRecord<'s>
impl<'s> UnwindSafe for ProguardRecord<'s>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,