Class AnnotationStatistics
- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
-
- org.checkerframework.javacutil.AbstractTypeProcessor
-
- org.checkerframework.framework.source.SourceChecker
-
- org.checkerframework.common.util.count.AnnotationStatistics
-
- All Implemented Interfaces:
javax.annotation.processing.Processor
,OptionConfiguration
@SupportedOptions({"nolocations","annotations","annotationserror","annotationsummaryonly"}) @SupportedSourceVersion(RELEASE_8) public class AnnotationStatistics extends SourceChecker
An annotation processor for counting the annotations in a program and for listing the potential locations of annotations. To invoke it, usejavac -proc:only -processor org.checkerframework.common.util.count.AnnotationStatistics MyFile.java ...
You probably want to pipe the output through another program:
- Total annotation count:
... | wc
. - Breakdown by location type:
... | sort | uniq -c
- Count for only certain location types: use
grep
By default, this utility displays annotation locations only. The following options may be used to adjust the output:
-Aannotations
: prints information about the annotations, such as whether it is in a signature or in a body-Anolocations
: suppresses location output; only makes sense in conjunction with-Aannotations
-Aannotationsummaryonly
: with both of the obove, only outputs a summary-Aannotationserror
: histogram is issued as a warning, not just printed
- See Also:
JavaCodeStatistics
-
-
Field Summary
-
Fields inherited from class org.checkerframework.framework.source.SourceChecker
currentRoot, DETAILS_SEPARATOR, elements, elementsWithSuppressedWarnings, errsOnLastExit, javacErrored, messager, messagesProperties, MSGS_FILE, OPTION_SEPARATOR, parentChecker, SUPPRESS_ALL_MESSAGE_KEY, SUPPRESS_ALL_PREFIX, treePathCacher, trees, types, UNNEEDED_SUPPRESSION_KEY, upstreamCheckerNames, useAllcheckersPrefix, visitor
-
-
Constructor Summary
Constructors Constructor Description AnnotationStatistics()
Creates an AnnotationStatistics.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SourceVisitor<?,?>
createSourceVisitor()
Provides theSourceVisitor
that the checker should use to scan input source trees.AnnotationProvider
getAnnotationProvider()
Returns the AnnotationProvider (the type factory) associated with this.protected void
incrementCount(javax.lang.model.element.Name annoName)
Increment the number of times annotation with nameannoName
has appeared.void
typeProcessingOver()
A method to be called once all the classes are processed.-
Methods inherited from class org.checkerframework.framework.source.SourceChecker
addOptions, createSupportedLintOptions, expandCFOptions, fullMessageOf, getBooleanOption, getBooleanOption, getElementUtils, getLintOption, getLintOption, getMessagesProperties, getOption, getOption, getOptionConfiguration, getOptions, getParentChecker, getPathToCompilationUnit, getProcessingEnvironment, getProperties, getStandardSuppressWarningsPrefixes, getStringsOption, getStringsOption, getSupportedAnnotationTypes, getSupportedLintOptions, getSupportedOptions, getSupportedSourceVersion, getSuppressWarningsPrefixes, getTreePathCacher, getTreeUtils, getTypeUtils, getUpstreamCheckerNames, getVisitor, getWarningMessagePrefix, hasOption, init, initChecker, message, message, messageKeyMatches, printOrStoreMessage, printOrStoreMessage, printStats, processErrorMessageArg, report, reportError, reportWarning, setLintOption, setParentChecker, setProcessingEnvironment, setRoot, setSupportedLintOptions, shouldAddShutdownHook, shouldSkipDefs, shouldSkipDefs, shouldSkipUses, shouldSkipUses, shouldSuppressWarnings, shouldSuppressWarnings, shouldSuppressWarnings, shutdownHook, typeProcess, typeProcessingStart, useConservativeDefault, warnUnneededSuppressions, warnUnneededSuppressions
-
Methods inherited from class org.checkerframework.javacutil.AbstractTypeProcessor
getCompilerLog, process
-
Methods inherited from class javax.annotation.processing.AbstractProcessor
getCompletions, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.checkerframework.framework.util.OptionConfiguration
getStringsOption, getStringsOption
-
-
-
-
Method Detail
-
typeProcessingOver
public void typeProcessingOver()
Description copied from class:AbstractTypeProcessor
A method to be called once all the classes are processed.Subclasses may override this method to do any aggregate analysis (e.g. generate report, persistence) or resource deallocation.
Method
AbstractTypeProcessor.getCompilerLog()
can be used to access the number of compiler errors.- Overrides:
typeProcessingOver
in classAbstractTypeProcessor
-
incrementCount
protected void incrementCount(javax.lang.model.element.Name annoName)
Increment the number of times annotation with nameannoName
has appeared.
-
createSourceVisitor
protected SourceVisitor<?,?> createSourceVisitor()
Description copied from class:SourceChecker
Provides theSourceVisitor
that the checker should use to scan input source trees.- Specified by:
createSourceVisitor
in classSourceChecker
- Returns:
- a
SourceVisitor
to use to scan source trees
-
getAnnotationProvider
public AnnotationProvider getAnnotationProvider()
Description copied from class:SourceChecker
Returns the AnnotationProvider (the type factory) associated with this.- Overrides:
getAnnotationProvider
in classSourceChecker
- Returns:
- the AnnotationProvider (the type factory) associated with this
-
-