Interface ICConstantFactory


@Ser public interface ICConstantFactory
Builder for C AST constants.
  • Method Details

    • createString

      ICConstantString createString(String value, long id)
      Create a string constant.
      Parameters:
      value -
      id -
      Returns:
    • createString

      ICConstantString createString(String value, long id, Integer index)
      Create a string constant.
      Parameters:
      value -
      id -
      index - optional string item index; in practice, the index corresponds to ICodeItem.getIndex(); if provided, the C renderer may be able to fetch additional information about the string to be rendered
      Returns:
    • getNull

      Retrieve the constant representing a null reference.
      Returns:
    • createPointer

      ICConstantPointer createPointer(long address)
      Create a pointer immediate. The address space is limited to 64-bit. To retrieve the NULL pointer, use getNull().
      Parameters:
      address -
      Returns:
    • createInt

      ICConstantInteger<?> createInt(BigInteger v, int bitsize)
      Create an integer.
      Parameters:
      v -
      bitsize -
      Returns:
    • createChar

      ICConstantInteger<?> createChar(int ch)
      Create a character.
      Parameters:
      ch -
      Returns:
    • createInt32

      ICConstantInteger32 createInt32(int v)
      Create a regular integer fitting on 32 bits.
      Parameters:
      v -
      Returns:
    • createInt64

      ICConstantInteger64 createInt64(long v)
      Create a long integer fitting on 64 bits.
      Parameters:
      v -
      Returns:
    • createUnsignedInt32

      ICConstantInteger32 createUnsignedInt32(int v)
      Create an unsigned integer fitting on 32 bits.
      Parameters:
      v -
      Returns:
    • createUnsignedInt64

      ICConstantInteger64 createUnsignedInt64(long v)
      Create an unsigned long integer fitting on 64 bits.
      Parameters:
      v -
      Returns:
    • createIntLarge

      ICConstantIntegerLarge createIntLarge(BigInteger v, int bitsize)
      Create a arbitrary large integer.
      Parameters:
      v -
      bitsize -
      Returns:
    • createFloat32

      ICConstantFloat32 createFloat32(float v)
      Create a single-precision 32-bit IEEE-754 floating point immediate.
      Parameters:
      v -
      Returns:
    • createFloat64

      ICConstantFloat64 createFloat64(double v)
      Create a double-precision 64-bit IEEE-754 floating point immediate.
      Parameters:
      v -
      Returns: