Enumeration member display should attempt to find minimal matching expression rather than checking if its a bitfield enumeration

Open
#6,754 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Quiet
Tech stack
cpp

Research direction

Reproduce the behavior using the database "happy river sings easily" and inspect table entries at 0x3d7 and 0x3d9 with the enum entries present and removed as described. Trace where enumeration members are selected for display; done means each value uses the best matching expression or provides a way to resolve ambiguous entries.

Written by the indexing model from the issue text.

Description

Component: Core Effort: Low Impact: Low

Version and Platform (required):

  • Binary Ninja Version: 5.0.7290
  • OS: macOS
  • OS Version: 15.4.1
  • CPU Architecture: x64

Bug Description:
If an enum is applied to a list and there are some ambiguous entries, there isn't a way to determine which enum entry should be displayed.

Steps To Reproduce:

  1. Open database: "happy river sings easily"
  2. Go to table entry at 0x3d7 and 0x3d9
  3. Notice how these are not displayed ideally.
  4. Remove C_NONE and all the 0xf entries from the enum.
  5. Notice how some are displayed better, but there are still problems.

Expected Behavior:
The best display would be picked for each one. Or at least some way for me to help it figure out which to display.

Screenshots/Video Recording:

Image

vs

Image
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Vector35/binaryninja-api

All issues in Vector35/binaryninja-api

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.