public interface

ICConstantFactory

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

Class Overview

Builder for C AST constants.

Summary

Public Methods
abstract ICConstantInteger<?> createChar(int ch)
Create a character.
abstract ICConstantFloat32 createFloat32(float v)
Create a single-precision 32-bit IEEE-754 floating point immediate.
abstract ICConstantFloat64 createFloat64(double v)
Create a double-precision 64-bit IEEE-754 floating point immediate.
abstract ICConstantInteger<?> createInt(BigInteger v, int bitsize)
Create an integer.
abstract ICConstantInteger32 createInt32(int v)
Create a regular integer fitting on 32 bits.
abstract ICConstantInteger64 createInt64(long v)
Create a long integer fitting on 64 bits.
abstract ICConstantIntegerLarge createIntLarge(BigInteger v, int bitsize)
Create a arbitrary large integer.
abstract ICConstantPointer createPointer(long address)
Create a pointer immediate.
abstract ICConstantString createString(String value, long id, Integer index)
Create a string constant.
abstract ICConstantString createString(String value, long id)
Create a string constant.
abstract ICConstantInteger32 createUnsignedInt32(int v)
Create an unsigned integer fitting on 32 bits.
abstract ICConstantInteger64 createUnsignedInt64(long v)
Create an unsigned long integer fitting on 64 bits.
abstract ICConstantPointer getNull()
Retrieve the constant representing a null reference.

Public Methods

public abstract ICConstantInteger<?> createChar (int ch)

Create a character.

public abstract ICConstantFloat32 createFloat32 (float v)

Create a single-precision 32-bit IEEE-754 floating point immediate.

public abstract ICConstantFloat64 createFloat64 (double v)

Create a double-precision 64-bit IEEE-754 floating point immediate.

public abstract ICConstantInteger<?> createInt (BigInteger v, int bitsize)

Create an integer.

public abstract ICConstantInteger32 createInt32 (int v)

Create a regular integer fitting on 32 bits.

public abstract ICConstantInteger64 createInt64 (long v)

Create a long integer fitting on 64 bits.

public abstract ICConstantIntegerLarge createIntLarge (BigInteger v, int bitsize)

Create a arbitrary large integer.

public abstract ICConstantPointer createPointer (long address)

Create a pointer immediate. The address space is limited to 64-bit. To retrieve the NULL pointer, use getNull().

public abstract ICConstantString createString (String value, long id, Integer index)

Create a string constant.

Parameters
index optional string item index; in practice, the index corresponds to getIndex(); if provided, the C renderer may be able to fetch additional information about the string to be rendered

public abstract ICConstantString createString (String value, long id)

Create a string constant.

public abstract ICConstantInteger32 createUnsignedInt32 (int v)

Create an unsigned integer fitting on 32 bits.

public abstract ICConstantInteger64 createUnsignedInt64 (long v)

Create an unsigned long integer fitting on 64 bits.

public abstract ICConstantPointer getNull ()

Retrieve the constant representing a null reference.