# Interface: com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveTypeManager

A type manager specifically for primitives and built\-in types. It is itself managed by a [ITypeManager](ITypeManager).

## Method: addAlternateName
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- parameter: `name`, type: `java.lang.String`
- parameter: `setAsEffectiveName`, type: `boolean`
- return type: `boolean`

Description: Add an alternate name to a primitive type.
parameter: t: primitive type
parameter: name: alternate name
parameter: setAsEffectiveName: true to make the name effective
return: true if the name was added

## Method: addPrimitive
- parameter: `name`, type: `java.lang.String`
- parameter: `size`, type: `int`
- parameter: `category`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveCategory`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`

Description: Add a primitive or a compiler built\-in \(~primitive\) type.
parameter: name: primitive name
parameter: size: size of the primitive in bytes
parameter: category: primitive category
return: created primitive type

## Method: getAlternateNames
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- return type: `java.util.List<java.lang.String>`

Description: Retrieve alternate names for a primitive type.
parameter: t: primitive type
return: alternate names

## Method: getExactFloatBySize
- parameter: `size`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`

Description: Get the primitive float fitting on the exact amount of bytes.
parameter: size: exact size in bytes
return: primitive floating\-point type, or null

## Method: getExactIntegerBySize
- parameter: `size`, type: `int`
- parameter: `signed`, type: `boolean`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`

Description: Get the primitive integer fitting on the exact amount of bytes.
parameter: size: exact size in bytes
parameter: signed: signedness
return: primitive integer type, or null

## Method: getIntegerBySize
- parameter: `size`, type: `int`
- parameter: `signed`, type: `boolean`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`

Description: Get the smallest primitive integer having at least the provided amount of bytes.
parameter: size: minimal size in bytes
parameter: signed: signedness
return: primitive integer type, or null

## Method: getNames
- return type: `java.util.Collection<java.lang.String>`

Description: Retrieve a list of all primitive type names. Alternates are returned.
return: primitive type names

## Method: getSizes
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveSizes`

Description: Retrieve primitive type sizes.
return: primitive sizes

## Method: getType
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`

Description: Retrieve a primitive type by name.
parameter: name: primitive name
return: primitive type, or null

## Method: getTypes
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType>`

Description: Retrieve a list of the principal primitive types. Alternates are not returned.
return: principal primitive types

## Method: isCharacter
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- return type: `boolean`

Description: Determine whether a primitive type is a character type.
parameter: t: primitive type
return: true for a character type

## Method: isFloat
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- return type: `boolean`

Description: Determine whether a primitive type is a floating\-point type.
parameter: t: primitive type
return: true for a floating\-point type

## Method: isInteger
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- return type: `boolean`

Description: Determine whether a primitive type is an integer type.
parameter: t: primitive type
return: true for an integer type

## Method: isSignedInteger
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- return type: `boolean`

Description: Determine whether a primitive type is a signed integer type.
parameter: t: primitive type
return: true for a signed integer type

## Method: isUnsignedInteger
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- return type: `boolean`

Description: Determine whether a primitive type is an unsigned integer type.
parameter: t: primitive type
return: true for an unsigned integer type

## Method: isVoid
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- return type: `boolean`

Description: Determine whether a primitive type is void.
parameter: t: primitive type
return: true for void

## Method: setEffectiveName
- parameter: `t`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveType`
- parameter: `name`, type: `java.lang.String`
- return type: `boolean`

Description: Set the effective name of a primitive type.
parameter: t: primitive type
parameter: name: effective name
return: true if the effective name was set

