de.grogra.reflect
Class IntersectionType
java.lang.Object
de.grogra.reflect.MemberBase
de.grogra.reflect.TypeImpl<java.lang.Object>
de.grogra.reflect.IntersectionType
- All Implemented Interfaces:
- Member, Type<java.lang.Object>
public class IntersectionType
- extends TypeImpl<java.lang.Object>
| Fields inherited from interface de.grogra.reflect.Type |
BOOLEAN, BYTE, CHAR, CLASS, DOUBLE, FLOAT, FLOATING_POINT, INT, INTEGRAL, INVALID, LOCAL_CLASS_MODIFIERS, LONG, MEMBER_CLASS_MODIFIERS, MEMBER_INTERFACE_MODIFIERS, NULL, NUMBER, NUMERIC, OBJECT, SHORT, STRING, TOP_LEVEL_CLASS_MODIFIERS, TOP_LEVEL_INTERFACE_MODIFIERS, TYPE, TYPE_0, VOID |
| Fields inherited from interface de.grogra.reflect.Member |
ABSTRACT, ACCESS_MODIFIERS, ARRAY, BRIDGE, CONSTANT, FINAL, INTERFACE, JAVA_MODIFIERS, LOCAL_CLASS, MIN_UNUSED_MODIFIER, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE |
| Methods inherited from class de.grogra.reflect.TypeImpl |
cloneObject, createArray, getArrayType, getDeclaredField, getDeclaredFieldCount, getDeclaredMethod, getDeclaredMethodCount, getDeclaredType, getDeclaredTypeCount, getDefaultElementValue, getLookup, getTypeId, getTypeLoader, isStringSerializable, newInstance, toString, valueOf |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
IntersectionType
public IntersectionType(java.lang.String pkg)
IntersectionType
public IntersectionType(Type<?> base)
addInterface
public void addInterface(Type<?> iface)
getBinaryName
public java.lang.String getBinaryName()
- Specified by:
getBinaryName in interface Type<java.lang.Object>- Overrides:
getBinaryName in class TypeImpl<java.lang.Object>
getBinaryType
public Type<?> getBinaryType()
getComponentType
public Type<?> getComponentType()
- Specified by:
getComponentType in interface Type<java.lang.Object>- Overrides:
getComponentType in class TypeImpl<java.lang.Object>
getDeclaredInterface
public Type<?> getDeclaredInterface(int index)
- Specified by:
getDeclaredInterface in interface Type<java.lang.Object>- Overrides:
getDeclaredInterface in class TypeImpl<java.lang.Object>
getDeclaredInterfaceCount
public int getDeclaredInterfaceCount()
- Specified by:
getDeclaredInterfaceCount in interface Type<java.lang.Object>- Overrides:
getDeclaredInterfaceCount in class TypeImpl<java.lang.Object>
getDescriptor
public java.lang.String getDescriptor()
- Description copied from interface:
Member
- Returns a descriptor for this member. Descriptors are constructed
as follows:
- For types, descriptors are defined as for the Java Virtual
Machine. For primitive types these are the single characters
'Z', 'B', 'S', 'C', 'I', 'J', 'F', 'D', 'V'
for
boolean, byte, short,
char, int, long,
float, double, void.
For array types, the descriptor is the character '[' plus
the descriptor of its component type, e.g.,
[[I for int[][]. For non-array
reference types, the
descriptor is the character 'L', followed by the binary name
(see Type.getBinaryName()) of the type, where '.'
has to be replaced by '/', followed by ';',
e.g., Ljava/lang/Object;.
- For fields, the descriptor is the character 'f', followed by the
simple name of the field, followed by the character ';', followed
by the descriptor of the field's type. E.g.,
fout;Ljava/io/PrintStream;
for the field System.out.
- For methods and constructors, the descriptor is the character
'm', followed by the simple name of the method (which is
<init> for
constructors), followed by the characters ';' and '(', followed
by the descriptors of the method's parameter types, followed by
')', followed by the descriptor of the return type. E.g.
mprintln;(Ljava/lang/String;)V for the method
PrintStream.println(String).
- Specified by:
getDescriptor in interface Member- Overrides:
getDescriptor in class MemberBase
- Returns:
- the member's descriptor
getImplementationClass
public java.lang.Class<java.lang.Object> getImplementationClass()
- Specified by:
getImplementationClass in interface Type<java.lang.Object>- Overrides:
getImplementationClass in class TypeImpl<java.lang.Object>
getName
public java.lang.String getName()
- Description copied from interface:
Member
- Returns the name of this member. For types, this is the canonical name
of the type, e.g,
java.lang.Object,
java.util.Map.Entry.
Otherwise, it equals Member.getSimpleName().
- Specified by:
getName in interface Member- Overrides:
getName in class MemberBase
- Returns:
- name of the member
getPackage
public java.lang.String getPackage()
- Specified by:
getPackage in interface Type<java.lang.Object>- Overrides:
getPackage in class TypeImpl<java.lang.Object>
getSimpleName
public java.lang.String getSimpleName()
- Description copied from interface:
Member
- Returns the simple name of this member. This is the single
identifier with which the member is declared in source code,
e.g.,
Object, out, println.
- Specified by:
getSimpleName in interface Member- Overrides:
getSimpleName in class TypeImpl<java.lang.Object>
- Returns:
- simple name of the member
getSupertype
public Type<java.lang.Object> getSupertype()
- Specified by:
getSupertype in interface Type<java.lang.Object>- Overrides:
getSupertype in class TypeImpl<java.lang.Object>
intersect
public void intersect(Type<?> t)
isInstance
public boolean isInstance(java.lang.Object o)
- Specified by:
isInstance in interface Type<java.lang.Object>- Overrides:
isInstance in class TypeImpl<java.lang.Object>
narrow
public void narrow(Type<?> newBase)
simplify
public Type<?> simplify()