public interface

IDVar

implements IDExpression
com.pnfsoftware.jeb.core.units.code.android.ir.IDVar

Class Overview

dexdec IR interface used to represent a variable (a.k.a. an identifier). Variables are factory-created by an IR context. Within a context, two variables with the same id are the same object.

Variables may be single-slot (encoded using a single register) or double-slot (encoded using a pair of registers).

Examples:

 int x = 1;
     ^  // single-slot register
 long y = 2L;
      ^  // double-slot register
 

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.android.ir.IDElement
Public Methods
abstract IDVar duplicate()
Pseudo-duplication.
abstract int getId()
Get this variable id.
abstract String getPreferredName()
Retrieve the preferred name of this identifier, if there is one.
abstract boolean same(IDVar other)
This method is deprecated. use #equals(Object) instead
abstract void setPreferredName(String name)
Set the optional preferred name of this identifier.
abstract boolean usesPairOfRegisters()
Determine whether this variable uses two slots (registers).
abstract boolean usesSingleRegister()
Determine whether this variable uses one slot (register) only.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.IInstructionOperand
From interface com.pnfsoftware.jeb.core.units.code.android.ir.IDElement
From interface com.pnfsoftware.jeb.core.units.code.android.ir.IDExpression

Public Methods

public abstract IDVar duplicate ()

Pseudo-duplication. For variables, this method returns this.

Returns
  • a deep copy of this element; the type of the duplicated element should be the same as this element's type

public abstract int getId ()

Get this variable id.

public abstract String getPreferredName ()

Retrieve the preferred name of this identifier, if there is one. Typically, the preferred is set to the debug name, if one is provided.

Returns
  • preferred name, may be null (in which case, a name would be auto-generated)

public abstract boolean same (IDVar other)

This method is deprecated.
use #equals(Object) instead

public abstract void setPreferredName (String name)

Set the optional preferred name of this identifier.

Parameters
name optional preferred name

public abstract boolean usesPairOfRegisters ()

Determine whether this variable uses two slots (registers).

public abstract boolean usesSingleRegister ()

Determine whether this variable uses one slot (register) only.