jbet
Class Type

java.lang.Object
  extended by jbet.Type

public final class Type
extends java.lang.Object


Field Summary
static Type ARRAY
           
 int arraydepth
           
 char base
           
static Type BOOLARRAY
           
static Type BOOLEAN
           
static Type BYTE
           
static Type BYTEARRAY
           
static Type CHAR
           
static Type CHARARRAY
           
static Type CLASS
           
static Type CLASSARRAY
           
static Type CLONEABLE
           
 java.lang.String cname
           
static Type DASH
           
static Type DOUBLE
           
static Type DOUBLEARRAY
           
 java.lang.Object extra
           
static Type FLOAT
           
static Type FLOATARRAY
           
static Type INT
           
static Type INTARRAY
           
static Type LONG
           
static Type LONGARRAY
           
static Type NULL
           
static Type OBJECT
           
static Type PRINTSTREAM
           
static Type REFARRAY
           
static Type RETADDR
           
static Type SERIALIZABLE
           
static Type SHORT
           
static Type SHORTARRAY
           
static Type STRING
           
static Type STRINGARRAY
           
static Type STRINGBUFFER
           
static Type THROWABLE
           
static int VM_ADDRESS
           
static int VM_DOUBLE
           
static int VM_FLOAT
           
static int VM_INT
           
static int VM_LONG
           
static int VM_RETADDR
           
static Type VOID
           
 
Constructor Summary
Type(char ch)
           
Type(char ch, int d)
           
Type(char ch, int d, java.lang.String s)
           
Type(char ch, int d, java.lang.String s, java.lang.Object x)
           
Type(ClassInfo cr)
           
Type(java.lang.Object o)
           
Type(java.lang.String s)
           
Type(java.lang.String s, int d)
           
Type(Type t)
           
 
Method Summary
 boolean basicly_equalls(Type t)
           
 int category()
           
static Type class2type(java.lang.String cname)
           
 Type compType()
           
 int count()
          this should be the same function as "category"
 java.lang.String declaration()
           
 boolean equals(java.lang.Object o)
           
 ClassInfo getClassInfo()
           
 int hashCode()
           
 boolean isa(Type t)
           
 boolean isPrimitive()
           
 boolean isRef()
           
 boolean isUninitialized()
           
 java.lang.String jniType()
           
 Type merge(Type t)
           
static Type merge(Type a, Type b)
          Merges types, i.e.
 Type popbracket()
           
 Type popbrackets()
           
 Type rawType()
           
 java.lang.Class realclass()
           
 Type refType()
           
 java.lang.String toClassRef()
           
 java.lang.String toString()
           
 java.lang.String unpackMethod()
           
 int vmType()
           
 java.lang.String wrapperClass()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

VM_INT

public static final int VM_INT
See Also:
Constant Field Values

VM_ADDRESS

public static final int VM_ADDRESS
See Also:
Constant Field Values

VM_FLOAT

public static final int VM_FLOAT
See Also:
Constant Field Values

VM_LONG

public static final int VM_LONG
See Also:
Constant Field Values

VM_DOUBLE

public static final int VM_DOUBLE
See Also:
Constant Field Values

VM_RETADDR

public static final int VM_RETADDR
See Also:
Constant Field Values

base

public char base

arraydepth

public int arraydepth

cname

public java.lang.String cname

extra

public java.lang.Object extra

VOID

public static final Type VOID

INT

public static final Type INT

BOOLEAN

public static final Type BOOLEAN

BYTE

public static final Type BYTE

CHAR

public static final Type CHAR

SHORT

public static final Type SHORT

FLOAT

public static final Type FLOAT

LONG

public static final Type LONG

DOUBLE

public static final Type DOUBLE

RETADDR

public static final Type RETADDR

DASH

public static final Type DASH

NULL

public static final Type NULL

ARRAY

public static final Type ARRAY

SHORTARRAY

public static final Type SHORTARRAY

CHARARRAY

public static final Type CHARARRAY

INTARRAY

public static final Type INTARRAY

BOOLARRAY

public static final Type BOOLARRAY

BYTEARRAY

public static final Type BYTEARRAY

DOUBLEARRAY

public static final Type DOUBLEARRAY

FLOATARRAY

public static final Type FLOATARRAY

LONGARRAY

public static final Type LONGARRAY

STRING

public static final Type STRING

STRINGBUFFER

public static final Type STRINGBUFFER

OBJECT

public static final Type OBJECT

CLASS

public static final Type CLASS

THROWABLE

public static final Type THROWABLE

CLONEABLE

public static final Type CLONEABLE

SERIALIZABLE

public static final Type SERIALIZABLE

REFARRAY

public static final Type REFARRAY

CLASSARRAY

public static final Type CLASSARRAY

STRINGARRAY

public static final Type STRINGARRAY

PRINTSTREAM

public static final Type PRINTSTREAM
Constructor Detail

Type

public Type(ClassInfo cr)

Type

public Type(char ch)

Type

public Type(char ch,
            int d)

Type

public Type(char ch,
            int d,
            java.lang.String s)

Type

public Type(char ch,
            int d,
            java.lang.String s,
            java.lang.Object x)

Type

public Type(java.lang.String s,
            int d)

Type

public Type(Type t)

Type

public Type(java.lang.String s)
     throws ParseException
Throws:
ParseException

Type

public Type(java.lang.Object o)
Method Detail

toClassRef

public java.lang.String toClassRef()

declaration

public java.lang.String declaration()

merge

public static Type merge(Type a,
                         Type b)
                  throws ClassFileException
Merges types, i.e. takes the lattice-wedge of them in the "isa" lattice. The greatest common denominator. The intersection. This is the basic operation used by dataflow.

Throws:
ClassFileException

isa

public boolean isa(Type t)
            throws ClassFileException
Throws:
ClassFileException

isUninitialized

public boolean isUninitialized()

merge

public Type merge(Type t)
           throws ClassFileException
Throws:
ClassFileException

class2type

public static Type class2type(java.lang.String cname)

popbracket

public Type popbracket()
                throws java.lang.RuntimeException
Throws:
java.lang.RuntimeException

popbrackets

public Type popbrackets()

basicly_equalls

public boolean basicly_equalls(Type t)

isPrimitive

public boolean isPrimitive()

isRef

public boolean isRef()

wrapperClass

public java.lang.String wrapperClass()

refType

public Type refType()

unpackMethod

public java.lang.String unpackMethod()

vmType

public int vmType()

compType

public Type compType()

rawType

public Type rawType()

category

public int category()

count

public int count()
this should be the same function as "category"

See Also:
category

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getClassInfo

public ClassInfo getClassInfo()
                       throws ClassFileException
Throws:
ClassFileException

realclass

public java.lang.Class realclass()

jniType

public java.lang.String jniType()