Class JavaCodeStatistics
java.lang.Object
javax.annotation.processing.AbstractProcessor
org.checkerframework.javacutil.AbstractTypeProcessor
org.checkerframework.framework.source.SourceChecker
org.checkerframework.common.util.count.JavaCodeStatistics
- All Implemented Interfaces:
Processor
,OptionConfiguration
An annotation processor for counting a few specific aspects about the size of Java code:
- The number of type parameter declarations and uses.
- The number of array accesses and dimensions in array creations.
- The number of type casts.
To invoke it, use
javac -proc:only -processor org.checkerframework.common.util.count.JavaCodeStatistics MyFile.java ...
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.checkerframework.framework.source.SourceChecker
SourceChecker.CheckerMessage
-
Field Summary
Fields inherited from class org.checkerframework.framework.source.SourceChecker
activeOptions, currentRoot, DETAILS_SEPARATOR, elements, elementsWithSuppressedWarnings, immediateSubcheckers, javacErrored, messager, messagesProperties, messageStore, MSGS_FILE, OPTION_SEPARATOR, parentChecker, subcheckers, supportedOptions, SUPPRESS_ALL_MESSAGE_KEY, SUPPRESS_ALL_PREFIX, suppressWarningsPrefixesOfSubcheckers, treePathCacher, trees, types, UNNEEDED_SUPPRESSION_KEY, upstreamCheckerNames, useAllcheckersPrefix, visitor
Fields inherited from class javax.annotation.processing.AbstractProcessor
processingEnv
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected SourceVisitor<?,
?> Provides theSourceVisitor
that the checker should use to scan input source trees.Returns the AnnotationProvider (the type factory) associated with this.void
A method to be called once all the classes are processed.Methods inherited from class org.checkerframework.framework.source.SourceChecker
createSupportedLintOptions, expandCFOptions, fullMessageOf, getBooleanOption, getBooleanOption, getElementUtils, getExtraStubFiles, getImmediateSubcheckerClasses, getLintOption, getLintOption, getMessagesProperties, getOption, getOption, getOptionConfiguration, getOptions, getOptionsNoSubcheckers, getParentChecker, getPathToCompilationUnit, getProcessingEnvironment, getProperties, getRelatedClassName, getStandardSuppressWarningsPrefixes, getStringsOption, getStringsOption, getSubchecker, getSubCheckerIndex, getSubcheckers, getSupportedAnnotationTypes, getSupportedLintOptions, getSupportedOptions, getSupportedSourceVersion, getSuppressWarningsPrefixes, getSuppressWarningsPrefixesOfSubcheckers, getTreePathCacher, getTreeUtils, getTypeUtils, getUpstreamCheckerNames, getVisitor, hasOption, hasOptionNoSubcheckers, init, initChecker, instantiateSubcheckers, message, message, messageKeyMatches, printOrStoreMessage, printOrStoreMessage, printStats, printStoredMessages, processErrorMessageArg, report, reportError, reportWarning, setLintOption, setParentChecker, setRoot, shouldAddShutdownHook, shouldResolveReflection, shouldSkipDefs, shouldSkipDefs, shouldSkipDefs, shouldSkipFiles, 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
-
Constructor Details
-
JavaCodeStatistics
public JavaCodeStatistics()Creates a JavaCodeStatistics.
-
-
Method Details
-
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 classSourceChecker
-
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
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
-