public interface

ICElementFactory

com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICElementFactory

Class Overview

Factory interface for common AST objects. Concrete factories can be retrieved from the ICGlobalContext of the decompiled target.

AST type, class, field, method, label, identifier and constant elements can be created with their respective factories.

Summary

Public Methods
abstract ICArrayElement createArrayElement(ICExpression array, ICExpression eltIndex)
abstract ICAssignment createAssignment(ICLeftExpression left, ICExpression right)
abstract ICBlock createBlock(ICStatement... stms)
abstract ICBlock createBlock()
abstract ICBlock createBlock(ICStatement stm)
abstract ICBreak createBreak(ICLabel label)
abstract ICBreak createBreak()
abstract ICCall createCall(ICExpression callsite, List<ICExpression> arguments, List<ICMethod> candidates)
abstract ICCall createCall(ICMethod method, List<ICExpression> arguments)
abstract ICOperation createCast(ICType casttype, ICExpression expression)
abstract ICContinue createContinue(ICLabel label)
abstract ICContinue createContinue()
abstract ICDecl createDecl(ICIdentifier var)
abstract ICDoWhileStm createDoWhileStm(ICBlock b, ICPredicate p)
abstract ICForStm createForLoop(ICStatement pre, ICPredicate p, ICStatement post, ICBlock b)
abstract ICGoto createGoto(ICLabel label)
abstract ICIfStm createIfStm(ICPredicate p, ICStatement stm, ICStatement defaultStm)
abstract ICIfStm createIfStm(ICPredicate p, ICStatement stm)
abstract ICIfStm createIfStm(ICPredicate p, ICBlock b)
abstract ICInstanceField createInstanceField(ICField field, ICExpression instance, boolean pointed)
abstract ICJumpFar createJumpFar(ICExpression jumpsite)
abstract ICCustomStatement createNativeStatement(long nativeAddress)
abstract ICOperation createOperation(COperatorType operatorType, ICExpression opnd1, ICExpression opnd2)
abstract ICOperation createOperation(ICOperator operator, ICExpression opnd1, ICExpression opnd2)
abstract ICOperation createOperation(ICOperator operator, ICExpression opnd1)
abstract ICOperation createOperation(COperatorType operatorType, ICExpression opnd1)
abstract ICOperation createOperation(COperatorType operatorType, ICExpression opnd1, ICExpression opnd2, ICExpression opnd3)
abstract ICOperation createOperation(ICOperator operator, ICExpression opnd1, ICExpression opnd2, ICExpression opnd3)
abstract ICPredicate createPredicate(ICExpression e)
abstract ICReturn createReturn(ICExpression e)
abstract ICReturn createReturn()
abstract ICSwitchStm createSwitchStm(ICExpression value)
abstract ICThrow createThrow(ICExpression throwable)
abstract ICTuple createTuple(List<ICExpression> elements)
abstract ICWhileStm createWhileStm(ICPredicate p, ICBlock b)

Public Methods

public abstract ICArrayElement createArrayElement (ICExpression array, ICExpression eltIndex)

public abstract ICAssignment createAssignment (ICLeftExpression left, ICExpression right)

public abstract ICBlock createBlock (ICStatement... stms)

public abstract ICBlock createBlock ()

public abstract ICBlock createBlock (ICStatement stm)

public abstract ICBreak createBreak (ICLabel label)

public abstract ICBreak createBreak ()

public abstract ICCall createCall (ICExpression callsite, List<ICExpression> arguments, List<ICMethod> candidates)

public abstract ICCall createCall (ICMethod method, List<ICExpression> arguments)

public abstract ICOperation createCast (ICType casttype, ICExpression expression)

public abstract ICContinue createContinue (ICLabel label)

public abstract ICContinue createContinue ()

public abstract ICDecl createDecl (ICIdentifier var)

public abstract ICDoWhileStm createDoWhileStm (ICBlock b, ICPredicate p)

public abstract ICForStm createForLoop (ICStatement pre, ICPredicate p, ICStatement post, ICBlock b)

public abstract ICGoto createGoto (ICLabel label)

public abstract ICIfStm createIfStm (ICPredicate p, ICStatement stm, ICStatement defaultStm)

public abstract ICIfStm createIfStm (ICPredicate p, ICStatement stm)

public abstract ICIfStm createIfStm (ICPredicate p, ICBlock b)

public abstract ICInstanceField createInstanceField (ICField field, ICExpression instance, boolean pointed)

public abstract ICJumpFar createJumpFar (ICExpression jumpsite)

public abstract ICCustomStatement createNativeStatement (long nativeAddress)

public abstract ICOperation createOperation (COperatorType operatorType, ICExpression opnd1, ICExpression opnd2)

public abstract ICOperation createOperation (ICOperator operator, ICExpression opnd1, ICExpression opnd2)

public abstract ICOperation createOperation (ICOperator operator, ICExpression opnd1)

public abstract ICOperation createOperation (COperatorType operatorType, ICExpression opnd1)

public abstract ICOperation createOperation (COperatorType operatorType, ICExpression opnd1, ICExpression opnd2, ICExpression opnd3)

public abstract ICOperation createOperation (ICOperator operator, ICExpression opnd1, ICExpression opnd2, ICExpression opnd3)

public abstract ICPredicate createPredicate (ICExpression e)

public abstract ICReturn createReturn (ICExpression e)

public abstract ICReturn createReturn ()

public abstract ICSwitchStm createSwitchStm (ICExpression value)

public abstract ICThrow createThrow (ICExpression throwable)

public abstract ICTuple createTuple (List<ICExpression> elements)

public abstract ICWhileStm createWhileStm (ICPredicate p, ICBlock b)