public interface

IPrimitiveTypeManager

com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveTypeManager

Class Overview

A type manager specifically for primitives and built-in types. It is itself managed by a ITypeManager.

Summary

Public Methods
abstract boolean addAlternateName(IPrimitiveType t, String name, boolean setAsEffectiveName)
abstract IPrimitiveType addPrimitive(String name, int size, PrimitiveCategory category)
Add a primitive or a compiler built-in (~primitive) type.
abstract List<String> getAlternateNames(IPrimitiveType t)
abstract IPrimitiveType getExactFloatBySize(int size)
Get the primitive float fitting on the exact amount of bytes.
abstract IPrimitiveType getExactIntegerBySize(int size, boolean signed)
Get the primitive integer fitting on the exact amount of bytes.
abstract IPrimitiveType getIntegerBySize(int size, boolean signed)
Get the smallest primitive integer having at least the provided amount of bytes.
abstract Collection<String> getNames()
Retrieve a list of all primitive type names.
abstract IPrimitiveSizes getSizes()
abstract IPrimitiveType getType(String name)
abstract Collection<IPrimitiveType> getTypes()
Retrieve a list of the principal primitive types.
abstract boolean isCharacter(IPrimitiveType t)
abstract boolean isFloat(IPrimitiveType t)
abstract boolean isInteger(IPrimitiveType t)
abstract boolean isSignedInteger(IPrimitiveType t)
abstract boolean isUnsignedInteger(IPrimitiveType t)
abstract boolean isVoid(IPrimitiveType t)
abstract boolean setEffectiveName(IPrimitiveType t, String name)

Public Methods

public abstract boolean addAlternateName (IPrimitiveType t, String name, boolean setAsEffectiveName)

public abstract IPrimitiveType addPrimitive (String name, int size, PrimitiveCategory category)

Add a primitive or a compiler built-in (~primitive) type.

Parameters
size size of the primitive in bytes
category primitive category

public abstract List<String> getAlternateNames (IPrimitiveType t)

public abstract IPrimitiveType getExactFloatBySize (int size)

Get the primitive float fitting on the exact amount of bytes.

Parameters
size exact size in bytes

public abstract IPrimitiveType getExactIntegerBySize (int size, boolean signed)

Get the primitive integer fitting on the exact amount of bytes.

Parameters
size exact size in bytes

public abstract IPrimitiveType getIntegerBySize (int size, boolean signed)

Get the smallest primitive integer having at least the provided amount of bytes.

Parameters
size minimal size in bytes

public abstract Collection<String> getNames ()

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

public abstract IPrimitiveSizes getSizes ()

public abstract IPrimitiveType getType (String name)

public abstract Collection<IPrimitiveType> getTypes ()

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

public abstract boolean isCharacter (IPrimitiveType t)

public abstract boolean isFloat (IPrimitiveType t)

public abstract boolean isInteger (IPrimitiveType t)

public abstract boolean isSignedInteger (IPrimitiveType t)

public abstract boolean isUnsignedInteger (IPrimitiveType t)

public abstract boolean isVoid (IPrimitiveType t)

public abstract boolean setEffectiveName (IPrimitiveType t, String name)