Interface IPrimitiveTypeManager
A type manager specifically for primitives and built-in types. It is itself managed by a
ITypeManager.-
Method Summary
Modifier and TypeMethodDescriptionbooleanaddAlternateName(IPrimitiveType t, String name, boolean setAsEffectiveName) Add an alternate name to a primitive type.addPrimitive(String name, int size, PrimitiveCategory category) Add a primitive or a compiler built-in (~primitive) type.Retrieve alternate names for a primitive type.getExactFloatBySize(int size) Get the primitive float fitting on the exact amount of bytes.getExactIntegerBySize(int size, boolean signed) Get the primitive integer fitting on the exact amount of bytes.getIntegerBySize(int size, boolean signed) Get the smallest primitive integer having at least the provided amount of bytes.getNames()Retrieve a list of all primitive type names.getSizes()Retrieve primitive type sizes.Retrieve a primitive type by name.getTypes()Retrieve a list of the principal primitive types.booleanDetermine whether a primitive type is a character type.booleanDetermine whether a primitive type is a floating-point type.booleanDetermine whether a primitive type is an integer type.booleanDetermine whether a primitive type is a signed integer type.booleanDetermine whether a primitive type is an unsigned integer type.booleanDetermine whether a primitive type is void.booleansetEffectiveName(IPrimitiveType t, String name) Set the effective name of a primitive type.
-
Method Details
-
addPrimitive
Add a primitive or a compiler built-in (~primitive) type.- Parameters:
name- primitive namesize- size of the primitive in bytescategory- primitive category- Returns:
- created primitive type
-
getSizes
IPrimitiveSizes getSizes()Retrieve primitive type sizes.- Returns:
- primitive sizes
-
getTypes
Collection<IPrimitiveType> getTypes()Retrieve a list of the principal primitive types. Alternates are not returned.- Returns:
- principal primitive types
-
getNames
Collection<String> getNames()Retrieve a list of all primitive type names. Alternates are returned.- Returns:
- primitive type names
-
getType
Retrieve a primitive type by name.- Parameters:
name- primitive name- Returns:
- primitive type, or null
-
getExactIntegerBySize
Get the primitive integer fitting on the exact amount of bytes.- Parameters:
size- exact size in bytessigned- signedness- Returns:
- primitive integer type, or null
-
getIntegerBySize
Get the smallest primitive integer having at least the provided amount of bytes.- Parameters:
size- minimal size in bytessigned- signedness- Returns:
- primitive integer type, or null
-
getExactFloatBySize
Get the primitive float fitting on the exact amount of bytes.- Parameters:
size- exact size in bytes- Returns:
- primitive floating-point type, or null
-
isVoid
Determine whether a primitive type is void.- Parameters:
t- primitive type- Returns:
- true for void
-
isCharacter
Determine whether a primitive type is a character type.- Parameters:
t- primitive type- Returns:
- true for a character type
-
isInteger
Determine whether a primitive type is an integer type.- Parameters:
t- primitive type- Returns:
- true for an integer type
-
isSignedInteger
Determine whether a primitive type is a signed integer type.- Parameters:
t- primitive type- Returns:
- true for a signed integer type
-
isUnsignedInteger
Determine whether a primitive type is an unsigned integer type.- Parameters:
t- primitive type- Returns:
- true for an unsigned integer type
-
isFloat
Determine whether a primitive type is a floating-point type.- Parameters:
t- primitive type- Returns:
- true for a floating-point type
-
getAlternateNames
Retrieve alternate names for a primitive type.- Parameters:
t- primitive type- Returns:
- alternate names
-
addAlternateName
Add an alternate name to a primitive type.- Parameters:
t- primitive typename- alternate namesetAsEffectiveName- true to make the name effective- Returns:
- true if the name was added
-
setEffectiveName
Set the effective name of a primitive type.- Parameters:
t- primitive typename- effective name- Returns:
- true if the effective name was set
-