[−][src]Crate proguard
This crate implements handling of proguard mapping files.
The main use case is to re-map classes or complete stack frames, but it can also be used to parse a proguard mapping line-by-line.
The uuid
feature also allows getting the UUID of the proguard file.
Examples
let mapping = r#" android.arch.core.internal.SafeIterableMap -> a.a.a.b.c: 13:13:java.util.Map$Entry eldest():168:168 -> a "#; let mapper = proguard::ProguardMapper::from(mapping); // re-mapping a classname assert_eq!( mapper.remap_class("a.a.a.b.c"), Some("android.arch.core.internal.SafeIterableMap"), ); // re-map a stack frame assert_eq!( mapper .remap_frame(&proguard::StackFrame::new("a.a.a.b.c", "a", 13)) .collect::<Vec<_>>(), vec![proguard::StackFrame::new( "android.arch.core.internal.SafeIterableMap", "eldest", 168 )], );
Structs
LineMapping | A proguard line mapping. |
ParseError | Error when parsing a proguard mapping line. |
ProguardMapper | A Proguard Remapper. |
ProguardMapping | A Proguard Mapping file. |
ProguardRecordIter | An Iterator yielding |
RemappedFrameIter | An Iterator over remapped StackFrames. |
StackFrame | A Java StackFrame. |
Enums
ParseErrorKind | The specific parse Error. |
ProguardRecord | A Proguard Mapping Record. |