edu.umd.cs.findbugs.ba

Class InnerClassAccessMap

public class InnerClassAccessMap extends Object

Determine which methods are accessors used by inner classes to access fields in their enclosing classes. This has been tested with javac from the Sun JDK 1.4.x, but will probably not work with other source to bytecode compilers.

The instance of InnerClassAccessMap should be retrieved from the AnalysisContext.

Author: David Hovemeyer

See Also: InnerClassAccess

Method Summary
voidclearCache()
Clear the cache.
static InnerClassAccessMapcreate()
Create an instance.
InnerClassAccessgetInnerClassAccess(String className, String methodName)
Get the InnerClassAccess in given class with the given method name.
InnerClassAccessgetInnerClassAccess(INVOKESTATIC inv, ConstantPoolGen cpg)
Get the inner class access object for given invokestatic instruction.

Method Detail

clearCache

public void clearCache()
Clear the cache.

create

public static InnerClassAccessMap create()
Create an instance.

Returns: a new instance of InnerClassAccessMap

getInnerClassAccess

public InnerClassAccess getInnerClassAccess(String className, String methodName)
Get the InnerClassAccess in given class with the given method name.

Parameters: className the name of the class methodName the name of the access method

Returns: the InnerClassAccess object for the method, or null if the method doesn't seem to be an inner class access

getInnerClassAccess

public InnerClassAccess getInnerClassAccess(INVOKESTATIC inv, ConstantPoolGen cpg)
Get the inner class access object for given invokestatic instruction. Returns null if the called method is not an inner class access.

Parameters: inv the invokestatic instruction cpg the ConstantPoolGen for the method

Returns: the InnerClassAccess, or null if the call is not an inner class access

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