APIdia Launch Partner
Top Description Methods
sun.jvm.hotspot.types

public Interface CIntegerType

extends Type
Known Direct Implementers
sun.jvm.hotspot.types.basic.BasicCIntegerType
Imports
java.util.*

This subinterface of Type provides accessors to deal with all C integer types. The observation is that, according to the C specification, there is no guarantee that the integer types of char, short, int, and long will not all be of the same size, meaning that it is incorrect to use any Java primitive type that is too small to hold all of these values when talking about C integer types, signed or unsigned.

Therefore we use long, the largest Java primitive type, universally to hold C integer field values (deciding that a ubiquitous change to BigInteger is not currently advantageous). Routines which read C integers from fields know the fields' sizes and signedness and read the appropriate number of bytes and handle sign- or zero- extension for signed and unsigned types, respectively. Unfortunately, since long is a signed 64-bit integer, there will be problems handling C's unsigned 64-bit integers, but these problems must be dealt with by the user.

Method Summary

Modifier and TypeMethod and Description
public boolean
isUnsigned()

Is this integer type unsigned?

public long
maxValue()

What is the maximum value of this type?

public long
minValue()

What is the minimum value of this type?

Inherited from sun.jvm.hotspot.types.Type:
getAddressFieldgetCIntegerFieldgetFieldgetFieldgetFieldgetFieldgetFieldgetFieldsgetJBooleanFieldgetJByteFieldgetJCharFieldgetJDoubleFieldgetJFloatFieldgetJIntFieldgetJLongFieldgetJShortFieldgetNamegetNarrowOopFieldgetOopFieldgetSizegetSuperclassisCIntegerTypeisCStringTypeisJavaPrimitiveTypeisOopTypeisPointerType

Method Detail

isUnsignedback to summary
public boolean isUnsigned()

Is this integer type unsigned?

maxValueback to summary
public long maxValue()

What is the maximum value of this type? Note that this will not work properly for unsigned long longs.

minValueback to summary
public long minValue()

What is the minimum value of this type? Note that this will not work properly for unsigned long longs.