Skip to content

Internal proposers - #333

Open
supersaiyansubtlety wants to merge 33 commits into
QuiltMC:develop/2.8from
supersaiyansubtlety:internal-proposers
Open

supersaiyansubtlety wants to merge 33 commits into
QuiltMC:develop/2.8from
supersaiyansubtlety:internal-proposers

Conversation

@supersaiyansubtlety

@supersaiyansubtlety supersaiyansubtlety commented Nov 9, 2025 •

Copy link
Copy Markdown
Member

based on #340 rebased

Internal proposers, used to make several fixes and improvements:

  • Enums:
    • prevent renaming of enum constants (but still propose their names)
  • Record components; default record component getters should automatically get their component's name #314
    • propose getter names matching the corresponding field already implemented
    • prevent directly naming definite getters
    • allow indirectly renaming the field corresponding to the getter via the getter instead
    • give the getter the same highlighting as the field
No synthetic field/local proposals for now

These require more context from vineflower to reliably match corresponding fields/locals.

  • Anomymous class synthetic fields corresponding to outer method params; Issue with lost parameter connection #252
    • propose field names matching the corresponding param
    • allow indirectly renaming params corresponding to fields via the fields
    • give the field the same highlighting as the param

@supersaiyansubtlety supersaiyansubtlety self-assigned this Nov 9, 2025
@supersaiyansubtlety supersaiyansubtlety added bug Something isn't working enhancement new feature or request backend affects the enigma backend wip in progress labels Nov 9, 2025
@supersaiyansubtlety
supersaiyansubtlety force-pushed the internal-proposers branch 5 times, most recently from b85e5bb to 9288418 Compare November 9, 2025 20:58
@supersaiyansubtlety
supersaiyansubtlety changed the base branch from develop/2.7 to develop/2.8 November 18, 2025 15:44
…Entry and use it in DeclarationSNippetPanel::resolveTarget
… method in EnigmaProject

extract EnigmaProject::getRepresentative which doesn't special-case constructors
use getRepresentative instead of getNameTarget in DeclarationSnippetPanel::resolveTarget
use getRepresentative in AbstractEditorPanel::resolveReference
… offsets

fix inconsistent issues related to a single invoker param linked to multiple invoked params
…ers whose fields get un-mapped; fixes saving non-name mappings for getters
@supersaiyansubtlety
supersaiyansubtlety marked this pull request as ready for review September 2, 2026 22:37
@supersaiyansubtlety

Copy link
Copy Markdown
Member Author

This is ready

I removed the synthetic field/local stuff because it requires more info from vineflower.

Also note that for records, "give the getter the same highlighting as the field" is theoretically true, but since #340 makes getter indexing match decompilers and decompilers hide definite getters, you never actually see it in the gui.
You would see it when using the BYTECODE decompiler, except remapToNameable here is false for BYTECODE.

@supersaiyansubtlety supersaiyansubtlety removed the wip in progress label Sep 2, 2026
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.

default record component getters should automatically get their component's name Issue with lost parameter connection

1 participant