public class ArrayClass extends java.lang.Object implements IClass, com.ibm.wala.shrikeBT.Constants
IClass for array classes. Such classes would be best called 'broken
covariant array types', since that is the semantics that they implement.ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_Class, CONSTANT_Double, CONSTANT_FieldRef, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodRef, CONSTANT_InvokeDynamic, CONSTANT_Long, CONSTANT_MethodHandle, CONSTANT_MethodRef, CONSTANT_MethodType, CONSTANT_NameAndType, CONSTANT_String, CONSTANT_Utf8, indexedTypes, indexedTypes_T, MAYBE, NO, OP_aaload, OP_aastore, OP_aconst_null, OP_aload, OP_aload_0, OP_aload_1, OP_aload_2, OP_aload_3, OP_anewarray, OP_areturn, OP_arraylength, OP_astore, OP_astore_0, OP_astore_1, OP_astore_2, OP_astore_3, OP_athrow, OP_baload, OP_bastore, OP_bipush, OP_caload, OP_castore, OP_checkcast, OP_d2f, OP_d2i, OP_d2l, OP_dadd, OP_daload, OP_dastore, OP_dcmpg, OP_dcmpl, OP_dconst_0, OP_dconst_1, OP_ddiv, OP_dload, OP_dload_0, OP_dload_1, OP_dload_2, OP_dload_3, OP_dmul, OP_dneg, OP_drem, OP_dreturn, OP_dstore, OP_dstore_0, OP_dstore_1, OP_dstore_2, OP_dstore_3, OP_dsub, OP_dup, OP_dup_x1, OP_dup_x2, OP_dup2, OP_dup2_x1, OP_dup2_x2, OP_f2d, OP_f2i, OP_f2l, OP_fadd, OP_faload, OP_fastore, OP_fcmpg, OP_fcmpl, OP_fconst_0, OP_fconst_1, OP_fconst_2, OP_fdiv, OP_fload, OP_fload_0, OP_fload_1, OP_fload_2, OP_fload_3, OP_fmul, OP_fneg, OP_frem, OP_freturn, OP_fstore, OP_fstore_0, OP_fstore_1, OP_fstore_2, OP_fstore_3, OP_fsub, OP_getfield, OP_getstatic, OP_goto, OP_goto_w, OP_i2b, OP_i2c, OP_i2d, OP_i2f, OP_i2l, OP_i2s, OP_iadd, OP_iaload, OP_iand, OP_iastore, OP_iconst_0, OP_iconst_1, OP_iconst_2, OP_iconst_3, OP_iconst_4, OP_iconst_5, OP_iconst_m1, OP_idiv, OP_if_acmpeq, OP_if_acmpne, OP_if_icmpeq, OP_if_icmpge, OP_if_icmpgt, OP_if_icmple, OP_if_icmplt, OP_if_icmpne, OP_ifeq, OP_ifge, OP_ifgt, OP_ifle, OP_iflt, OP_ifne, OP_ifnonnull, OP_ifnull, OP_iinc, OP_iload, OP_iload_0, OP_iload_1, OP_iload_2, OP_iload_3, OP_imul, OP_ineg, OP_instanceof, OP_invokedynamic, OP_invokeinterface, OP_invokespecial, OP_invokestatic, OP_invokevirtual, OP_ior, OP_irem, OP_ireturn, OP_ishl, OP_ishr, OP_istore, OP_istore_0, OP_istore_1, OP_istore_2, OP_istore_3, OP_isub, OP_iushr, OP_ixor, OP_jsr, OP_jsr_w, OP_l2d, OP_l2f, OP_l2i, OP_ladd, OP_laload, OP_land, OP_lastore, OP_lcmp, OP_lconst_0, OP_lconst_1, OP_ldc, OP_ldc_w, OP_ldc2_w, OP_ldiv, OP_lload, OP_lload_0, OP_lload_1, OP_lload_2, OP_lload_3, OP_lmul, OP_lneg, OP_lookupswitch, OP_lor, OP_lrem, OP_lreturn, OP_lshl, OP_lshr, OP_lstore, OP_lstore_0, OP_lstore_1, OP_lstore_2, OP_lstore_3, OP_lsub, OP_lushr, OP_lxor, OP_monitorenter, OP_monitorexit, OP_multianewarray, OP_new, OP_newarray, OP_nop, OP_pop, OP_pop2, OP_putfield, OP_putstatic, OP_ret, OP_return, OP_saload, OP_sastore, OP_sipush, OP_swap, OP_tableswitch, OP_wide, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TYPE_boolean, TYPE_boolean_index, TYPE_byte, TYPE_byte_index, TYPE_char, TYPE_char_index, TYPE_Class, TYPE_double, TYPE_double_index, TYPE_Error, TYPE_Exception, TYPE_float, TYPE_float_index, TYPE_int, TYPE_int_index, TYPE_long, TYPE_long_index, TYPE_MethodHandle, TYPE_MethodType, TYPE_null, TYPE_Object, TYPE_Object_index, TYPE_RuntimeException, TYPE_short, TYPE_short_index, TYPE_String, TYPE_Throwable, TYPE_unknown, TYPE_void, YES| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
java.util.Collection<IClass> |
getAllAncestorInterfaces() |
java.util.Collection<IField> |
getAllFields()
Compute the instance and static fields declared by this class or any of its superclasses.
|
java.util.Collection<IClass> |
getAllImplementedInterfaces() |
java.util.Collection<IField> |
getAllInstanceFields()
Compute the instance fields declared by this class or any of its superclasses.
|
java.util.Collection<? extends IMethod> |
getAllMethods()
Compute the methods declared by this class or any of its superclasses.
|
java.util.Collection<IField> |
getAllStaticFields()
Compute the static fields declared by this class or any of its superclasses.
|
java.util.Collection<Annotation> |
getAnnotations()
get annotations, if any
|
static int |
getArrayTypeDimensionality(TypeReference reference) |
IClassHierarchy |
getClassHierarchy() |
IMethod |
getClassInitializer() |
IClassLoader |
getClassLoader()
Return the object that represents the defining class loader for this class.
|
java.util.Collection<IField> |
getDeclaredInstanceFields()
Compute the instance fields declared by this class.
|
java.util.Collection<IMethod> |
getDeclaredMethods() |
java.util.Collection<IField> |
getDeclaredStaticFields() |
int |
getDimensionality() |
java.util.Collection<IClass> |
getDirectInterfaces() |
IClass |
getElementClass() |
IField |
getField(Atom name)
Finds a field.
|
IField |
getField(Atom name,
TypeName typeName)
Finds a field, given a name and a type.
|
IClass |
getInnermostElementClass() |
IMethod |
getMethod(Selector sig)
Finds method matching signature.
|
int |
getModifiers()
Return the integer that encodes the class's modifiers, as defined by the JVM specification
|
TypeName |
getName() |
int |
getNumberOfDeclaredMethods() |
java.lang.String |
getQualifiedNameForReflection() |
TypeReference |
getReference() |
java.io.Reader |
getSource() |
java.lang.String |
getSourceFileName() |
IClass |
getSuperclass() |
int |
hashCode() |
boolean |
isAbstract() |
boolean |
isArrayClass() |
boolean |
isInterface()
Is this class a Java interface?
|
boolean |
isOfPrimitives()
Does this class represent an array of primitives?
|
boolean |
isPrivate() |
boolean |
isPublic() |
boolean |
isReferenceType()
Does 'this' refer to a reference type? If not, then it refers to a primitive type.
|
boolean |
isSynthetic() |
java.lang.String |
toString() |
public IClassLoader getClassLoader()
IClassgetClassLoader in interface IClasspublic TypeName getName()
public boolean isOfPrimitives()
public boolean isInterface()
IClassisInterface in interface IClasspublic boolean isAbstract()
isAbstract in interface IClasspublic int getModifiers()
IClassgetModifiers in interface IClasspublic java.lang.String getQualifiedNameForReflection()
public IClass getSuperclass()
getSuperclass in interface IClasspublic IMethod getMethod(Selector sig)
IClasspublic IField getField(Atom name, TypeName typeName)
IClassnull if not found.public java.util.Collection<IMethod> getDeclaredMethods()
getDeclaredMethods in interface IClasspublic int getNumberOfDeclaredMethods()
public TypeReference getReference()
getReference in interface IClasspublic java.lang.String getSourceFileName()
getSourceFileName in interface IClasspublic IMethod getClassInitializer()
getClassInitializer in interface IClasspublic boolean isArrayClass()
isArrayClass in interface IClasspublic java.lang.String toString()
toString in class java.lang.Objectpublic IClass getElementClass()
public int hashCode()
hashCode in class java.lang.Objectpublic java.util.Collection<IField> getDeclaredInstanceFields() throws java.lang.UnsupportedOperationException
IClassgetDeclaredInstanceFields in interface IClassjava.lang.UnsupportedOperationExceptionpublic java.util.Collection<IField> getDeclaredStaticFields() throws com.ibm.wala.util.debug.UnimplementedError
getDeclaredStaticFields in interface IClasscom.ibm.wala.util.debug.UnimplementedErrorpublic java.util.Collection<IClass> getAllImplementedInterfaces()
getAllImplementedInterfaces in interface IClasspublic java.util.Collection<IClass> getAllAncestorInterfaces() throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationExceptionpublic boolean isReferenceType()
IClassisReferenceType in interface IClasspublic int getDimensionality()
public static int getArrayTypeDimensionality(TypeReference reference)
reference - a type reference for an array typepublic IClass getInnermostElementClass()
public java.util.Collection<IClass> getDirectInterfaces() throws com.ibm.wala.util.debug.UnimplementedError
getDirectInterfaces in interface IClasscom.ibm.wala.util.debug.UnimplementedErrorpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic java.util.Collection<IField> getAllInstanceFields()
IClassgetAllInstanceFields in interface IClasspublic java.util.Collection<IField> getAllStaticFields()
IClassgetAllStaticFields in interface IClasspublic java.util.Collection<? extends IMethod> getAllMethods()
IClassgetAllMethods in interface IClasspublic java.util.Collection<IField> getAllFields()
IClassgetAllFields in interface IClasspublic IClassHierarchy getClassHierarchy()
getClassHierarchy in interface IClassHierarchyDwellerpublic boolean isPublic()
public boolean isPrivate()
public boolean isSynthetic()
isSynthetic in interface IClasspublic java.io.Reader getSource()
public java.util.Collection<Annotation> getAnnotations()
IClassgetAnnotations in interface IClass