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:
-