Vector35 / Vector35/binaryninja-api
Improve conditional pattern
Open
Nobody has claimed this yet.
Component: Core
Core: HLIL
Effort: Low
IL Optimization
Impact: Medium
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
What is the feature you'd like to have?
// For the pattern:
if (a)
if (b)
goto label
do_something()
break
label:
// Simplify to:
if (a && !b)
do_something()
break
Internally shared file treasure sloth surfboard sing @ 1407717f8
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no source file or test; begin by searching the Binary Ninja API repository for conditional-pattern or decompiler logic and inspect nearby tests. Done means the shown nested-if/goto form is simplified to the requested conditional form without changing behavior, with regression coverage where appropriate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100