Interface ICConstantFactory
Builder for C AST constants.
-
Method Summary
Modifier and TypeMethodDescriptioncreateChar(int ch) Create a character.createFloat32(float v) Create a single-precision 32-bit IEEE-754 floating point immediate.createFloat64(double v) Create a double-precision 64-bit IEEE-754 floating point immediate.createInt(BigInteger v, int bitsize) Create an integer.createInt32(int v) Create a regular integer fitting on 32 bits.createInt64(long v) Create a long integer fitting on 64 bits.createIntLarge(BigInteger v, int bitsize) Create a arbitrary large integer.createPointer(long address) Create a pointer immediate.createString(String value, long id) Create a string constant.createString(String value, long id, Integer index) Create a string constant.createUnsignedInt32(int v) Create an unsigned integer fitting on 32 bits.createUnsignedInt64(long v) Create an unsigned long integer fitting on 64 bits.getNull()Retrieve the constant representing a null reference.
-
Method Details
-
createString
Create a string constant.- Parameters:
value-id-- Returns:
-
createString
Create a string constant.- Parameters:
value-id-index- optional string item index; in practice, the index corresponds toICodeItem.getIndex(); if provided, the C renderer may be able to fetch additional information about the string to be rendered- Returns:
-
getNull
ICConstantPointer getNull()Retrieve the constant representing a null reference.- Returns:
-
createPointer
Create a pointer immediate. The address space is limited to 64-bit. To retrieve the NULL pointer, usegetNull().- Parameters:
address-- Returns:
-
createInt
Create an integer.- Parameters:
v-bitsize-- Returns:
-
createChar
Create a character.- Parameters:
ch-- Returns:
-
createInt32
Create a regular integer fitting on 32 bits.- Parameters:
v-- Returns:
-
createInt64
Create a long integer fitting on 64 bits.- Parameters:
v-- Returns:
-
createUnsignedInt32
Create an unsigned integer fitting on 32 bits.- Parameters:
v-- Returns:
-
createUnsignedInt64
Create an unsigned long integer fitting on 64 bits.- Parameters:
v-- Returns:
-
createIntLarge
Create a arbitrary large integer.- Parameters:
v-bitsize-- Returns:
-
createFloat32
Create a single-precision 32-bit IEEE-754 floating point immediate.- Parameters:
v-- Returns:
-
createFloat64
Create a double-precision 64-bit IEEE-754 floating point immediate.- Parameters:
v-- Returns:
-