Class JVMClass<T extends IClassLoader>
java.lang.Object
com.ibm.wala.classLoader.BytecodeClass<T>
com.ibm.wala.classLoader.JVMClass<T>
- Type Parameters:
T- type of classloader which loads this format of class.
- All Implemented Interfaces:
IClass, IClassHierarchyDweller
- Direct Known Subclasses:
ShrikeClass
Note that classes from JVML have some features that are not present in all "bytecode" languages
currently supported.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intJVM-level modifiers; cached here for efficiencyFields inherited from class BytecodeClass
allInterfaces, cha, hashCode, inheritCache, instanceFields, interfaceNames, loader, methodMap, staticFields, superClass, superclassComputed, superName, typeReferenceModifier and TypeFieldDescriptionprotected Collection<IClass> The IClasses that represent all interfaces this class implements (if it's a class) or extends (it it's an interface)protected final IClassHierarchyGoverning class hierarchy for this classprotected inthash code; cached here for efficiencyA mapping from Selector to IMethod used to cache method lookups from superclassesprotected IField[]The instance fields declared in this class.protected ImmutableByteArray[]The names of interfaces for this class.protected final TThe object that loaded this class.A mapping from Selector to IMethodprotected IField[]The static fields declared in this class.protected IClasssuperclassprotected booleanCompute the superclass lazily.protected ImmutableByteArrayAn Atom which holds the name of the super class.protected TypeReferenceCanonical type representation -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintReturn the integer that encodes the class's modifiers, as defined by the JVM specificationbooleanbooleanIs this class a Java interface?booleanbooleanisPublic()booleanMethods inherited from class BytecodeClass
addFieldToList, computeAllInterfacesAsCollection, computeDeclaredMethods, computeMethodMapIfNeeded, findDeclaredField, getAllFields, getAllImplementedInterfaces, getAllInstanceFields, getAllMethods, getAllStaticFields, getAnnotations, getClassHierarchy, getClassLoader, getContainer, getDeclaredInstanceFields, getDeclaredMethods, getDeclaredStaticFields, getDirectInterfaces, getField, getField, getMethod, getName, getReference, getSource, getSourceFileName, getSuperclass, getSuperName, hashCode, isArrayClass, isReferenceType, toStringModifier and TypeMethodDescriptionprotected voidaddFieldToList(List<FieldImpl> L, Atom name, ImmutableByteArray fieldType, int accessFlags, Collection<Annotation> annotations, Collection<TypeAnnotation> typeAnnotations, TypeSignature sig) protected Collection<IClass> protected abstract IMethod[]protected voidset up the methodMap mappingfindDeclaredField(Atom name) Compute the instance and static fields declared by this class or any of its superclasses.Compute the instance fields declared by this class or any of its superclasses.Compute the methods declared by this class or any of its superclasses.Compute the static fields declared by this class or any of its superclasses.abstract Collection<Annotation> getAnnotations(boolean runtimeVisible) Return the object that represents the defining class loader for this class.abstract ModuleCompute the instance fields declared by this class.Collection<? extends IClass> Finds a field.Finds a field, given a name and a type.Finds method matching signature.getName()inthashCode()booleanbooleanDoes 'this' refer to a reference type? If not, then it refers to a primitive type.toString()Methods inherited from class Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface IClass
getAnnotationsModifier and TypeMethodDescriptionget annotations, if any
-
Field Details
-
modifiers
protected int modifiersJVM-level modifiers; cached here for efficiency
-
-
Constructor Details
-
JVMClass
-
-
Method Details
-
getModifiers
public int getModifiers()Description copied from interface:IClassReturn the integer that encodes the class's modifiers, as defined by the JVM specification- Returns:
- the integer that encodes the class's modifiers, as defined by the JVM specification
-
isPublic
public boolean isPublic()- Returns:
- true iff this class is public
-
isPrivate
public boolean isPrivate()- Returns:
- true iff this class is private
-
isInterface
public boolean isInterface()Description copied from interface:IClassIs this class a Java interface? -
isAbstract
public boolean isAbstract()- Returns:
- true iff this class is abstract
- See Also:
-
isSynthetic
public boolean isSynthetic()- Returns:
- true iff this class is synthetic, i.e., compiler-generated
- See Also:
-
getClassInitializer
- Returns:
- the method that is this class's initializer, or null if none
- See Also:
-