Skip to content

Conversation

@loewenheim
Copy link
Contributor

@loewenheim loewenheim commented Jul 4, 2025

Previously, ProguardCache and ProguardMapper both implemented their (structurally very similar) parsing functions. These parsing functions left a lot to be desired; the simply took records in the order they were encountered and were unable to use later information to refine previously encountered information.

This PR splits the parsing logic out into a new module builder (please feel free to bikeshed about this), which contains a bunch of auxiliary types and the main ParsedProguardMapping type. ParsedProguardMapping can then in turn be processed into a ProguardMapper or ProguardCache, as required.

Fixes #54. Fixes RUSTPRO-4.

As a follow-up I would like to use the newly introduced ObfuscatedName and OriginalName types throughout the crate.

@loewenheim loewenheim requested a review from a team July 4, 2025 12:44
Comment on lines -21 to -25
StackFrame::with_file(
StackFrame::new(
"io.sentry.samples.instrumentation.ui.EditActivity",
"onCreate$lambda$1",
37,
"EditActivity",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the file names from these frames is correct—the previously returned file names were wrong and an example of the sort of bug this PR is meant to address.

@loewenheim loewenheim merged commit 2d3ec7b into master Jul 14, 2025
7 checks passed
@loewenheim loewenheim deleted the sebastian/classes-methods-2 branch July 14, 2025 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Restructure handling of classes and methods in mapper/cache

3 participants