Class SystemGetPropertyHandler
java.lang.Object
org.checkerframework.checker.nullness.SystemGetPropertyHandler
Utility class for handling
System.getProperty(String)
and related invocations.
The result of the method call is assumed to be non-null if the argument is a literal key that
is guaranteed to be present in the system properties (according to the documentation of System.getProperty(String)
), as in System.getProperties("line.separator")
.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Collection
<String> System properties that are defined at startup on every JVM. -
Constructor Summary
ConstructorDescriptionSystemGetPropertyHandler
(ProcessingEnvironment env, NullnessNoInitAnnotatedTypeFactory factory, boolean permitClearProperty) Creates a SystemGetPropertyHandler. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Apply rules regarding System.getProperty and related methods.
-
Field Details
-
predefinedSystemProperties
System properties that are defined at startup on every JVM.This list is from the Javadoc of System.getProperties, for Java 17.
-
-
Constructor Details
-
SystemGetPropertyHandler
public SystemGetPropertyHandler(ProcessingEnvironment env, NullnessNoInitAnnotatedTypeFactory factory, boolean permitClearProperty) Creates a SystemGetPropertyHandler.- Parameters:
env
- the processing environmentfactory
- the factory for constructing and looking up typespermitClearProperty
- if true, client code may clear system properties, and this object does nothing
-
-
Method Details
-
handle
Apply rules regarding System.getProperty and related methods.- Parameters:
tree
- a method invocationmethod
- the method being invoked
-