FindBugs™ 1.3.9

edu.umd.cs.findbugs
Class LocalVariableAnnotation

java.lang.Object
  extended by edu.umd.cs.findbugs.LocalVariableAnnotation
All Implemented Interfaces:
BugAnnotation, XMLWriteable, XMLWriteableWithMessages, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<BugAnnotation>

public class LocalVariableAnnotation
extends java.lang.Object
implements BugAnnotation

Bug annotation class for local variable names

Author:
William Pugh
See Also:
BugAnnotation, Serialized Form

Field Summary
static java.lang.String ARGUMENT_ROLE
           
static java.lang.String DEFAULT_ROLE
           
static java.lang.String DID_YOU_MEAN_ROLE
           
static java.lang.String INVOKED_ON_ROLE
           
static java.lang.String NAMED_ROLE
           
static java.lang.String PARAMETER_NAMED_ROLE
           
static java.lang.String PARAMETER_ROLE
           
static java.lang.String PARAMETER_VALUE_SOURCE_NAMED_ROLE
           
static java.lang.String PARAMETER_VALUE_SOURCE_ROLE
           
static java.lang.String UNKNOWN_ROLE
           
static java.lang.String VALUE_DOOMED_NAMED_ROLE
           
static java.lang.String VALUE_DOOMED_ROLE
           
static java.lang.String VALUE_OF_ROLE
           
 
Fields inherited from interface edu.umd.cs.findbugs.BugAnnotation
MESSAGE_TAG
 
Constructor Summary
LocalVariableAnnotation(java.lang.String name, int register, int pc)
          Constructor.
LocalVariableAnnotation(java.lang.String name, int register, int pc, int line)
          Constructor.
 
Method Summary
 void accept(BugAnnotationVisitor visitor)
          Accept a BugAnnotationVisitor.
 java.lang.Object clone()
           
 int compareTo(BugAnnotation o)
           
 boolean equals(java.lang.Object o)
           
static LocalVariableAnnotation findMatchingIgnoredParameter(ClassContext classContext, org.apache.bcel.classfile.Method method, java.lang.String name, java.lang.String signature)
           
static LocalVariableAnnotation findUniqueBestMatchingParameter(ClassContext classContext, org.apache.bcel.classfile.Method method, java.lang.String name, java.lang.String signature)
           
 java.lang.String format(java.lang.String key, ClassAnnotation primaryClass)
          Format the annotation as a String.
 java.lang.String getDescription()
          Get a description of this bug annotation.
static LocalVariableAnnotation getLocalVariableAnnotation(DismantleBytecode visitor, OpcodeStack.Item item)
           
static LocalVariableAnnotation getLocalVariableAnnotation(org.apache.bcel.classfile.Method method, int local, int position1, int position2)
           
static LocalVariableAnnotation getLocalVariableAnnotation(org.apache.bcel.classfile.Method method, Location location, org.apache.bcel.generic.IndexedInstruction ins)
           
static LocalVariableAnnotation getLocalVariableAnnotation(org.apache.bcel.classfile.Method method, OpcodeStack.Item item, int pc)
           
 java.lang.String getName()
           
static LocalVariableAnnotation getParameterLocalVariableAnnotation(org.apache.bcel.classfile.Method method, int local)
          Get a local variable annotation describing a parameter.
 int getPC()
           
 int getRegister()
           
 int hashCode()
           
 boolean isNamed()
           
 boolean isSignificant()
          Is this annotation used to compute instance hashes or match bug instances across versions
 void setDescription(java.lang.String description)
          Set a description of this bug annotation.
 java.lang.String toString()
           
 java.lang.String toString(ClassAnnotation primaryClass)
           
 void writeXML(XMLOutput xmlOutput)
          Write this object to given XMLOutput.
 void writeXML(XMLOutput xmlOutput, boolean addMessages, boolean isPrimary)
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_ROLE

public static final java.lang.String DEFAULT_ROLE
See Also:
Constant Field Values

NAMED_ROLE

public static final java.lang.String NAMED_ROLE
See Also:
Constant Field Values

UNKNOWN_ROLE

public static final java.lang.String UNKNOWN_ROLE
See Also:
Constant Field Values

PARAMETER_ROLE

public static final java.lang.String PARAMETER_ROLE
See Also:
Constant Field Values

PARAMETER_NAMED_ROLE

public static final java.lang.String PARAMETER_NAMED_ROLE
See Also:
Constant Field Values

PARAMETER_VALUE_SOURCE_ROLE

public static final java.lang.String PARAMETER_VALUE_SOURCE_ROLE
See Also:
Constant Field Values

PARAMETER_VALUE_SOURCE_NAMED_ROLE

public static final java.lang.String PARAMETER_VALUE_SOURCE_NAMED_ROLE
See Also:
Constant Field Values

VALUE_DOOMED_ROLE

public static final java.lang.String VALUE_DOOMED_ROLE
See Also:
Constant Field Values

VALUE_DOOMED_NAMED_ROLE

public static final java.lang.String VALUE_DOOMED_NAMED_ROLE
See Also:
Constant Field Values

DID_YOU_MEAN_ROLE

public static final java.lang.String DID_YOU_MEAN_ROLE
See Also:
Constant Field Values

INVOKED_ON_ROLE

public static final java.lang.String INVOKED_ON_ROLE
See Also:
Constant Field Values

ARGUMENT_ROLE

public static final java.lang.String ARGUMENT_ROLE
See Also:
Constant Field Values

VALUE_OF_ROLE

public static final java.lang.String VALUE_OF_ROLE
See Also:
Constant Field Values
Constructor Detail

LocalVariableAnnotation

public LocalVariableAnnotation(java.lang.String name,
                               int register,
                               int pc)
Constructor.

Parameters:
name - the name of the local variable
register - the local variable index
pc - the bytecode offset of the instruction that mentions this local variable

LocalVariableAnnotation

public LocalVariableAnnotation(java.lang.String name,
                               int register,
                               int pc,
                               int line)
Constructor.

Parameters:
name - the name of the local variable
register - the local variable index
pc - the bytecode offset of the instruction that mentions this local variable
Method Detail

getLocalVariableAnnotation

public static LocalVariableAnnotation getLocalVariableAnnotation(org.apache.bcel.classfile.Method method,
                                                                 Location location,
                                                                 org.apache.bcel.generic.IndexedInstruction ins)

getLocalVariableAnnotation

public static LocalVariableAnnotation getLocalVariableAnnotation(org.apache.bcel.classfile.Method method,
                                                                 int local,
                                                                 int position1,
                                                                 int position2)

getParameterLocalVariableAnnotation

public static LocalVariableAnnotation getParameterLocalVariableAnnotation(org.apache.bcel.classfile.Method method,
                                                                          int local)
Get a local variable annotation describing a parameter.

Parameters:
method - a Method
local - the local variable containing the parameter
Returns:
LocalVariableAnnotation describing the parameter

clone

public java.lang.Object clone()
Specified by:
clone in interface BugAnnotation
Overrides:
clone in class java.lang.Object

accept

public void accept(BugAnnotationVisitor visitor)
Description copied from interface: BugAnnotation
Accept a BugAnnotationVisitor.

Specified by:
accept in interface BugAnnotation
Parameters:
visitor - the visitor to accept

format

public java.lang.String format(java.lang.String key,
                               ClassAnnotation primaryClass)
Description copied from interface: BugAnnotation
Format the annotation as a String. The given key specifies additional information about how the annotation should be formatted. If the key is empty, then the "default" format will be used.

Specified by:
format in interface BugAnnotation
Parameters:
key - how the annotation should be formatted
primaryClass - The primary class for the bug; some bug annotation format msgs are simplified in relation to that class.

setDescription

public void setDescription(java.lang.String description)
Description copied from interface: BugAnnotation
Set a description of this bug annotation. The description is a key for the FindBugsAnnotationDescriptions resource bundle.

Specified by:
setDescription in interface BugAnnotation

getDescription

public java.lang.String getDescription()
Description copied from interface: BugAnnotation
Get a description of this bug annotation. The description is a key for the FindBugsAnnotationDescriptions resource bundle.

Specified by:
getDescription in interface BugAnnotation

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

compareTo

public int compareTo(BugAnnotation o)
Specified by:
compareTo in interface java.lang.Comparable<BugAnnotation>

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

writeXML

public void writeXML(XMLOutput xmlOutput)
              throws java.io.IOException
Description copied from interface: XMLWriteable
Write this object to given XMLOutput.

Specified by:
writeXML in interface XMLWriteable
Parameters:
xmlOutput - the XMLOutput for the document
Throws:
java.io.IOException

writeXML

public void writeXML(XMLOutput xmlOutput,
                     boolean addMessages,
                     boolean isPrimary)
              throws java.io.IOException
Specified by:
writeXML in interface XMLWriteableWithMessages
Throws:
java.io.IOException

isNamed

public boolean isNamed()

getName

public java.lang.String getName()
Returns:
name of local variable

getPC

public int getPC()

getRegister

public int getRegister()

isSignificant

public boolean isSignificant()
Description copied from interface: BugAnnotation
Is this annotation used to compute instance hashes or match bug instances across versions

Specified by:
isSignificant in interface BugAnnotation
Returns:
true if significant

getLocalVariableAnnotation

@CheckForNull
public static LocalVariableAnnotation getLocalVariableAnnotation(org.apache.bcel.classfile.Method method,
                                                                              OpcodeStack.Item item,
                                                                              int pc)
Parameters:
method -
item -
pc2 -
Returns:

getLocalVariableAnnotation

@CheckForNull
public static LocalVariableAnnotation getLocalVariableAnnotation(DismantleBytecode visitor,
                                                                              OpcodeStack.Item item)

findMatchingIgnoredParameter

@CheckForNull
public static LocalVariableAnnotation findMatchingIgnoredParameter(ClassContext classContext,
                                                                                org.apache.bcel.classfile.Method method,
                                                                                java.lang.String name,
                                                                                java.lang.String signature)

findUniqueBestMatchingParameter

@CheckForNull
public static LocalVariableAnnotation findUniqueBestMatchingParameter(ClassContext classContext,
                                                                                   org.apache.bcel.classfile.Method method,
                                                                                   java.lang.String name,
                                                                                   java.lang.String signature)

toString

public java.lang.String toString(ClassAnnotation primaryClass)
Specified by:
toString in interface BugAnnotation

FindBugs™ 1.3.9

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