Loading...

Build revisions

VCS Root Revision
(jetbrains.git) minecraft-dev/MinecraftDev dec3e63ba62b9f6aaea5ad6a21bc011fe087b08c
Permalink
Feature/mixin quantifiers (#2643 )

* Refactor: Split MemberInfo and MemberReference.

Mixin MemberInfo strings are only tangentially related to concrete MemberReferences. We also introduce a MemberMatcher superinterface for resolving things.

* Refactor: Parse MemberInfos properly and represent Quantifiers.

* Fix: Handle all cases properly in AmbiguousReferenceInspection.

Really nothing is "ambiguous" (except perhaps to the reader), it's just that Mixin's default behaviour of matching the first method in a given class is unexpected, but I'll leave the terminology for now. Adding any explicit quantifier suppresses this inspection, including `{1}` if that's really what's desired.

Additionally, adding a wildcard is almost never the correct fix. Choosing one of the available descriptors is what should be offered instead, but I'll leave that too for now.

* New: Handle maximum values in quantifiers.

* Fix: Fix incorrect filter stats emptiness check.

Causes targets not to show as unresolved when they should.

* New: Handle minimum values in quantifiers.

* Fix: Account for individual Mixin `method` strings contributing multiple methods.

* Fix: Don't report injector signature issues in methods where we find no targets.

* Move insn resolution failure message to field in failure class, and add message for min quantifier not satisfied

---------

Co-authored-by: joe <[email protected]>
⁠ llamalad7 33 files  dec3e63ba62b 09 Sep 26 17:45

Pin build

Cancel

Add build comment

Cancel

Promote Build

Add build comment

Cancel

Mute test

Server communication failure

Server is unavailable

Server stopped or communication with the server is not possible due to network failure.

Server shutdown started.

Please relogin to continue your work.

Run custom build

TODO

Loading related builds...
Cancel

Responsibility

Edit tags

Cancel

Loading...

Are you sure?

Cancel

Please type to confirm.
Cancel