org.siebengeisslein.pclass
Class ArrayPType

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.pclass.ArrayPType
All Implemented Interfaces:
Instrumented, PType

public class ArrayPType
extends Persistent
implements PType


Constructor Summary
ArrayPType(TypeManager typeManager, PType elementType, int dimensions)
           
 
Method Summary
 int distanceFrom(PType type)
           
 boolean equals(java.lang.Object obj)
           
 java.util.List<PField> getAllFields()
           
 java.util.List<PMethod> getAllMethods()
           
 PMethod getConstructor(java.util.List<PType> name)
           
 java.lang.String getDescriptor()
           
 int getDimensions()
           
 PType getElementType()
           
 PField getField(java.lang.String name)
           
 java.util.Set<PType> getImplementedTypes()
           
 Expression getInitialValue(ExpressionContainer container)
           
 PMethod getMethod(java.lang.String name, java.util.List<PType> params)
           
 java.lang.String getName()
           
 TypeSort getSort()
          This is needed for the indices of the type manager.
 PType getSuperClass()
           
 org.objectweb.asm.Type getType()
           
 TypeManager getTypeManager()
           
 int hashCode()
           
 boolean isAbstract()
           
 boolean isAssignableFrom(PType type)
           
 boolean isInterface()
           
 java.lang.String toString()
           
 void visitConvertFromObject(org.objectweb.asm.MethodVisitor mv)
           
 void visitConvertToObject(org.objectweb.asm.MethodVisitor mv)
           
 
Methods inherited from class org.siebengeisslein.client.Persistent
abort, clearUserLocals, clone, commit, disposeTransient, getGroup, getRef, getTransientValue, initTransient, isWriteTransaction, joinWriteTransaction, readLock, setGroup, setTransientValue, toPersistent, toRef, writeExternal, writeLock
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ArrayPType

public ArrayPType(TypeManager typeManager,
                  PType elementType,
                  int dimensions)
Method Detail

getMethod

public PMethod getMethod(java.lang.String name,
                         java.util.List<PType> params)
Specified by:
getMethod in interface PType

getAllMethods

public java.util.List<PMethod> getAllMethods()
Specified by:
getAllMethods in interface PType

getType

public org.objectweb.asm.Type getType()
Specified by:
getType in interface PType

getDescriptor

public java.lang.String getDescriptor()
Specified by:
getDescriptor in interface PType

getField

public PField getField(java.lang.String name)
Specified by:
getField in interface PType
Returns:
field or null if this type does not have a field with name 'name'

getElementType

public PType getElementType()

isAssignableFrom

public boolean isAssignableFrom(PType type)
Specified by:
isAssignableFrom in interface PType

getDimensions

public int getDimensions()

distanceFrom

public int distanceFrom(PType type)
Specified by:
distanceFrom in interface PType

getSuperClass

public PType getSuperClass()
Specified by:
getSuperClass in interface PType
Returns:
superclass or null if this type does not have a superclass (object/basic/void types).

isInterface

public boolean isInterface()
Specified by:
isInterface in interface PType

hashCode

public int hashCode()
Overrides:
hashCode in class Persistent

equals

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

toString

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

visitConvertFromObject

public void visitConvertFromObject(org.objectweb.asm.MethodVisitor mv)
Specified by:
visitConvertFromObject in interface PType

visitConvertToObject

public void visitConvertToObject(org.objectweb.asm.MethodVisitor mv)
Specified by:
visitConvertToObject in interface PType

getInitialValue

public Expression getInitialValue(ExpressionContainer container)
Specified by:
getInitialValue in interface PType

getAllFields

public java.util.List<PField> getAllFields()
Specified by:
getAllFields in interface PType

getConstructor

public PMethod getConstructor(java.util.List<PType> name)
Specified by:
getConstructor in interface PType

getName

public java.lang.String getName()
Specified by:
getName in interface PType

getTypeManager

public TypeManager getTypeManager()
Specified by:
getTypeManager in interface PType

isAbstract

public boolean isAbstract()
Specified by:
isAbstract in interface PType

getSort

public TypeSort getSort()
Description copied from interface: PType
This is needed for the indices of the type manager.

Specified by:
getSort in interface PType

getImplementedTypes

public java.util.Set<PType> getImplementedTypes()
Specified by:
getImplementedTypes in interface PType