Skip to content

Conversation

supersaiyansubtlety
Copy link
Member

fixes #91

repurposed from my fix for #274 that was plagued by AnalyzerExceptions when used by QMap

this:

  • exposes Enigma's lib index
  • adds and exposes a combined index containing both lib and main jar entries to Enigma
  • passes the combined index to EntryRemapper instead of the main jar index
  • disallows renaming entries that trace back to libs (effects Interface implementers with external method implementations prevent naming in GUI #274, but only for the limited number of lib classes currently indexed)
  • removes java/lang/Object's explicit exclusion from InheritanceIndex (added in this commit)

Also adds but does not use JavaClassProvider which can be swapped for ClasspathClassProvider to fix more of #274 once AnalyzerExceptions are sorted.

When squash-merging, be sure to change the commit message about fixing #274 so it doesn't get prematurely closed.

add JavaClassProvider which provied java.* classes
add CombinedJarIndex which indexes main jar and libraries
added missing translation for "progress.jar.indexing.libraries"
keep lib classes whose fields or methods are referenced in the main jar
check if method is indexed in EnigmaProject::isLibraryMethodOverride
@supersaiyansubtlety supersaiyansubtlety self-assigned this Sep 26, 2025
@supersaiyansubtlety supersaiyansubtlety added bug Something isn't working backend affects the enigma backend labels Sep 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend affects the enigma backend bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[bug] enigma does not consider that classes all override java/lang/Object
1 participant