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

@Ser public class FunctionOptype extends Object
Custom operator ("function") used to build custom operations.
  • Field Details

    • FLAG_OPND_HAVE_SAME_BITSIZE

      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.
      See Also:
    • FLAG_PASSTHRU_FOR_ECALL_DFA_CALCULATION

      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)
       
      See Also:
  • Method Details

    • getName

      public String getName()
    • getFlags

      public int getFlags()
    • hasFlags

      public boolean hasFlags(int expected)
    • getMinOperandCount

      public int getMinOperandCount()
    • getMaxOperandCount

      public int getMaxOperandCount()
    • getResultBitsize

      public int getResultBitsize(IEGeneric... opnds)
      Returns:
    • validateOperands

      public void validateOperands(IEGeneric... opnds)
    • toString

      public String toString()
      Overrides:
      toString in class Object