org.dellroad.jc.cgen
Class Util.OrderTypeSwitch

java.lang.Object
  extended bysoot.TypeSwitch
      extended byorg.dellroad.jc.cgen.Util.OrderTypeSwitch
All Implemented Interfaces:
ITypeSwitch, Switch
Enclosing class:
Util

public abstract static class Util.OrderTypeSwitch
extends TypeSwitch

Utility class that computes ordering preference in a C structure of the various types. We want longer types first, then shorter types, to avoid "holes". We always sort reference types first.


Constructor Summary
Util.OrderTypeSwitch()
           
 
Method Summary
 void caseBooleanType(BooleanType t)
           
 void caseByteType(ByteType t)
           
 void caseCharType(CharType t)
           
 void caseDoubleType(DoubleType t)
           
 void caseFloatType(FloatType t)
           
 void caseIntType(IntType t)
           
 void caseLongType(LongType t)
           
 void caseShortType(ShortType t)
           
 void defaultCase(Type t)
           
abstract  void order(int order)
           
 
Methods inherited from class soot.TypeSwitch
caseAnySubType, caseArrayType, caseDefault, caseErroneousType, caseNullType, caseRefType, caseStmtAddressType, caseUnknownType, caseVoidType, getResult, setResult
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Util.OrderTypeSwitch

public Util.OrderTypeSwitch()
Method Detail

caseBooleanType

public void caseBooleanType(BooleanType t)

caseByteType

public void caseByteType(ByteType t)

caseCharType

public void caseCharType(CharType t)

caseShortType

public void caseShortType(ShortType t)

caseIntType

public void caseIntType(IntType t)

caseFloatType

public void caseFloatType(FloatType t)

caseLongType

public void caseLongType(LongType t)

caseDoubleType

public void caseDoubleType(DoubleType t)

defaultCase

public void defaultCase(Type t)

order

public abstract void order(int order)