StackViewLine Class Reference

Detailed Description

A single line in the stack view.

Public Types

enum class  Type {
  Variable , Member , OffsetRef , Annotation ,
  Fill
}
 

Public Member Functions

StackViewLine::Type type () const
 Get this line's type. More...
 
int64_t offset () const
 Get the stack frame offset for this line. More...
 
size_t width () const
 Get the number of bytes this line represents on the stack. More...
 
size_t level () const
 Get the hierarchical level of this line. More...
 
void setLevel (size_t level)
 Set the hierarchical level for this line. More...
 
TypeRef dataType () const
 Get the type of the data this line represents. More...
 
void setDataType (TypeRef vnat)
 Set the type of the data this line represents. Does not affect the underlying variable. More...
 
BinaryNinja::Variable variable () const
 Get the variable represented by this line. More...
 
void setVariable (const BinaryNinja::Variable &var)
 Set the variable represented by this line. More...
 
void setWidthOverride (size_t width)
 Set a width override for this line. More...
 
bool isDataBacked () const
 Is this line backed by data or is it ephermeral? More...
 
bool isReferenced () const
 Is the data represented by this line referenced in the current function? More...
 
void setIsReferenced (bool isReferenced)
 Set whether the data represented by this line is referenced in the current function. More...
 
bool isUnused () const
 Is the data represented by this line unused in the current function? More...
 
void setIsUnused (bool isUnused)
 Set whether the data represented by this line unused in the current function. More...
 
BinaryNinja::DisassemblyTextLine content () const
 Get the content (with no offset) for this line. More...
 
BinaryNinja::DisassemblyTextLine contentWithOffset (bool hide=false) const
 Get the content with the leading offset (or padding) for this line. More...
 
size_t contentWidth (bool withOffset=true) const
 Get the width of the total line content in characters. More...
 
void appendToken (const BinaryNinja::InstructionTextToken &token)
 Append a single token to this line's content. More...
 
void appendTokens (const std::vector< BinaryNinja::InstructionTextToken > &tokens)
 Append multiple tokens to this line's content. More...
 
void indent (size_t levels=1)
 Indent this line's content. More...
 

Static Public Member Functions

static StackViewLine variable (int64_t offset, const BinaryNinja::VariableNameAndType &vnat, PlatformRef plat)
 Create a new line for a variable. More...
 
static StackViewLine member (int64_t offset, const BinaryNinja::VariableNameAndType &vnat, PlatformRef plat)
 Create a new line for a struct or array member. More...
 
static StackViewLine offsetRef (int64_t base, uint64_t offset, size_t size)
 Create a new line for a struct offset reference. More...
 
static StackViewLine annotation (int64_t offset, const std::string &text)
 Create a new annotation line. More...
 
static StackViewLine fill (int64_t offset, size_t length)
 Create a new fill line. More...
 

Member Enumeration Documentation

◆ Type

enum class StackViewLine::Type
strong
Enumerator
Variable 
Member 
OffsetRef 
Annotation 
Fill 

Member Function Documentation

◆ annotation()

static StackViewLine StackViewLine::annotation ( int64_t  offset,
const std::string &  text 
)
static

Create a new annotation line.

◆ appendToken()

void StackViewLine::appendToken ( const BinaryNinja::InstructionTextToken token)

Append a single token to this line's content.

◆ appendTokens()

void StackViewLine::appendTokens ( const std::vector< BinaryNinja::InstructionTextToken > &  tokens)

Append multiple tokens to this line's content.

◆ content()

BinaryNinja::DisassemblyTextLine StackViewLine::content ( ) const

Get the content (with no offset) for this line.

◆ contentWidth()

size_t StackViewLine::contentWidth ( bool  withOffset = true) const

Get the width of the total line content in characters.

◆ contentWithOffset()

BinaryNinja::DisassemblyTextLine StackViewLine::contentWithOffset ( bool  hide = false) const

Get the content with the leading offset (or padding) for this line.

◆ dataType()

TypeRef StackViewLine::dataType ( ) const

Get the type of the data this line represents.

◆ fill()

static StackViewLine StackViewLine::fill ( int64_t  offset,
size_t  length 
)
static

Create a new fill line.

◆ indent()

void StackViewLine::indent ( size_t  levels = 1)

Indent this line's content.

◆ isDataBacked()

bool StackViewLine::isDataBacked ( ) const

Is this line backed by data or is it ephermeral?

◆ isReferenced()

bool StackViewLine::isReferenced ( ) const

Is the data represented by this line referenced in the current function?

◆ isUnused()

bool StackViewLine::isUnused ( ) const

Is the data represented by this line unused in the current function?

◆ level()

size_t StackViewLine::level ( ) const

Get the hierarchical level of this line.

◆ member()

static StackViewLine StackViewLine::member ( int64_t  offset,
const BinaryNinja::VariableNameAndType vnat,
PlatformRef  plat 
)
static

Create a new line for a struct or array member.

◆ offset()

int64_t StackViewLine::offset ( ) const

Get the stack frame offset for this line.

◆ offsetRef()

static StackViewLine StackViewLine::offsetRef ( int64_t  base,
uint64_t  offset,
size_t  size 
)
static

Create a new line for a struct offset reference.

◆ setDataType()

void StackViewLine::setDataType ( TypeRef  vnat)

Set the type of the data this line represents. Does not affect the underlying variable.

◆ setIsReferenced()

void StackViewLine::setIsReferenced ( bool  isReferenced)

Set whether the data represented by this line is referenced in the current function.

◆ setIsUnused()

void StackViewLine::setIsUnused ( bool  isUnused)

Set whether the data represented by this line unused in the current function.

◆ setLevel()

void StackViewLine::setLevel ( size_t  level)

Set the hierarchical level for this line.

◆ setVariable()

void StackViewLine::setVariable ( const BinaryNinja::Variable var)

Set the variable represented by this line.

◆ setWidthOverride()

void StackViewLine::setWidthOverride ( size_t  width)

Set a width override for this line.

◆ type()

StackViewLine::Type StackViewLine::type ( ) const

Get this line's type.

◆ variable() [1/2]

BinaryNinja::Variable StackViewLine::variable ( ) const

Get the variable represented by this line.

◆ variable() [2/2]

static StackViewLine StackViewLine::variable ( int64_t  offset,
const BinaryNinja::VariableNameAndType vnat,
PlatformRef  plat 
)
static

Create a new line for a variable.

◆ width()

size_t StackViewLine::width ( ) const

Get the number of bytes this line represents on the stack.


The documentation for this class was generated from the following file: