public class

FunctionOptype

extends Object
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.FunctionOptype

Class Overview

Custom operator ("function") used to build custom operations.

Summary

Constants
int FLAG_OPND_HAVE_SAME_BITSIZE This flag indicates that all operands should have the same bitsize.
int FLAG_PASSTHRU_FOR_ECALL_DFA_CALCULATION This flag is reserved for single-operand custom operators to specify that the operand is to be treated as a pointer, and the data pointed by it should be treated as such during data-flow calculations.
Public Methods
int getFlags()
int getMaxOperandCount()
int getMinOperandCount()
String getName()
int getResultBitsize(IEGeneric... opnds)
boolean hasFlags(int expected)
String toString()
void validateOperands(IEGeneric... opnds)
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int FLAG_OPND_HAVE_SAME_BITSIZE

This flag indicates that all operands should have the same bitsize. This check is enforced when creating operations using such a function type.

Constant Value: 1 (0x00000001)

public static final int FLAG_PASSTHRU_FOR_ECALL_DFA_CALCULATION

This flag is reserved for single-operand custom operators to specify that the operand is to be treated as a pointer, and the data pointed by it should be treated as such during data-flow calculations.

This is especially important for DFA calculations of IECall. Essentially, code like:

 call(1, 2, 3, CUSTOM_FUNC(par_stkvarX))
 
will be treated the same as the following by IECall.getDefUse():
 call(1, 2, 3, par_stkvarX)
 

Constant Value: 16 (0x00000010)

Public Methods

public int getFlags ()

public int getMaxOperandCount ()

public int getMinOperandCount ()

public String getName ()

public int getResultBitsize (IEGeneric... opnds)

public boolean hasFlags (int expected)

public String toString ()

public void validateOperands (IEGeneric... opnds)