FindBugs™ 1.3.9

edu.umd.cs.findbugs.ba
Class Hierarchy

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.Hierarchy

public class Hierarchy
extends java.lang.Object

Facade for class hierarchy queries. These typically access the class hierarchy using the Repository class. Callers should generally expect to handle ClassNotFoundException for when referenced classes can't be found.

Author:
David Hovemeyer

Field Summary
static JavaClassAndMethodChooser ANY_METHOD
          JavaClassAndMethodChooser which accepts any method.
static JavaClassAndMethodChooser CONCRETE_METHOD
          JavaClassAndMethodChooser which accepts only concrete (not abstract or native) methods.
protected static boolean DEBUG_METHOD_LOOKUP
           
static org.apache.bcel.generic.ObjectType ERROR_TYPE
          Type of java.lang.Error.
static org.apache.bcel.generic.ObjectType EXCEPTION_TYPE
          Type of java.lang.Exception.
static JavaClassAndMethodChooser INSTANCE_METHOD
          JavaClassAndMethodChooser which accepts only instance methods.
static org.apache.bcel.generic.ObjectType RUNTIME_EXCEPTION_TYPE
          Type of java.lang.RuntimeException.
static JavaClassAndMethodChooser STATIC_METHOD
          JavaClassAndMethodChooser which accepts only static methods.
 
Constructor Summary
Hierarchy()
           
 
Method Summary
static boolean accessFlagsAreConcrete(int accessFlags)
           
static JavaClassAndMethod findConcreteMethod(org.apache.bcel.classfile.JavaClass javaClass, java.lang.String methodName, java.lang.String methodSig)
          Deprecated. 
static org.apache.bcel.generic.ObjectType[] findDeclaredExceptions(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.ConstantPoolGen cpg)
          Deprecated. Use Hierarchy2.findDeclaredExceptions(InvokeInstruction,ConstantPoolGen) instead
static JavaClassAndMethod findExactMethod(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.ConstantPoolGen cpg)
          Look up the method referenced by given InvokeInstruction.
static JavaClassAndMethod findExactMethod(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.ConstantPoolGen cpg, JavaClassAndMethodChooser chooser)
          Look up the method referenced by given InvokeInstruction.
static org.apache.bcel.classfile.Field findField(java.lang.String className, java.lang.String fieldName)
          Find a field with given name defined in given class.
static JavaClassAndMethod findInvocationLeastUpperBound(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.ConstantPoolGen cpg)
          Find the least upper bound method in the class hierarchy which could be called by the given InvokeInstruction.
static JavaClassAndMethod findInvocationLeastUpperBound(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.ConstantPoolGen cpg, JavaClassAndMethodChooser methodChooser)
           
static JavaClassAndMethod findInvocationLeastUpperBound(org.apache.bcel.classfile.JavaClass jClass, java.lang.String methodName, java.lang.String methodSig, JavaClassAndMethodChooser methodChooser, boolean invokeInterface)
           
static XMethod findMethod(ClassDescriptor classDesc, java.lang.String methodName, java.lang.String methodSig, boolean isStatic)
          Find a method in given class.
static JavaClassAndMethod findMethod(org.apache.bcel.classfile.JavaClass[] classList, java.lang.String methodName, java.lang.String methodSig)
          Deprecated. 
static JavaClassAndMethod findMethod(org.apache.bcel.classfile.JavaClass[] classList, java.lang.String methodName, java.lang.String methodSig, JavaClassAndMethodChooser chooser)
          Find a method in given list of classes, searching the classes in order.
static JavaClassAndMethod findMethod(org.apache.bcel.classfile.JavaClass javaClass, java.lang.String methodName, java.lang.String methodSig)
          Find a method in given class.
static JavaClassAndMethod findMethod(org.apache.bcel.classfile.JavaClass javaClass, java.lang.String methodName, java.lang.String methodSig, JavaClassAndMethodChooser chooser)
           
static XField findXField(org.apache.bcel.generic.FieldInstruction fins, org.apache.bcel.generic.ConstantPoolGen cpg)
          Look up the field referenced by given FieldInstruction, returning it as an XField object.
static XField findXField(java.lang.String className, java.lang.String fieldName, java.lang.String fieldSig, boolean isStatic)
          Look up a field with given name and signature in given class, returning it as an XField object.
static XMethod findXMethod(org.apache.bcel.classfile.JavaClass[] classList, java.lang.String methodName, java.lang.String methodSig)
          Deprecated. 
static XMethod findXMethod(org.apache.bcel.classfile.JavaClass[] classList, java.lang.String methodName, java.lang.String methodSig, JavaClassAndMethodChooser chooser)
          Deprecated. 
static XMethod findXMethod(org.apache.bcel.classfile.JavaClass javaClass, java.lang.String methodName, java.lang.String methodSig, JavaClassAndMethodChooser chooser)
          Deprecated. 
static InnerClassAccess getInnerClassAccess(org.apache.bcel.generic.INVOKESTATIC inv, org.apache.bcel.generic.ConstantPoolGen cpg)
          Get the InnerClassAccess for access method called by given INVOKESTATIC.
static boolean isConcrete(XMethod xmethod)
          Deprecated. 
static boolean isInnerClassAccess(org.apache.bcel.generic.INVOKESTATIC inv, org.apache.bcel.generic.ConstantPoolGen cpg)
          Determine whether the given INVOKESTATIC instruction is an inner-class field accessor method.
static boolean isMonitorNotify(org.apache.bcel.generic.Instruction ins, org.apache.bcel.generic.ConstantPoolGen cpg)
          Determine if given Instruction is a monitor wait.
static boolean isMonitorNotify(java.lang.String methodName, java.lang.String methodSig)
          Determine if method whose name and signature is specified is a monitor notify operation.
static boolean isMonitorWait(org.apache.bcel.generic.Instruction ins, org.apache.bcel.generic.ConstantPoolGen cpg)
          Determine if given Instruction is a monitor wait.
static boolean isMonitorWait(java.lang.String methodName, java.lang.String methodSig)
          Determine if method whose name and signature is specified is a monitor wait operation.
static boolean isSubtype(org.apache.bcel.generic.ReferenceType t, org.apache.bcel.generic.ReferenceType possibleSupertype)
          Determine if one reference type is a subtype of another.
static boolean isSubtype(java.lang.String clsName, java.lang.String possibleSupertypeClassName)
          Determine whether one class (or reference type) is a subtype of another.
static boolean isUncheckedException(org.apache.bcel.generic.ObjectType type)
          Determine if the given ObjectType refers to an unchecked exception (RuntimeException or Error).
static boolean isUniversalExceptionHandler(org.apache.bcel.generic.ObjectType catchType)
          Determine if the given ObjectType reference represents a universal exception handler.
static java.util.Set<JavaClassAndMethod> resolveMethodCallTargets(org.apache.bcel.generic.InvokeInstruction invokeInstruction, TypeFrame typeFrame, org.apache.bcel.generic.ConstantPoolGen cpg)
          Resolve possible method call targets.
static java.util.Set<JavaClassAndMethod> resolveMethodCallTargets(org.apache.bcel.generic.ReferenceType receiverType, org.apache.bcel.generic.InvokeInstruction invokeInstruction, org.apache.bcel.generic.ConstantPoolGen cpg)
          Resolve possible instance method call targets.
static java.util.Set<JavaClassAndMethod> resolveMethodCallTargets(org.apache.bcel.generic.ReferenceType receiverType, org.apache.bcel.generic.InvokeInstruction invokeInstruction, org.apache.bcel.generic.ConstantPoolGen cpg, boolean receiverTypeIsExact)
          Resolve possible instance method call targets.
static JavaClassAndMethod visitSuperClassMethods(JavaClassAndMethod method, JavaClassAndMethodChooser chooser)
          Visit all superclass methods which the given method overrides.
static JavaClassAndMethod visitSuperInterfaceMethods(JavaClassAndMethod method, JavaClassAndMethodChooser chooser)
          Visit all superinterface methods which the given method implements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG_METHOD_LOOKUP

protected static final boolean DEBUG_METHOD_LOOKUP

EXCEPTION_TYPE

public static final org.apache.bcel.generic.ObjectType EXCEPTION_TYPE
Type of java.lang.Exception.


ERROR_TYPE

public static final org.apache.bcel.generic.ObjectType ERROR_TYPE
Type of java.lang.Error.


RUNTIME_EXCEPTION_TYPE

public static final org.apache.bcel.generic.ObjectType RUNTIME_EXCEPTION_TYPE
Type of java.lang.RuntimeException.


ANY_METHOD

public static final JavaClassAndMethodChooser ANY_METHOD
JavaClassAndMethodChooser which accepts any method.


CONCRETE_METHOD

public static final JavaClassAndMethodChooser CONCRETE_METHOD
JavaClassAndMethodChooser which accepts only concrete (not abstract or native) methods.


STATIC_METHOD

public static final JavaClassAndMethodChooser STATIC_METHOD
JavaClassAndMethodChooser which accepts only static methods.


INSTANCE_METHOD

public static final JavaClassAndMethodChooser INSTANCE_METHOD
JavaClassAndMethodChooser which accepts only instance methods.

Constructor Detail

Hierarchy

public Hierarchy()
Method Detail

isSubtype

public static boolean isSubtype(java.lang.String clsName,
                                java.lang.String possibleSupertypeClassName)
                         throws java.lang.ClassNotFoundException
Determine whether one class (or reference type) is a subtype of another.

Parameters:
clsName - the name of the class or reference type
possibleSupertypeClassName - the name of the possible superclass
Returns:
true if clsName is a subtype of possibleSupertypeClassName, false if not
Throws:
java.lang.ClassNotFoundException

isSubtype

public static boolean isSubtype(org.apache.bcel.generic.ReferenceType t,
                                org.apache.bcel.generic.ReferenceType possibleSupertype)
                         throws java.lang.ClassNotFoundException
Determine if one reference type is a subtype of another.

Parameters:
t - a reference type
possibleSupertype - the possible supertype
Returns:
true if t is a subtype of possibleSupertype, false if not
Throws:
java.lang.ClassNotFoundException

isUniversalExceptionHandler

public static boolean isUniversalExceptionHandler(org.apache.bcel.generic.ObjectType catchType)
Determine if the given ObjectType reference represents a universal exception handler. That is, one that will catch any kind of exception.

Parameters:
catchType - the ObjectType of the exception handler
Returns:
true if catchType is null, or if catchType is java.lang.Throwable

isUncheckedException

public static boolean isUncheckedException(org.apache.bcel.generic.ObjectType type)
                                    throws java.lang.ClassNotFoundException
Determine if the given ObjectType refers to an unchecked exception (RuntimeException or Error).

Throws:
java.lang.ClassNotFoundException

isMonitorWait

public static boolean isMonitorWait(java.lang.String methodName,
                                    java.lang.String methodSig)
Determine if method whose name and signature is specified is a monitor wait operation.

Parameters:
methodName - name of the method
methodSig - signature of the method
Returns:
true if the method is a monitor wait, false if not

isMonitorWait

public static boolean isMonitorWait(org.apache.bcel.generic.Instruction ins,
                                    org.apache.bcel.generic.ConstantPoolGen cpg)
Determine if given Instruction is a monitor wait.

Parameters:
ins - the Instruction
cpg - the ConstantPoolGen for the Instruction
Returns:
true if the instruction is a monitor wait, false if not

isMonitorNotify

public static boolean isMonitorNotify(java.lang.String methodName,
                                      java.lang.String methodSig)
Determine if method whose name and signature is specified is a monitor notify operation.

Parameters:
methodName - name of the method
methodSig - signature of the method
Returns:
true if the method is a monitor notify, false if not

isMonitorNotify

public static boolean isMonitorNotify(org.apache.bcel.generic.Instruction ins,
                                      org.apache.bcel.generic.ConstantPoolGen cpg)
Determine if given Instruction is a monitor wait.

Parameters:
ins - the Instruction
cpg - the ConstantPoolGen for the Instruction
Returns:
true if the instruction is a monitor wait, false if not

findExactMethod

public static JavaClassAndMethod findExactMethod(org.apache.bcel.generic.InvokeInstruction inv,
                                                 org.apache.bcel.generic.ConstantPoolGen cpg)
                                          throws java.lang.ClassNotFoundException
Look up the method referenced by given InvokeInstruction. This method does not look for implementations in super or subclasses according to the virtual dispatch rules.

Parameters:
inv - the InvokeInstruction
cpg - the ConstantPoolGen used by the class the InvokeInstruction belongs to
Returns:
the JavaClassAndMethod, or null if no such method is defined in the class
Throws:
java.lang.ClassNotFoundException

findExactMethod

public static JavaClassAndMethod findExactMethod(org.apache.bcel.generic.InvokeInstruction inv,
                                                 org.apache.bcel.generic.ConstantPoolGen cpg,
                                                 JavaClassAndMethodChooser chooser)
                                          throws java.lang.ClassNotFoundException
Look up the method referenced by given InvokeInstruction. This method does not look for implementations in super or subclasses according to the virtual dispatch rules.

Parameters:
inv - the InvokeInstruction
cpg - the ConstantPoolGen used by the class the InvokeInstruction belongs to
chooser - JavaClassAndMethodChooser to use to pick the method from among the candidates
Returns:
the JavaClassAndMethod, or null if no such method is defined in the class
Throws:
java.lang.ClassNotFoundException

visitSuperClassMethods

public static JavaClassAndMethod visitSuperClassMethods(JavaClassAndMethod method,
                                                        JavaClassAndMethodChooser chooser)
                                                 throws java.lang.ClassNotFoundException
Visit all superclass methods which the given method overrides.

Parameters:
method - the method
chooser - chooser which visits each superclass method
Returns:
the chosen method, or null if no method is chosen
Throws:
java.lang.ClassNotFoundException

visitSuperInterfaceMethods

public static JavaClassAndMethod visitSuperInterfaceMethods(JavaClassAndMethod method,
                                                            JavaClassAndMethodChooser chooser)
                                                     throws java.lang.ClassNotFoundException
Visit all superinterface methods which the given method implements.

Parameters:
method - the method
chooser - chooser which visits each superinterface method
Returns:
the chosen method, or null if no method is chosen
Throws:
java.lang.ClassNotFoundException

findInvocationLeastUpperBound

@CheckForNull
public static JavaClassAndMethod findInvocationLeastUpperBound(org.apache.bcel.generic.InvokeInstruction inv,
                                                                            org.apache.bcel.generic.ConstantPoolGen cpg)
                                                        throws java.lang.ClassNotFoundException
Find the least upper bound method in the class hierarchy which could be called by the given InvokeInstruction. One reason this method is useful is that it indicates which declared exceptions are thrown by the called methods.

Parameters:
inv - the InvokeInstruction
cpg - the ConstantPoolGen used by the class the InvokeInstruction belongs to
Returns:
the JavaClassAndMethod, or null if no matching method can be found
Throws:
java.lang.ClassNotFoundException

findInvocationLeastUpperBound

@CheckForNull
public static JavaClassAndMethod findInvocationLeastUpperBound(org.apache.bcel.generic.InvokeInstruction inv,
                                                                            org.apache.bcel.generic.ConstantPoolGen cpg,
                                                                            JavaClassAndMethodChooser methodChooser)
                                                        throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

findInvocationLeastUpperBound

@CheckForNull
public static JavaClassAndMethod findInvocationLeastUpperBound(org.apache.bcel.classfile.JavaClass jClass,
                                                                            java.lang.String methodName,
                                                                            java.lang.String methodSig,
                                                                            JavaClassAndMethodChooser methodChooser,
                                                                            boolean invokeInterface)
                                                        throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

findDeclaredExceptions

@Deprecated
public static org.apache.bcel.generic.ObjectType[] findDeclaredExceptions(org.apache.bcel.generic.InvokeInstruction inv,
                                                                                     org.apache.bcel.generic.ConstantPoolGen cpg)
                                                                   throws java.lang.ClassNotFoundException
Deprecated. Use Hierarchy2.findDeclaredExceptions(InvokeInstruction,ConstantPoolGen) instead

Find the declared exceptions for the method called by given instruction.

Parameters:
inv - the InvokeInstruction
cpg - the ConstantPoolGen used by the class the InvokeInstruction belongs to
Returns:
array of ObjectTypes of thrown exceptions, or null if we can't find the list of declared exceptions
Throws:
java.lang.ClassNotFoundException

findMethod

@CheckForNull
public static JavaClassAndMethod findMethod(org.apache.bcel.classfile.JavaClass javaClass,
                                                         java.lang.String methodName,
                                                         java.lang.String methodSig)
Find a method in given class.

Parameters:
javaClass - the class
methodName - the name of the method
methodSig - the signature of the method
Returns:
the JavaClassAndMethod, or null if no such method exists in the class

findMethod

@CheckForNull
public static JavaClassAndMethod findMethod(org.apache.bcel.classfile.JavaClass javaClass,
                                                         java.lang.String methodName,
                                                         java.lang.String methodSig,
                                                         JavaClassAndMethodChooser chooser)

findMethod

@CheckForNull
public static XMethod findMethod(ClassDescriptor classDesc,
                                              java.lang.String methodName,
                                              java.lang.String methodSig,
                                              boolean isStatic)
Find a method in given class.

Parameters:
classDesc - the class descriptor
methodName - the name of the method
methodSig - the signature of the method
isStatic - are we looking for a static method?
Returns:
the JavaClassAndMethod, or null if no such method exists in the class

findConcreteMethod

@Deprecated
@CheckForNull
public static JavaClassAndMethod findConcreteMethod(org.apache.bcel.classfile.JavaClass javaClass,
                                                                            java.lang.String methodName,
                                                                            java.lang.String methodSig)
Deprecated. 

Find a method in given class.

Parameters:
javaClass - the class
methodName - the name of the method
methodSig - the signature of the method
Returns:
the JavaClassAndMethod, or null if no such method exists in the class

findXMethod

@Deprecated
@CheckForNull
public static XMethod findXMethod(org.apache.bcel.classfile.JavaClass javaClass,
                                                          java.lang.String methodName,
                                                          java.lang.String methodSig,
                                                          JavaClassAndMethodChooser chooser)
Deprecated. 

Find a method in given class.

Parameters:
javaClass - the class
methodName - the name of the method
methodSig - the signature of the method
chooser - the JavaClassAndMethodChooser to use to screen possible candidates
Returns:
the XMethod, or null if no such method exists in the class

accessFlagsAreConcrete

public static boolean accessFlagsAreConcrete(int accessFlags)

findMethod

@Deprecated
public static JavaClassAndMethod findMethod(org.apache.bcel.classfile.JavaClass[] classList,
                                                       java.lang.String methodName,
                                                       java.lang.String methodSig)
Deprecated. 

Find a method in given list of classes, searching the classes in order.

Parameters:
classList - list of classes in which to search
methodName - the name of the method
methodSig - the signature of the method
Returns:
the JavaClassAndMethod, or null if no such method exists in the class

findMethod

public static JavaClassAndMethod findMethod(org.apache.bcel.classfile.JavaClass[] classList,
                                            java.lang.String methodName,
                                            java.lang.String methodSig,
                                            JavaClassAndMethodChooser chooser)
Find a method in given list of classes, searching the classes in order.

Parameters:
classList - list of classes in which to search
methodName - the name of the method
methodSig - the signature of the method
chooser - JavaClassAndMethodChooser to select which methods are considered; it must return true for a method to be returned
Returns:
the JavaClassAndMethod, or null if no such method exists in the class

findXMethod

@Deprecated
public static XMethod findXMethod(org.apache.bcel.classfile.JavaClass[] classList,
                                             java.lang.String methodName,
                                             java.lang.String methodSig)
Deprecated. 

Find XMethod for method in given list of classes, searching the classes in order.

Parameters:
classList - list of classes in which to search
methodName - the name of the method
methodSig - the signature of the method
Returns:
the XMethod, or null if no such method exists in the class

findXMethod

@Deprecated
public static XMethod findXMethod(org.apache.bcel.classfile.JavaClass[] classList,
                                             java.lang.String methodName,
                                             java.lang.String methodSig,
                                             JavaClassAndMethodChooser chooser)
Deprecated. 

Find XMethod for method in given list of classes, searching the classes in order.

Parameters:
classList - list of classes in which to search
methodName - the name of the method
methodSig - the signature of the method
chooser - JavaClassAndMethodChooser to select which methods are considered; it must return true for a method to be returned
Returns:
the XMethod, or null if no such method exists in the class

resolveMethodCallTargets

public static java.util.Set<JavaClassAndMethod> resolveMethodCallTargets(org.apache.bcel.generic.InvokeInstruction invokeInstruction,
                                                                         TypeFrame typeFrame,
                                                                         org.apache.bcel.generic.ConstantPoolGen cpg)
                                                                  throws DataflowAnalysisException,
                                                                         java.lang.ClassNotFoundException
Resolve possible method call targets. This works for both static and instance method calls.

Parameters:
invokeInstruction - the InvokeInstruction
typeFrame - the TypeFrame containing the types of stack values
cpg - the ConstantPoolGen
Returns:
Set of methods which might be called
Throws:
DataflowAnalysisException
java.lang.ClassNotFoundException

resolveMethodCallTargets

public static java.util.Set<JavaClassAndMethod> resolveMethodCallTargets(org.apache.bcel.generic.ReferenceType receiverType,
                                                                         org.apache.bcel.generic.InvokeInstruction invokeInstruction,
                                                                         org.apache.bcel.generic.ConstantPoolGen cpg)
                                                                  throws java.lang.ClassNotFoundException
Resolve possible instance method call targets. Assumes that invokevirtual and invokeinterface methods may call any subtype of the receiver class.

Parameters:
receiverType - type of the receiver object
invokeInstruction - the InvokeInstruction
cpg - the ConstantPoolGen
Returns:
Set of methods which might be called
Throws:
java.lang.ClassNotFoundException

resolveMethodCallTargets

public static java.util.Set<JavaClassAndMethod> resolveMethodCallTargets(org.apache.bcel.generic.ReferenceType receiverType,
                                                                         org.apache.bcel.generic.InvokeInstruction invokeInstruction,
                                                                         org.apache.bcel.generic.ConstantPoolGen cpg,
                                                                         boolean receiverTypeIsExact)
                                                                  throws java.lang.ClassNotFoundException
Resolve possible instance method call targets.

Parameters:
receiverType - type of the receiver object
invokeInstruction - the InvokeInstruction
cpg - the ConstantPoolGen
receiverTypeIsExact - if true, the receiver type is known exactly, which should allow a precise result
Returns:
Set of methods which might be called
Throws:
java.lang.ClassNotFoundException

isConcrete

@Deprecated
public static boolean isConcrete(XMethod xmethod)
Deprecated. 

Return whether or not the given method is concrete.

Parameters:
xmethod - the method
Returns:
true if the method is concrete, false otherwise

findField

public static org.apache.bcel.classfile.Field findField(java.lang.String className,
                                                        java.lang.String fieldName)
                                                 throws java.lang.ClassNotFoundException
Find a field with given name defined in given class.

Parameters:
className - the name of the class
fieldName - the name of the field
Returns:
the Field, or null if no such field could be found
Throws:
java.lang.ClassNotFoundException

findXField

public static XField findXField(java.lang.String className,
                                java.lang.String fieldName,
                                java.lang.String fieldSig,
                                boolean isStatic)
                         throws java.lang.ClassNotFoundException
Look up a field with given name and signature in given class, returning it as an XField object. If a field can't be found in the immediate class, its superclass is search, and so forth.

Parameters:
className - name of the class through which the field is referenced
fieldName - name of the field
fieldSig - signature of the field
isStatic - true if field is static, false otherwise
Returns:
an XField object representing the field, or null if no such field could be found
Throws:
java.lang.ClassNotFoundException

findXField

public static XField findXField(org.apache.bcel.generic.FieldInstruction fins,
                                @NonNull
                                org.apache.bcel.generic.ConstantPoolGen cpg)
                         throws java.lang.ClassNotFoundException
Look up the field referenced by given FieldInstruction, returning it as an XField object.

Parameters:
fins - the FieldInstruction
cpg - the ConstantPoolGen used by the class containing the instruction
Returns:
an XField object representing the field, or null if no such field could be found
Throws:
java.lang.ClassNotFoundException

isInnerClassAccess

public static boolean isInnerClassAccess(org.apache.bcel.generic.INVOKESTATIC inv,
                                         org.apache.bcel.generic.ConstantPoolGen cpg)
Determine whether the given INVOKESTATIC instruction is an inner-class field accessor method.

Parameters:
inv - the INVOKESTATIC instruction
cpg - the ConstantPoolGen for the method
Returns:
true if the instruction is an inner-class field accessor, false if not

getInnerClassAccess

public static InnerClassAccess getInnerClassAccess(org.apache.bcel.generic.INVOKESTATIC inv,
                                                   org.apache.bcel.generic.ConstantPoolGen cpg)
                                            throws java.lang.ClassNotFoundException
Get the InnerClassAccess for access method called by given INVOKESTATIC.

Parameters:
inv - the INVOKESTATIC instruction
cpg - the ConstantPoolGen for the method
Returns:
the InnerClassAccess, or null if the instruction is not an inner-class access
Throws:
java.lang.ClassNotFoundException

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.