gnu.expr
Class PairClassType

java.lang.Object
  extended by gnu.bytecode.Type
      extended by gnu.bytecode.ObjectType
          extended by gnu.bytecode.ClassType
              extended by gnu.expr.PairClassType
All Implemented Interfaces:
AttrContainer, java.io.Externalizable, java.io.Serializable

public class PairClassType
extends ClassType

A class type implemented as a pair of an interface and a class. This is how true multiple inheritance can be implemented.

See Also:
Serialized Form

Field Summary
 ClassType instanceType
           
 
Fields inherited from class gnu.bytecode.ClassType
access_flags, constructor, noClasses
 
Fields inherited from class gnu.bytecode.ObjectType
flags
 
Fields inherited from class gnu.bytecode.Type
boolean_ctype, boolean_type, booleanValue_method, byte_type, char_type, clone_method, double_type, doubleValue_method, float_type, floatValue_method, int_type, intValue_method, java_lang_Class_type, long_type, longValue_method, neverReturnsType, nullType, number_type, pointer_type, reflectClass, short_type, string_type, throwable_type, toString_method, tostring_type, typeArray0, void_type
 
Constructor Summary
PairClassType()
           
 
Method Summary
static java.lang.Object extractStaticLink(ClassType type)
          This method is called from compiled code.
 java.lang.Object getStaticLink()
           
static PairClassType make(java.lang.Class reflectInterface, java.lang.Class reflectInstanceClass)
           
static PairClassType make(java.lang.Class reflectInterface, java.lang.Class reflectInstanceClass, java.lang.Object staticLink)
           
 
Methods inherited from class gnu.bytecode.ClassType
addField, addField, addField, addField, addFields, addInterface, addMethod, addMethod, addMethod, addMethod, addMethod, addMethods, cleanupAfterCompilation, compare, countMethods, doFixups, getAttributes, getClassfileMajorVersion, getClassfileMinorVersion, getConstant, getConstants, getDeclaredField, getDeclaredMethod, getDeclaredMethod, getDeclaredMethods, getField, getField, getFieldCount, getFields, getInterfaces, getMatchingMethods, getMethod, getMethod, getMethodCount, getMethods, getMethods, getMethods, getMethods, getMethods, getModifiers, getOuterLinkType, getPackageName, getSuperclass, hasOuterLink, implementsInterface, isAccessible, isInterface, isSubclass, isSubclass, make, make, readExternal, readResolve, setAttributes, setClassfileVersion, setClassfileVersionJava5, setInterface, setInterfaces, setModifiers, setName, setOuterLink, setSourceFile, setStratum, setSuper, setSuper, to_utf8, toString, writeExternal, writeToArray, writeToFile, writeToFile, writeToStream
 
Methods inherited from class gnu.bytecode.ObjectType
coerceFromObject, emitCoerceFromObject, getImplementationType, getInternalName, getReflectClass, isExisting, isInstance, promote, setExisting
 
Methods inherited from class gnu.bytecode.Type
coerceToObject, emitCoerceToObject, emitIsInstance, getName, getSignature, getSize, getSizeInWords, getType, hashCode, isMoreSpecific, isSubtype, isValidJavaTypeName, isVoid, lookupType, lowestCommonSuperType, make, registerTypeForClass, setReflectClass, setSignature, signatureLength, signatureLength, signatureToName, signatureToPrimitive, signatureToType, signatureToType, swappedCompareResult
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

instanceType

public ClassType instanceType
Constructor Detail

PairClassType

public PairClassType()
Method Detail

make

public static PairClassType make(java.lang.Class reflectInterface,
                                 java.lang.Class reflectInstanceClass)

make

public static PairClassType make(java.lang.Class reflectInterface,
                                 java.lang.Class reflectInstanceClass,
                                 java.lang.Object staticLink)

getStaticLink

public java.lang.Object getStaticLink()

extractStaticLink

public static java.lang.Object extractStaticLink(ClassType type)
This method is called from compiled code.