Unimplemented api functions in binaryninjaapi.h

Open
#2,750 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
cpp

Research direction

Start by reviewing the unchecked functions listed in binaryninjaapi.h, including InstructionTextToken, Segment, Section, Type, Function, Repository, and CustomDebugInfoParser APIs. Compare each with surrounding declarations and existing API patterns; done means every listed function is either implemented or its definition is removed, with appropriate validation for the affected API.

Written by the indexing model from the issue text.

Description

Component: API Effort: Trivial Impact: Low

Binary Ninja Version
2.4.3090-dev

Describe the bug
A decent number of functions in binaryninjaapi.h are completely unimplemented. We should either remove their definitions or implement them.

Here's a list of everything CLion found in binaryninjapi.h:

  • QualifiedName::GetAPIObject() const
  • NameSpace::GetAPIObject() const
  • InstructionTextToken::InstructionTextToken(uint8_t confidence, BNInstructionTextTokenType t, const std::string& txt)
  • Segment::GetRelocationsInRange(uint64_t addr, uint64_t size) const
  • Section::Section(const std::string& name, uint64_t start, uint64_t length, BNSectionSemantics semantics, const std::string& type, uint64_t align, uint64_t entrySize, const std::string& linkedSection, const std::string& infoSection, uint64_t infoData, bool autoDefined)
  • BinaryView::AddUndoAction(UndoAction* action)
  • BinaryView::CreateStructureBasedOnFieldAccesses(const QualifiedName& type)
  • Variable::Variable(BNVariableSourceType type, uint64_t storage)
  • Type::IsVolatile() const
  • Type::GetScope() const
  • TypeBuilder::IsVolatile() const
  • TypeBuilder::GetScope() const
  • TypeBuilder::SetScope(const Confidence& scope)
  • TypeBuilder::IsReferenceOfType(BNNamedTypeReferenceClass refType)
  • Function::DeleteAutoVariable(const Variable& var)
  • Function::ReleaseAdvancedAnalysisData(size_t count)
  • Repository::GetLocalReference() const
  • Repository::GetRemoteReference() const
  • Repository::GetPluginDirectory() const
  • SimplifyName::operator std::string() const
  • CustomDebugInfoParser::Register(const std::string& name)
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.