public interface

IDOperation

implements IDExpression
com.pnfsoftware.jeb.core.units.code.android.ir.IDOperation
Known Indirect Subclasses

Class Overview

dexdec IR operation expression. Operations include: arithmetic and bitwise operations, boolean expressions, the ternary (conditional) expression, cast operations, etc.

An operation is made of one operator and 1, 2, or 3 operands:
- 1 operand for unary expressions, e.g a cast
- 2 operands for duary expressions, e.g. an addition
- 3 operands for ternary expressions, e.g. a conditional

Examples:

 c = a + 1;
     ^^^^^

 e = x ? c: d;
     ^^^^^^^^
     
 s = (short)x;
     ^^^^^^^^
        
 list = (List)obj;
        ^^^^^^^^^
 

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.android.ir.IDElement
Public Methods
abstract IDExpression getLeft()
abstract IJavaOperator getOperator()
Get the expression's operator.
abstract IDPredicate getPredicate()
abstract IDExpression getRight()
abstract boolean isCast(IJavaType wantedType)
Convenience operation to determine whether this is operation is a cast to the provided type.
abstract boolean isCast()
Convenience operation to determine whether this is operation is a cast.
abstract boolean isConditional()
Convenience operation to determine whether this is the tertiary conditional expression.
abstract boolean isUnary()
Convenience operation to determine whether this is a unary expression.
abstract void setLeft(IDExpression exp)
abstract void setOperator(JavaOperatorType operatorType, IJavaOperatorFactory of)
Set the expression operator.
abstract void setOperator(IJavaOperator operator)
Set the expression operator.
abstract void setRight(IDExpression exp)
[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 IDExpression getLeft ()

Returns
  • null for unary expressions

public abstract IJavaOperator getOperator ()

Get the expression's operator.

public abstract IDPredicate getPredicate ()

Returns
  • null for non conditional expressions

public abstract IDExpression getRight ()

Returns
  • never null

public abstract boolean isCast (IJavaType wantedType)

Convenience operation to determine whether this is operation is a cast to the provided type.

Parameters
wantedType checked cast type
Returns
  • true if this operation is a cast to wantedType

public abstract boolean isCast ()

Convenience operation to determine whether this is operation is a cast.

Returns
  • true if this operation is a cast operation

public abstract boolean isConditional ()

Convenience operation to determine whether this is the tertiary conditional expression.

public abstract boolean isUnary ()

Convenience operation to determine whether this is a unary expression.

public abstract void setLeft (IDExpression exp)

public abstract void setOperator (JavaOperatorType operatorType, IJavaOperatorFactory of)

Set the expression operator. Alternate method.

public abstract void setOperator (IJavaOperator operator)

Set the expression operator.

public abstract void setRight (IDExpression exp)