Class ModifiabilityChecker
java.lang.Object
javax.annotation.processing.AbstractProcessor
org.checkerframework.javacutil.AbstractTypeProcessor
org.checkerframework.framework.source.SourceChecker
org.checkerframework.framework.source.AggregateChecker
org.checkerframework.checker.modifiability.ModifiabilityChecker
- All Implemented Interfaces:
Processor,OptionConfiguration
A type-checker that warns, at compile time, if a program might throw
UnsupportedOperationException at run time due to calling a mutating method on a collection.
This is an aggregate checker that runs independent sub-checkers, one for each modifiability capability and one for iterator modifiability preservation:
GrowCheckerchecks grow operations (e.g.,add,addAll)SeqGrowCheckerchecks sequenced grow operations (e.g.,addFirst,addLast)ShrinkCheckerchecks shrink operations (e.g.,remove,clear)ReplaceCheckerchecks replace operations (e.g.,set,replaceAll)IteratorCheckerchecks whether iterators preserve receiver modifiability
- See the Checker Framework Manual:
- Modifiability Checker
-
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_PREFIX, suppressWarningsPrefixesOfSubcheckers, treePathCacher, trees, types, upstreamCheckerNames, useAllcheckersPrefix, visitorFields inherited from class javax.annotation.processing.AbstractProcessor
processingEnv -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected SourceVisitor<?, ?> Provides theSourceVisitorthat the checker should use to scan input source trees.protected Collection<Class<? extends SourceChecker>> Returns the list of independent subcheckers to be run together.Methods inherited from class org.checkerframework.framework.source.AggregateChecker
getImmediateSubcheckerClassesMethods inherited from class org.checkerframework.framework.source.SourceChecker
createSupportedLintOptions, expandCFOptions, fullMessageOf, getAnnotationProvider, getBooleanOption, getBooleanOption, getElementUtils, getExtraStubFiles, 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, reportOnce, reportWarning, setLintOption, setParentChecker, setRoot, shouldAddShutdownHook, shouldResolveReflection, shouldSkipDefs, shouldSkipDefs, shouldSkipDefs, shouldSkipFiles, shouldSkipUses, shouldSkipUses, shouldSuppressWarnings, shouldSuppressWarnings, shouldSuppressWarnings, shutdownHook, typeProcess, typeProcessingOver, typeProcessingStart, useConservativeDefault, warnUnneededSuppressions, warnUnneededSuppressionsMethods inherited from class org.checkerframework.javacutil.AbstractTypeProcessor
getCompilerLog, processMethods inherited from class javax.annotation.processing.AbstractProcessor
getCompletions, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.checkerframework.framework.util.OptionConfiguration
getStringsOption, getStringsOption
-
Constructor Details
-
ModifiabilityChecker
public ModifiabilityChecker()Creates a ModifiabilityChecker.
-
-
Method Details
-
getSupportedCheckers
Description copied from class:AggregateCheckerReturns the list of independent subcheckers to be run together. An aggregate checker overrides this method to indicate its immediate subcheckers.- Specified by:
getSupportedCheckersin classAggregateChecker- Returns:
- the list of immediate subcheckers checkers to be run
-
createSourceVisitor
Description copied from class:SourceCheckerProvides theSourceVisitorthat the checker should use to scan input source trees.- Overrides:
createSourceVisitorin classAggregateChecker- Returns:
- a
SourceVisitorto use to scan source trees
-