at.dms.kjc
Class CByteType

java.lang.Object
  extended by at.dms.util.Utils
      extended by at.dms.kjc.CType
          extended by at.dms.kjc.CNumericType
              extended by at.dms.kjc.CByteType
All Implemented Interfaces:
Constants, DeepCloneable, Serializable

public class CByteType
extends CNumericType

This class represents the Java type "byte". There is only one instance of this type.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class at.dms.kjc.CType
instance, type
 
Fields inherited from class at.dms.util.Utils
EMPTY_LIST, getForLoopCallers
 
Fields inherited from interface at.dms.kjc.Constants
CMP_VERSION, JAV_CLASS, JAV_CLONE, JAV_CLONEABLE, JAV_CONSTRUCTOR, JAV_ERROR, JAV_EXCEPTION, JAV_INIT, JAV_LENGTH, JAV_NAME_SEPARATOR, JAV_OBJECT, JAV_OUTER_THIS, JAV_RUNTIME, JAV_RUNTIME_EXCEPTION, JAV_STATIC_INIT, JAV_STRING, JAV_STRINGBUFFER, JAV_THIS, JAV_THROWABLE, OPE_BAND, OPE_BNOT, OPE_BOR, OPE_BSR, OPE_BXOR, OPE_EQ, OPE_GE, OPE_GT, OPE_LE, OPE_LNOT, OPE_LT, OPE_MINUS, OPE_NE, OPE_PERCENT, OPE_PLUS, OPE_POSTDEC, OPE_POSTINC, OPE_PREDEC, OPE_PREINC, OPE_SIMPLE, OPE_SL, OPE_SLASH, OPE_SR, OPE_STAR, TID_ARRAY, TID_BIT, TID_BOOLEAN, TID_BYTE, TID_CHAR, TID_CLASS, TID_DOUBLE, TID_FLOAT, TID_INT, TID_LONG, TID_SHORT, TID_VECTOR, TID_VOID, VECTOR_EMPTY
 
Fields inherited from interface at.dms.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INLINE, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, ATT_CODE, ATT_CONSTANTVALUE, ATT_DEPRECATED, ATT_EXCEPTIONS, ATT_GENERIC, ATT_INNERCLASSES, ATT_LINENUMBERTABLE, ATT_LOCALVARIABLETABLE, ATT_SOURCEFILE, ATT_SYNTHETIC, CST_CLASS, CST_DOUBLE, CST_FIELD, CST_FLOAT, CST_INTEGER, CST_INTERFACEMETHOD, CST_LONG, CST_METHOD, CST_NAMEANDTYPE, CST_STRING, CST_UTF8, ENV_DEBUG_MODE, ENV_USE_CACHE, JAVA_MAGIC, JAVA_MAJOR, JAVA_MINOR, MAX_CODE_PER_METHOD, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, POO_ASCII_CONSTANT, POO_CLASS_CONSTANT, POO_DOUBLE_CONSTANT, POO_FLOAT_CONSTANT, POO_INTEGER_CONSTANT, POO_LONG_CONSTANT, POO_NAT_CONSTANT, POO_REF_CONSTANT, POO_STRING_CONSTANT, TYP_ADDRESS, TYP_DOUBLE, TYP_FLOAT, TYP_INT, TYP_LONG, TYP_REFERENCE, TYP_VOID
 
Constructor Summary
CByteType()
          Constructs a new instance.
 
Method Summary
protected  void appendSignature(SimpleStringBuffer buffer)
          Appends the VM signature of this type to the specified buffer.
 Object deepClone()
          Returns a deep clone of this object.
protected  void deepCloneInto(CByteType other)
          Clones all fields of this into
 void genCastTo(CNumericType dest, CodeSequence code)
          Generates a bytecode sequence to convert a value of this type to the specified destination type.
 String getSignature()
          Returns the VM signature of this type.
 int getSize()
          Returns the stack size used by a value of this type.
 int getSizeInC()
          Returns the stack size (conservative estimate of maximum number of bytes needed in C on 32-bit machine) used by a value of this type.
 boolean isAssignableTo(CType dest)
          Can this type be converted to the specified type by assignment conversion (JLS 5.2) ?
 boolean isFloatingPoint()
          Is this a floating point type ?
 boolean isOrdinal()
          Is this type ordinal ?
 String toString()
          Returns a string representation of this type.
 
Methods inherited from class at.dms.kjc.CNumericType
binaryPromote, checkType, deepCloneInto, isCastableTo, isNumeric, unaryPromote
 
Methods inherited from class at.dms.kjc.CType
checked, deepCloneInto, equals, genMethodSignature, getArrayLoadOpcode, getArrayStoreOpcode, getCClass, getLoadOpcode, getReturnOpcode, getStoreOpcode, getTypeID, isArrayType, isCheckedException, isClassType, isPrimitive, isReference, parseMethodSignature, parseSignature
 
Methods inherited from class at.dms.util.Utils
asPercent, cellMathEquivalent, cMathEquivalent, cppMathEquivalent, deepCloneInto, equalArrays, fail, getEnvironmentVariable, getExpression, hasPeeks, initArray, initArray, initLiteralArray, intArrayToList, isMathMethod, isUniform, kopi_assert, kopi_assert, makeCountdownForLoop, makeDotFileName, makeForLoop, makeForLoop, makeForLoop, makeForLoopFieldIndex, makeForLoopLocalIndex, nextPow2, passThruParens, peelMarkers, popBeforePeek, readFile, removeUnusedPops, replaceAll, setupDotFileName, simplifyMathMethod, splitQualifiedName, splitQualifiedName, toArray, toIntArray, toVector, voidToInt, writeFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CByteType

public CByteType()
Constructs a new instance.

Method Detail

toString

public String toString()
Returns a string representation of this type.

Specified by:
toString in class CNumericType

getSignature

public String getSignature()
Returns the VM signature of this type.

Specified by:
getSignature in class CNumericType

appendSignature

protected void appendSignature(SimpleStringBuffer buffer)
Appends the VM signature of this type to the specified buffer.

Specified by:
appendSignature in class CNumericType

getSizeInC

public int getSizeInC()
Returns the stack size (conservative estimate of maximum number of bytes needed in C on 32-bit machine) used by a value of this type.

Specified by:
getSizeInC in class CNumericType

getSize

public int getSize()
Returns the stack size used by a value of this type.

Specified by:
getSize in class CNumericType

isOrdinal

public boolean isOrdinal()
Is this type ordinal ?

Specified by:
isOrdinal in class CNumericType
Returns:
is it a integer type ?

isFloatingPoint

public boolean isFloatingPoint()
Is this a floating point type ?

Specified by:
isFloatingPoint in class CNumericType
Returns:
is it a real number type ?

isAssignableTo

public boolean isAssignableTo(CType dest)
Can this type be converted to the specified type by assignment conversion (JLS 5.2) ?

Specified by:
isAssignableTo in class CNumericType
Parameters:
dest - the destination type
Returns:
true iff the conversion is valid

genCastTo

public void genCastTo(CNumericType dest,
                      CodeSequence code)
Generates a bytecode sequence to convert a value of this type to the specified destination type.

Specified by:
genCastTo in class CNumericType
Parameters:
dest - the destination type
code - the code sequence

deepClone

public Object deepClone()
Returns a deep clone of this object.

Specified by:
deepClone in interface DeepCloneable
Overrides:
deepClone in class CNumericType

deepCloneInto

protected void deepCloneInto(CByteType other)
Clones all fields of this into
other