joeq.Class
Class jq_Type

java.lang.Object
  extended by joeq.Class.jq_Type
All Implemented Interfaces:
jwutil.io.Textualizable
Direct Known Subclasses:
jq_Primitive, jq_Reference

public abstract class jq_Type
extends Object
implements jwutil.io.Textualizable


Field Summary
static jq_Class _class
           
protected  Utf8 desc
           
protected  jq_Type[] display
          The first two elements are the positive and negative cache, respectively.
static int DISPLAY_SIZE
           
protected  int offset
          The offset of our type in the display array if this is a primary type, or 0 or 1 if this is a secondary type.
protected  jq_Reference[] s_s_array
          A reference to the secondary subtype array for this type.
protected  int s_s_array_length
          The maximum index used in the secondary subtype array.
static boolean TRACE
           
static boolean USE_CLASS_OBJECT_FIELD
           
 
Constructor Summary
protected jq_Type(Utf8 desc, ClassLoader class_loader)
           
 
Method Summary
 void accept(jq_TypeVisitor tv)
           
 void addEdge(String edgeName, jwutil.io.Textualizable t)
           
abstract  void cls_initialize()
           
abstract  void compile()
           
static String convertPrimitive(String s)
           
 jq_Array getArrayTypeForElementType()
           
abstract  ClassLoader getClassLoader()
           
abstract  int getDepth()
           
 Utf8 getDesc()
           
 Class getJavaLangClassObject()
           
abstract  String getJDKDesc()
           
abstract  String getName()
           
abstract  int getReferenceSize()
           
abstract  boolean isAddressType()
           
abstract  boolean isArrayType()
           
abstract  boolean isClassType()
           
abstract  boolean isClsInitialized()
           
abstract  boolean isClsInitRunning()
           
abstract  boolean isCompiled()
           
abstract  boolean isFinal()
           
abstract  boolean isInstance(Object o)
           
abstract  boolean isIntLike()
           
abstract  boolean isLoaded()
           
abstract  boolean isPrepared()
           
abstract  boolean isPrimitiveType()
           
 boolean isReferenceType()
           
abstract  boolean isSFInitialized()
           
 boolean isSubtypeOf(jq_Type that)
           
abstract  boolean isVerified()
           
abstract  void load()
           
 boolean needsDynamicLink(jq_Method method)
           
static jq_Type parseType(String s)
           
abstract  void prepare()
           
static jq_Type read(StringTokenizer st)
           
abstract  void sf_initialize()
           
abstract  String shortName()
           
 String toString()
           
abstract  void verify()
           
 void write(jwutil.io.Textualizer t)
           
 void writeEdges(jwutil.io.Textualizer t)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

desc

protected final Utf8 desc

USE_CLASS_OBJECT_FIELD

public static final boolean USE_CLASS_OBJECT_FIELD
See Also:
Constant Field Values

DISPLAY_SIZE

public static final int DISPLAY_SIZE
See Also:
Constant Field Values

display

protected jq_Type[] display
The first two elements are the positive and negative cache, respectively. The remainder are the primary supertypes of this type ordered by the tree relation. This array should be inlined into the jq_Type object, hopefully. See paper "Fast subtype checking in the HotSpot JVM".


offset

protected int offset
The offset of our type in the display array if this is a primary type, or 0 or 1 if this is a secondary type. See paper "Fast subtype checking in the HotSpot JVM".


s_s_array

protected jq_Reference[] s_s_array
A reference to the secondary subtype array for this type. See paper "Fast subtype checking in the HotSpot JVM".


s_s_array_length

protected int s_s_array_length
The maximum index used in the secondary subtype array. See paper "Fast subtype checking in the HotSpot JVM".


TRACE

public static final boolean TRACE
See Also:
Constant Field Values

_class

public static final jq_Class _class
Constructor Detail

jq_Type

protected jq_Type(Utf8 desc,
                  ClassLoader class_loader)
Method Detail

getName

public abstract String getName()

shortName

public abstract String shortName()

getDesc

public final Utf8 getDesc()

getJDKDesc

public abstract String getJDKDesc()

isClassType

public abstract boolean isClassType()

isArrayType

public abstract boolean isArrayType()

isPrimitiveType

public abstract boolean isPrimitiveType()

isAddressType

public abstract boolean isAddressType()

isIntLike

public abstract boolean isIntLike()

isReferenceType

public final boolean isReferenceType()

getClassLoader

public abstract ClassLoader getClassLoader()

getReferenceSize

public abstract int getReferenceSize()

getArrayTypeForElementType

public final jq_Array getArrayTypeForElementType()

needsDynamicLink

public boolean needsDynamicLink(jq_Method method)

isInstance

public abstract boolean isInstance(Object o)

getDepth

public abstract int getDepth()

getJavaLangClassObject

public final Class getJavaLangClassObject()

convertPrimitive

public static String convertPrimitive(String s)

parseType

public static jq_Type parseType(String s)

isSubtypeOf

public final boolean isSubtypeOf(jq_Type that)

isLoaded

public abstract boolean isLoaded()

isVerified

public abstract boolean isVerified()

isPrepared

public abstract boolean isPrepared()

isSFInitialized

public abstract boolean isSFInitialized()

isCompiled

public abstract boolean isCompiled()

isClsInitRunning

public abstract boolean isClsInitRunning()

isClsInitialized

public abstract boolean isClsInitialized()

isFinal

public abstract boolean isFinal()

load

public abstract void load()

verify

public abstract void verify()

prepare

public abstract void prepare()

sf_initialize

public abstract void sf_initialize()

compile

public abstract void compile()

cls_initialize

public abstract void cls_initialize()

accept

public void accept(jq_TypeVisitor tv)

toString

public String toString()
Overrides:
toString in class Object

write

public void write(jwutil.io.Textualizer t)
           throws IOException
Specified by:
write in interface jwutil.io.Textualizable
Throws:
IOException

writeEdges

public void writeEdges(jwutil.io.Textualizer t)
                throws IOException
Specified by:
writeEdges in interface jwutil.io.Textualizable
Throws:
IOException

addEdge

public void addEdge(String edgeName,
                    jwutil.io.Textualizable t)
Specified by:
addEdge in interface jwutil.io.Textualizable

read

public static jq_Type read(StringTokenizer st)


Copyright © 2001-2008 John Whaley. All Rights Reserved.