Package org.checkerframework.javacutil
Class SystemUtil
java.lang.Object
org.checkerframework.javacutil.SystemUtil
This file contains basic utility functions.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intThe major version number of the Java runtime (JRE), such as 8, 11, or 17.
- 
Method SummaryModifier and TypeMethodDescriptionavailable(InputStream is) CallsInputStream.available(), but returns null instead of throwing an IOException.static intDeprecated.Returns the release value passed to the compiler or null if release was not passed.Returns the pathname to the tools.jar file, or null if it does not exist.isWhitespaceOnly(InputStream is, int readLimit) Returns true if the firstreadLimitbytes of the input stream consist only of whitespace.static intReads a Unicode code point from an input stream.
- 
Field Details- 
jreVersionpublic static final int jreVersionThe major version number of the Java runtime (JRE), such as 8, 11, or 17.
 
- 
- 
Method Details- 
availableCallsInputStream.available(), but returns null instead of throwing an IOException.- Parameters:
- is- an input stream
- Returns:
- is.available(), or null if that throws an exception
 
- 
isWhitespaceOnlyReturns true if the firstreadLimitbytes of the input stream consist only of whitespace.- Parameters:
- is- an input stream
- readLimit- how many bytes to look ahead in the input stream
- Returns:
- null if !is.markSupported(); otherwise, true if the firstreadLimitcharacters of the input stream consist only of whitespace
 
- 
readCodePointReads a Unicode code point from an input stream.- Parameters:
- is- an input stream
- Returns:
- the Unicode code point for the next character in the input stream
 
- 
getJreVersionDeprecated.use fieldjreVersioninsteadReturns the major version number from the "java.version" system property, such as 8, 11, or 17.This is different from the version passed to the compiler via --release; usegetReleaseValue(ProcessingEnvironment)to get that version.Two possible formats of the "java.version" system property are considered. Up to Java 8, from a version string like `1.8.whatever`, this method extracts 8. Since Java 9, from a version string like `11.0.1`, this method extracts 11. Starting in Java 9, there is the int Runtime.version().feature(), but that does not exist on JDK 8.- Returns:
- the major version of the Java runtime
 
- 
getReleaseValueReturns the release value passed to the compiler or null if release was not passed.- Parameters:
- env- the ProcessingEnvironment
- Returns:
- the release value or null if none was passed
 
- 
getToolsJarReturns the pathname to the tools.jar file, or null if it does not exist. Returns null on Java 9 and later.- Returns:
- the pathname to the tools.jar file, or null
 
 
- 
jreVersioninstead