Class InitializationChecker
java.lang.Object
javax.annotation.processing.AbstractProcessor
org.checkerframework.javacutil.AbstractTypeProcessor
org.checkerframework.framework.source.SourceChecker
org.checkerframework.common.basetype.BaseTypeChecker
org.checkerframework.checker.initialization.InitializationChecker
- All Implemented Interfaces:
Processor
,OptionConfiguration
- Direct Known Subclasses:
NullnessChecker
Tracks whether a value is initialized (all its fields are set), and checks that values are
initialized before being used. Implements the freedom-before-commitment scheme for
initialization, augmented by type frames.
- See the Checker Framework Manual:
- Initialization 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.common.basetype.BaseTypeChecker
baseTypeCheckerClassArray, ultimateParentChecker
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
ModifierConstructorDescriptionprotected
Create a new InitializationChecker. -
Method Summary
Modifier and TypeMethodDescriptionstatic List<VariableTree>
getAllFields
(ClassTree clazz) Returns a list of all fields of the given class.Returns a modifiable set of lower-case strings that are prefixes for SuppressWarnings strings.protected boolean
messageKeyMatches
(String messageKey, String messageKeyInSuppressWarningsString) Does the given messageKey match a messageKey that appears in a SuppressWarnings? Subclasses should override this method if they need additional logic to compare message keys.Methods inherited from class org.checkerframework.common.basetype.BaseTypeChecker
createSourceVisitor, createSourceVisitorPublic, createSupportedLintOptions, getAnnotationProvider, getTypeFactory, getTypeFactoryOfSubcheckerOrNull, getUltimateParentChecker, getVisitor, invokeConstructorFor, processErrorMessageArg, shouldAddShutdownHook, shutdownHook
Methods inherited from class org.checkerframework.framework.source.SourceChecker
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, getSuppressWarningsPrefixesOfSubcheckers, getTreePathCacher, getTreeUtils, getTypeUtils, getUpstreamCheckerNames, hasOption, hasOptionNoSubcheckers, init, initChecker, instantiateSubcheckers, message, message, printOrStoreMessage, printOrStoreMessage, printStats, printStoredMessages, report, reportError, reportWarning, setLintOption, setParentChecker, setRoot, shouldResolveReflection, shouldSkipDefs, shouldSkipDefs, shouldSkipDefs, shouldSkipFiles, shouldSkipUses, shouldSkipUses, shouldSuppressWarnings, shouldSuppressWarnings, shouldSuppressWarnings, typeProcess, typeProcessingOver, 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
-
InitializationChecker
protected InitializationChecker()Create a new InitializationChecker.
-
-
Method Details
-
getSuppressWarningsPrefixes
Description copied from class:SourceChecker
Returns a modifiable set of lower-case strings that are prefixes for SuppressWarnings strings.The collection must not be empty and must not contain only
SourceChecker.SUPPRESS_ALL_PREFIX
.- Overrides:
getSuppressWarningsPrefixes
in classSourceChecker
- Returns:
- non-empty modifiable set of lower-case prefixes for SuppressWarnings strings
-
getAllFields
Returns a list of all fields of the given class. -
messageKeyMatches
Description copied from class:SourceChecker
Does the given messageKey match a messageKey that appears in a SuppressWarnings? Subclasses should override this method if they need additional logic to compare message keys.- Overrides:
messageKeyMatches
in classSourceChecker
- Parameters:
messageKey
- the message key of the error that is being emitted, without any "checker:" prefixmessageKeyInSuppressWarningsString
- the message key in a@SuppressWarnings
annotation- Returns:
- true if the arguments match
-