BugAnnotation
, XMLWriteable
, XMLWriteableWithMessages
, java.io.Serializable
, java.lang.Cloneable
, java.lang.Comparable<BugAnnotation>
public class MethodAnnotation extends PackageMemberAnnotation
BugAnnotation
,
Serialized FormModifier and Type | Field | Description |
---|---|---|
static java.lang.String |
DEFAULT_ROLE |
|
static java.lang.String |
METHOD_ALTERNATIVE_TARGET |
|
static java.lang.String |
METHOD_CALLED |
|
static java.lang.String |
METHOD_COMPUTED_IN |
|
static java.lang.String |
METHOD_CONSTRUCTOR |
|
static java.lang.String |
METHOD_DANGEROUS_TARGET |
|
static java.lang.String |
METHOD_DANGEROUS_TARGET_ACTUAL_GUARANTEED_NULL |
|
static java.lang.String |
METHOD_DID_YOU_MEAN_TO_OVERRIDE |
|
static java.lang.String |
METHOD_EQUALS_USED |
|
static java.lang.String |
METHOD_OVERRIDDEN |
|
static java.lang.String |
METHOD_RETURN_VALUE_OF |
|
static java.lang.String |
METHOD_SAFE_TARGET |
|
static java.lang.String |
METHOD_SUPERCLASS_CONSTRUCTOR |
|
static java.lang.String |
SHOULD_CALL |
MESSAGE_TAG
sourceFileName, sourceLines
className, description
Constructor | Description |
---|---|
MethodAnnotation(java.lang.String className,
java.lang.String methodName,
java.lang.String methodSig,
boolean isStatic) |
Constructor.
|
Modifier and Type | Method | Description |
---|---|---|
void |
accept(BugAnnotationVisitor visitor) |
Accept a BugAnnotationVisitor.
|
int |
compareTo(BugAnnotation o) |
|
boolean |
equals(java.lang.Object o) |
|
protected java.lang.String |
formatPackageMember(java.lang.String key,
ClassAnnotation primaryClass) |
Do default and subclass-specific formatting.
|
static MethodAnnotation |
fromCalledMethod(DismantleBytecode visitor) |
Factory method to create a MethodAnnotation from a method called by the
instruction the given visitor is currently visiting.
|
static MethodAnnotation |
fromCalledMethod(java.lang.String className,
java.lang.String methodName,
java.lang.String methodSig,
boolean isStatic) |
Create a MethodAnnotation from a method that is not directly accessible.
|
static MethodAnnotation |
fromForeignMethod(java.lang.String className,
java.lang.String methodName,
java.lang.String methodSig,
boolean isStatic) |
Factory method to create the MethodAnnotation from the classname, method
name, signature, etc.
|
static MethodAnnotation |
fromForeignMethod(java.lang.String className,
java.lang.String methodName,
java.lang.String methodSig,
int accessFlags) |
Factory method to create the MethodAnnotation from the classname, method
name, signature, etc.
|
static MethodAnnotation |
fromMethodDescriptor(MethodDescriptor methodDescriptor) |
Create a MethodAnnotation from a MethodDescriptor.
|
static MethodAnnotation |
fromVisitedMethod(PreorderVisitor visitor) |
Factory method to create a MethodAnnotation from the method the given
visitor is currently visiting.
|
static MethodAnnotation |
fromXMethod(XMethod xmethod) |
Create a MethodAnnotation from an XMethod.
|
java.lang.String |
getFullMethod(ClassAnnotation primaryClass) |
Get the "full" method name.
|
java.lang.String |
getJavaSourceMethodName() |
|
java.lang.String |
getMethodName() |
Get the method name.
|
java.lang.String |
getMethodSignature() |
Get the method type signature.
|
java.lang.String |
getNameInClass(boolean shortenPackages,
boolean useJVMMethodName,
boolean hash) |
|
java.lang.String |
getNameInClass(boolean shortenPackages,
boolean useJVMMethodName,
boolean hash,
boolean omitMethodName) |
Get the "full" method name.
|
java.lang.String |
getNameInClass(ClassAnnotation primaryClass) |
Get the "full" method name.
|
java.lang.String |
getSignatureInClass(ClassAnnotation primaryClass) |
|
int |
hashCode() |
|
boolean |
isSignificant() |
Is this annotation used to compute instance hashes or match bug instances
across versions
|
boolean |
isStatic() |
Return whether or not the method is static.
|
java.lang.String |
stripJavaLang(java.lang.String className) |
|
MethodDescriptor |
toMethodDescriptor() |
|
XMethod |
toXMethod() |
Convert to an XMethod.
|
void |
writeXML(XMLOutput xmlOutput) |
Write this object to given XMLOutput.
|
void |
writeXML(XMLOutput xmlOutput,
boolean addMessages,
boolean isPrimary) |
clone, getSourceFileName, getSourceLines, setSourceLines
finalize, getClass, notify, notifyAll, wait, wait, wait
format, getClassDescriptor, getClassName, getDescription, getPackageName, getSimpleClassName, getSlashedClassName, removePackage, removePackageName, setDescription, shorten, toString, toString
public static final java.lang.String DEFAULT_ROLE
public static final java.lang.String METHOD_DANGEROUS_TARGET_ACTUAL_GUARANTEED_NULL
public static final java.lang.String METHOD_DANGEROUS_TARGET
public static final java.lang.String METHOD_RETURN_VALUE_OF
public static final java.lang.String METHOD_SAFE_TARGET
public static final java.lang.String METHOD_EQUALS_USED
public static final java.lang.String METHOD_CALLED
public static final java.lang.String METHOD_SUPERCLASS_CONSTRUCTOR
public static final java.lang.String METHOD_CONSTRUCTOR
public static final java.lang.String METHOD_OVERRIDDEN
public static final java.lang.String METHOD_DID_YOU_MEAN_TO_OVERRIDE
public static final java.lang.String METHOD_COMPUTED_IN
public static final java.lang.String METHOD_ALTERNATIVE_TARGET
public static final java.lang.String SHOULD_CALL
public MethodAnnotation(@DottedClassName java.lang.String className, java.lang.String methodName, java.lang.String methodSig, boolean isStatic)
className
- the name of the class containing the methodmethodName
- the name of the methodmethodSig
- the Java type signature of the methodisStatic
- true if the method is static, false if notpublic static MethodAnnotation fromVisitedMethod(PreorderVisitor visitor)
visitor
- the BetterVisitor currently visiting the methodpublic static MethodAnnotation fromCalledMethod(DismantleBytecode visitor)
visitor
- the visitorpublic static MethodAnnotation fromForeignMethod(@SlashedClassName java.lang.String className, java.lang.String methodName, java.lang.String methodSig, int accessFlags)
className
- name of the class containing the methodmethodName
- name of the methodmethodSig
- signature of the methodaccessFlags
- the access flags of the methodpublic static MethodAnnotation fromForeignMethod(java.lang.String className, java.lang.String methodName, java.lang.String methodSig, boolean isStatic)
className
- name of the class containing the methodmethodName
- name of the methodmethodSig
- signature of the methodisStatic
- true if the method is static, false otherwisepublic static MethodAnnotation fromCalledMethod(java.lang.String className, java.lang.String methodName, java.lang.String methodSig, boolean isStatic)
className
- class containing called methodmethodName
- name of called methodmethodSig
- signature of called methodisStatic
- true if called method is staticpublic static MethodAnnotation fromXMethod(XMethod xmethod)
xmethod
- the XMethodpublic static MethodAnnotation fromMethodDescriptor(MethodDescriptor methodDescriptor)
methodDescriptor
- the MethodDescriptorpublic java.lang.String getMethodName()
public java.lang.String getJavaSourceMethodName()
public java.lang.String getMethodSignature()
public boolean isStatic()
public XMethod toXMethod()
public MethodDescriptor toMethodDescriptor()
public void accept(BugAnnotationVisitor visitor)
BugAnnotation
visitor
- the visitor to acceptprotected java.lang.String formatPackageMember(java.lang.String key, ClassAnnotation primaryClass)
PackageMemberAnnotation
formatPackageMember
in class PackageMemberAnnotation
key
- the key specifying how to do the formattingprimaryClass
- TODOpublic java.lang.String getNameInClass(ClassAnnotation primaryClass)
public java.lang.String getSignatureInClass(ClassAnnotation primaryClass)
public java.lang.String getNameInClass(boolean shortenPackages, boolean useJVMMethodName, boolean hash)
public java.lang.String getNameInClass(boolean shortenPackages, boolean useJVMMethodName, boolean hash, boolean omitMethodName)
shortenPackages
- whether to shorten package names if they are in java or in the
same package as this method.public java.lang.String getFullMethod(ClassAnnotation primaryClass)
public java.lang.String stripJavaLang(@DottedClassName java.lang.String className)
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int compareTo(BugAnnotation o)
public void writeXML(XMLOutput xmlOutput) throws java.io.IOException
XMLWriteable
xmlOutput
- the XMLOutput for the documentjava.io.IOException
public void writeXML(XMLOutput xmlOutput, boolean addMessages, boolean isPrimary) throws java.io.IOException
java.io.IOException
public boolean isSignificant()
BugAnnotation
isSignificant
in interface BugAnnotation
isSignificant
in class PackageMemberAnnotation
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.