| Comment: |
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]> |
Status: | all builds with this change have finished |
| Revision: | dec3e63ba62b9f6aaea5ad6a21bc011fe087b08c | VCS Roots: | minecraft-dev/MinecraftDev (Git), minecraft-dev/MinecraftDev Nightly (Git) |
| Parent revisions: | b8a594f8f8413eef6bdfa66bbd13b3dbc2392af8 | ||
| User: | Unknown (none of TeamCity users defined llamalad7 username in their VCS username settings) | ||
Changed: 33 files (3 added, 30 edited) in