gnu.expr

Class PairClassType

Implemented Interfaces:
AttrContainer, Externalizable

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.

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

booleanValue_method, boolean_ctype, boolean_type, byte_type, char_type, clone_method, doubleValue_method, double_type, floatValue_method, float_type, intValue_method, int_type, java_lang_Class_type, longValue_method, long_type, 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 Object
extractStaticLink(ClassType type)
This method is called from compiled code.
Object
getStaticLink()
static PairClassType
make(Class reflectInterface, Class reflectInstanceClass)
static PairClassType
make(Class reflectInterface, Class reflectInstanceClass, 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, toString, to_utf8, writeExternal, writeToArray, writeToFile, writeToFile, writeToStream

Methods inherited from class gnu.bytecode.ObjectType

coerceFromObject, compare, emitCoerceFromObject, getContextClass, getImplementationType, getInternalName, getMethods, getReflectClass, isExisting, isInstance, promote, setExisting

Methods inherited from class gnu.bytecode.Type

coerceFromObject, coerceToObject, compare, emitCoerceFromObject, emitCoerceToObject, emitIsInstance, getImplementationType, getName, getReflectClass, getSignature, getSize, getSizeInWords, getType, hashCode, isInstance, isMoreSpecific, isSubtype, isValidJavaTypeName, isVoid, lookupType, lowestCommonSuperType, make, promote, registerTypeForClass, setName, setReflectClass, setSignature, signatureLength, signatureLength, signatureToName, signatureToPrimitive, signatureToType, signatureToType, swappedCompareResult, toString

Field Details

instanceType

public ClassType instanceType

Constructor Details

PairClassType

public PairClassType()

Method Details

extractStaticLink

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

getStaticLink

public Object getStaticLink()

make

public static PairClassType make(Class reflectInterface,
                                 Class reflectInstanceClass)

make

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