public class MethodAnnotation extends PackageMemberAnnotation
BugAnnotation,
Serialized Form| Modifier and Type | Field and 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 |
className, descriptionsourceFileName, sourceLinesMESSAGE_TAG| Constructor and Description |
|---|
MethodAnnotation(java.lang.String className,
java.lang.String methodName,
java.lang.String methodSig,
boolean isStatic)
Constructor.
|
| Modifier and Type | Method and 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) |
format, getClassDescriptor, getClassName, getDescription, getPackageName, getSimpleClassName, getSlashedClassName, removePackage, removePackageName, setDescription, shorten, toString, toStringclone, getSourceFileName, getSourceLines, setSourceLinespublic 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)
BugAnnotationvisitor - the visitor to acceptprotected java.lang.String formatPackageMember(java.lang.String key,
ClassAnnotation primaryClass)
PackageMemberAnnotationformatPackageMember in class PackageMemberAnnotationkey - 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.Objectpublic boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int compareTo(BugAnnotation o)
public void writeXML(XMLOutput xmlOutput) throws java.io.IOException
XMLWriteablexmlOutput - the XMLOutput for the documentjava.io.IOExceptionpublic void writeXML(XMLOutput xmlOutput, boolean addMessages, boolean isPrimary) throws java.io.IOException
java.io.IOExceptionpublic boolean isSignificant()
BugAnnotationisSignificant in interface BugAnnotationisSignificant in class PackageMemberAnnotationFindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.