Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

work on fixing records #208

Merged
merged 33 commits into from
Sep 11, 2024
Merged

work on fixing records #208

merged 33 commits into from
Sep 11, 2024

Conversation

ix0rai
Copy link
Member

@ix0rai ix0rai commented Jul 15, 2024

  • added indexing for libraries (currently indexes JRE by default)
    • separate step from normal indexing, performed after
    • disabled by default on existing indexers
    • we recommend that plugins implement a check for a profile arg on whether or not to run indexers on libs
  • removes hardcoding for reserved method sigs/names
  • reintroduces name proposal for record components
    • names are dynamically proposed for methods when the corresponding field is named
    • methods are linked to fields based on checking bytecode in an indexer
      • if getters for record fields are overridden, this will not work!
      • this shouldn't be a major issue as a decompiler will never hide an overridden getter, meaning the user can manually map it.
    • works using two new services: enigma:record_component_indexer and enigma:record_component_proposer
  • deprecates EntryMapping#DEFAULT to be renamed to EntryMapping#OBFUSCATED
  • fixes EntryMapping and Enigma using different regexes to validate plugin ids
  • ignores parameters of canonical constructors in stat generation as they are hidden by decompilers
    • also ignores parameter of equals() as it is hidden by the decompiler
    • maybe in the future we should validate bytecode on these, and include in stats if they're hidden?

@ix0rai ix0rai added bug Something isn't working enhancement New feature or request backend affects the enigma backend labels Jul 15, 2024
@ix0rai ix0rai marked this pull request as draft July 15, 2024 02:51
@ix0rai
Copy link
Member Author

ix0rai commented Sep 1, 2024

todo index enum as well to decrease hardcoding

@ix0rai ix0rai linked an issue Sep 1, 2024 that may be closed by this pull request
@ix0rai ix0rai marked this pull request as ready for review September 2, 2024 03:59
@ix0rai ix0rai mentioned this pull request Sep 8, 2024
Copy link
Member

@IotaBread IotaBread left a comment

Choose a reason for hiding this comment

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

Looks great!

@ix0rai ix0rai merged commit f3f4139 into QuiltMC:master Sep 11, 2024
2 checks passed
@ix0rai ix0rai deleted the record-fixes branch September 11, 2024 03:05
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 enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Some method parameters are incorrectly marked as mappable
2 participants