jellyj.util
Class Type

Direct Known Subclasses:
MethodType, PrimitiveType, ReferenceType

public abstract class Type


Field Summary
 final static TypeBoolean
           
 final static TypeByte
           
 (package private) static Hashtablecache_d
           
 (package private) final static intCACHE_SIZE
           
 final static TypeChar
           
 final static TypeDouble
           
 final static TypeError
           
 final static TypeException
           
 final static TypeFloat
           
 final static TypeInt
           
 final static TypeLong
           
 final static TypeNull
           
 final static TypeRuntimeException
           
 final static TypeShort
           
 final static TypeThrowable
           
 final static TypeVoid
           

Constructor Summary
 (package private) Type()
           

Method Summary
 InstructionADD()
           
 voidADDSTRING(ClassGen classGen, MethodGen methodGen, boolean top)
           
 InstructionALOAD()
           
 InstructionAND()
           
 InstructionAPPENDSTB(ConstantPoolGen cpg)
           
 InstructionASTORE()
           
 InstructionListCAST(Type other)
           
 InstructionCMP(boolean less)
           
 static ClassTypecreateClassType(String rep)
          Search for class types without 'L' and ';'.
 static ClassTypecreateClassType(Symbol rep)
           
 static TypecreateType(Symbol rep)
           
 static TypecreateType(String rep)
           
 abstract intdistanceTo(Type other)
           
 InstructionDIV()
           
 InstructionDUP()
           
 InstructionDUPX1()
           
 InstructionDUPX2()
           
 abstract booleanfloatingPointType()
           
 abstract booleanidenticalTo(Type other)
           
 InstructionIFEQ(boolean tozero)
           
 InstructionIFGE(boolean tozero)
           
 InstructionIFGT(boolean tozero)
           
 InstructionIFLE(boolean tozero)
           
 InstructionIFLT(boolean tozero)
           
 InstructionIFNE(boolean tozero)
           
 abstract booleanintegralType()
           
 InstructionLOAD(int slot)
           
 InstructionMUL()
           
 Symbolname()
           
 InstructionNEG()
           
 InstructionNEWARRAY(int index)
           
 abstract booleannumericType()
           
 booleanoneWord()
          Determines if vars of this type fit in one word.
 InstructionOR()
           
 (package private) static TypeparseType(StringReader buffer)
           
 InstructionPOP()
           
 abstract booleanprimitiveType()
           
 InstructionPUSH(ConstantPoolGen cpg, BigDecimal value)
           
 abstract booleanreferenceType()
           
 booleanrelatedTo(Type other)
          Determines if two ref types belong to the same branch of the subtype relation hierarchy.
 InstructionREM()
           
 InstructionRETURN()
           
 InstructionSHL()
           
 InstructionSHR()
           
 InstructionSTORE(int slot)
           
 InstructionSUB()
           
 abstract booleansubTypeOf(Type other)
           
 abstract booleansuperTypeOf(Type other)
           
 booleanthrowable()
          Determines if this type can be thrown as an exception.
 abstract ClassGenTypetoClassFileType()
           
 StringtoInternalString()
           
 abstract StringtoString()
           
 booleantwoWords()
          Determines if vars of this type need two words.
 InstructionUSHR()
           
 InstructionListVALUEOF(ConstantPoolGen cpg)
           
 InstructionXOR()
           

Field Detail

Boolean

public final static Type Boolean

Byte

public final static Type Byte

cache_d

static Hashtable cache_d

CACHE_SIZE

final static int CACHE_SIZE

Char

public final static Type Char

Double

public final static Type Double

Error

public final static Type Error

Exception

public final static Type Exception

Float

public final static Type Float

Int

public final static Type Int

Long

public final static Type Long

Null

public final static Type Null

RuntimeException

public final static Type RuntimeException

Short

public final static Type Short

Throwable

public final static Type Throwable

Void

public final static Type Void
Constructor Detail

Type

Type()
Method Detail

ADD

public Instruction ADD()

ADDSTRING

public void ADDSTRING(ClassGen classGen, MethodGen methodGen, boolean top)

ALOAD

public Instruction ALOAD()

AND

public Instruction AND()

APPENDSTB

public Instruction APPENDSTB(ConstantPoolGen cpg)

ASTORE

public Instruction ASTORE()

CAST

public InstructionList CAST(Type other)

CMP

public Instruction CMP(boolean less)

createClassType

public static ClassType createClassType(String rep)
Search for class types without 'L' and ';'. This is useful to use the cache after types have been parsed.

createClassType

public static ClassType createClassType(Symbol rep)

createType

public static Type createType(Symbol rep)

createType

public static Type createType(String rep)

distanceTo

public abstract int distanceTo(Type other)

DIV

public Instruction DIV()

DUP

public Instruction DUP()

DUPX1

public Instruction DUPX1()

DUPX2

public Instruction DUPX2()

floatingPointType

public abstract boolean floatingPointType()

identicalTo

public abstract boolean identicalTo(Type other)

IFEQ

public Instruction IFEQ(boolean tozero)

IFGE

public Instruction IFGE(boolean tozero)

IFGT

public Instruction IFGT(boolean tozero)

IFLE

public Instruction IFLE(boolean tozero)

IFLT

public Instruction IFLT(boolean tozero)

IFNE

public Instruction IFNE(boolean tozero)

integralType

public abstract boolean integralType()

LOAD

public Instruction LOAD(int slot)

MUL

public Instruction MUL()

name

public Symbol name()

NEG

public Instruction NEG()

NEWARRAY

public Instruction NEWARRAY(int index)

numericType

public abstract boolean numericType()

oneWord

public boolean oneWord()
Determines if vars of this type fit in one word. Defaults to true but overriden at DoubleType and LongType.

OR

public Instruction OR()

parseType

static Type parseType(StringReader buffer)
throws java.io.IOException

POP

public Instruction POP()

primitiveType

public abstract boolean primitiveType()

PUSH

public Instruction PUSH(ConstantPoolGen cpg, BigDecimal value)

referenceType

public abstract boolean referenceType()

relatedTo

public boolean relatedTo(Type other)
Determines if two ref types belong to the same branch of the subtype relation hierarchy.

REM

public Instruction REM()

RETURN

public Instruction RETURN()

SHL

public Instruction SHL()

SHR

public Instruction SHR()

STORE

public Instruction STORE(int slot)

SUB

public Instruction SUB()

subTypeOf

public abstract boolean subTypeOf(Type other)

superTypeOf

public abstract boolean superTypeOf(Type other)

throwable

public boolean throwable()
Determines if this type can be thrown as an exception. Defaults to false but overridden in ClassType

toClassFileType

public abstract ClassGenType toClassFileType()

toInternalString

public String toInternalString()

toString

public abstract String toString()

twoWords

public boolean twoWords()
Determines if vars of this type need two words. Defaults to false but overriden at DoubleType and LongType.

USHR

public Instruction USHR()

VALUEOF

public InstructionList VALUEOF(ConstantPoolGen cpg)

XOR

public Instruction XOR()

Association Links

to Class java.util.Hashtable

to Class java.lang.String

to Class java.lang.String

to Class java.lang.String

to Class java.lang.String

to Class java.lang.String

to Class java.lang.String

to Class java.lang.String

to Class java.lang.String

to Class java.lang.String

to Class java.lang.String

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type

to Class jellyj.util.Type