blob: 6c761c7ade83bd7c69b8be299181d797fbaec634 [file] [log] [blame]
###############################################################################
# Copyright (c) 2000, 2019 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# IBM Corporation - initial API and implementation
# Benjamin Muskalla - Contribution for bug 239066
# Stephan Herrmann - Contributions for
# bug 236385 - [compiler] Warn for potential programming problem if an object is created but not used
# bug 295551 - Add option to automatically promote all warnings to errors
# bug 359721 - [options] add command line option for new warning token "resource"
# bug 365208 - [compiler][batch] command line options for annotation based null analysis
# bug 374605 - Unreasonable warning for enum-based switch statements
# bug 388281 - [compiler][null] inheritance of null annotations as an option
# bug 440687 - [compiler][batch][null] improve command line option for external annotations
# Bug 408815 - [batch][null] Add CLI option for COMPILER_PB_SYNTACTIC_NULL_ANALYSIS_FOR_FIELDS
# Alan Moraes <alan@kelon.org> - Contribution for bug 383644
# Jesper S Moller - Contribution for bug 407297 - [1.8][compiler] Control generation of parameter names by option
###############################################################################
### JavaBatchCompiler messages.
### compiler
#Format: compiler.name = word1 word2 word3
compiler.name = Eclipse Compiler for Java(TM)
#Format: compiler.version = (The place holders will be automatically filled. Do not remove or alter it)
compiler.version = bundle_qualifier, bundle_version
compiler.copyright = Copyright IBM Corp 2000, 2015. All rights reserved.
###{ObjectTeams:
otdtc.name = Extension for Object Teams
otdtc.version = 2.7.6
otdtc.copyright = Copyright by TU Berlin, Fraunhofer FIRST and others, 2004, 2019.
### SH}
### progress
progress.compiling = Compiling
### compile
compile.repetition = [repetition {0}/{1}]
compile.instantTime = [compiled {0} lines in {1} ms: {2} lines/s]
compile.detailedTime = [parse: {0} ms ({1}%), resolve: {2} ms ({3}%), analyze: {4} ms ({5}%), generate: {6} ms ({7}%) ]
compile.ioTime = [i/o: read: {0} ms ({1}%), write: {2} ms ({3}%)]
compile.averageTime = [average, excluding min-max {0} lines in {1} ms: {2} lines/s]
compile.totalTime = [total compilation time: {0}]
compile.oneProblem = 1 problem ({0})
compile.severalProblemsErrorsOrWarnings = {0} problems ({1})
compile.severalProblemsErrorsAndWarnings = {0} problems ({1}, {2})
compile.severalProblems = {0} problems ({1}, {2}, {3})
compile.oneError = 1 error
compile.severalErrors = {0} errors
compile.oneWarning = 1 warning
compile.severalWarnings = {0} warnings
compile.oneInfo = 1 info
compile.severalInfos = {0} info
compile.oneClassFileGenerated = [1 .class file generated]
compile.severalClassFilesGenerated = [{0} .class files generated]
compile.failOnWarning = error: warnings found and -failOnWarning specified
### configure
configure.requiresJDK1.2orAbove = Need to use a JVM >= 1.2
configure.duplicateLog = duplicate log specification: {0}
configure.duplicateRepeat = duplicate repeat specification: {0}
configure.duplicateMaxProblems = duplicate max problems specification: {0}
configure.duplicateCompliance = duplicate compliance setting specification: {0}
configure.duplicateSource = duplicate source compliance setting specification: {0}
configure.duplicateTarget = duplicate target compliance setting specification: {0}
configure.unsupportedReleaseOption = option --release is supported only when run with JDK 9 or above
configure.unsupportedWithRelease = option {0} is not supported when --release is used
configure.unsupportedReleaseVersion = release version {0} is not supported
configure.source = source level should be in ''1.1''...''1.8'',''9''...''11'' (or ''5.0''..''11.0''): {0}
configure.invalidSystem = invalid location for system libraries: {0}
configure.unsupportedOption = option {0} not supported at compliance level 9 and above
configure.duplicateOutputPath = duplicate output path specification: {0}
configure.duplicateModulePath = duplicate module path specification: {0}
configure.duplicateModuleSourcepath = duplicate source module path specification: {0}
configure.invalidModuleDescriptor = cannot open the module descriptor from {0}
configure.invalidModuleOption = incorrectly formatted option: {0}
configure.duplicateExport = can specify a package in a module only once with --add-export
configure.OneOfModuleOrSourcePath = cannot specify both -source-path and --module-source-path
configure.duplicateBootClasspath = duplicate bootclasspath specification: {0}
configure.duplicateExtDirs = duplicate extdirs specification: {0}
configure.duplicateSourcepath = duplicate sourcepath specification: {0}
configure.invalidDebugOption = invalid debug option: {0}
configure.invalidWarningConfiguration = invalid warning configuration: ''{0}''
configure.invalidWarning = invalid warning token: ''{0}''. Ignoring warning and compiling
configure.invalidWarningOption = invalid warning option: ''{0}''. Must specify a warning token
configure.targetJDK = target level should be in ''1.1''...''1.8'',''9''...''11'' (or ''5.0''..''11.0'') or cldc1.1: {0}
configure.incompatibleTargetForSource = Target level ''{0}'' is incompatible with source level ''{1}''. A target level ''{1}'' or better is required
configure.incompatibleTargetForGenericSource = Target level ''{0}'' is incompatible with source level ''{1}''. A source level ''1.5'' or better is required
configure.incompatibleComplianceForSource = Compliance level ''{0}'' is incompatible with source level ''{1}''. A compliance level ''{1}'' or better is required
configure.incompatibleComplianceForTarget = Compliance level ''{0}'' is incompatible with target level ''{1}''. A compliance level ''{1}'' or better is required
configure.repetition = repetition must be a positive integer: {0}
configure.maxProblems = max problems must be a positive integer: {0}
configure.invalidNowarnOption = invalid syntax for nowarn option: {0}
configure.unsupportedPreview = Preview of features is supported only at the latest source level
configure.invalidErrorConfiguration = invalid error configuration: ''{0}''
configure.invalidError = invalid error token: ''{0}''. Ignoring this error token and compiling
configure.invalidErrorOption = invalid error option: ''{0}''. Must specify an error token
configure.invalidInfoConfiguration = invalid info configuration: ''{0}''
configure.invalidInfo = invalid info token: ''{0}''. Ignoring this info token and compiling
configure.invalidInfoOption = invalid info option: ''{0}''. Must specify an info token
configure.notOnModuleSourcePath = ''{0}'' does not belong to a module on the module source path
configure.no.ModuleDescriptorVersionparse = Could not invoke method java.lang.module.ModuleDescriptor.Version.parse(), cannot validate module version.
## configure.directoryNotExist = directory does not exist: {0}
configure.unrecognizedOption = Unrecognized option : {0}
configure.noClasspath = no classpath defined, using default directory instead
configure.incorrectClasspath = incorrect classpath: {0}
configure.invalidexpansionargumentname = expansion argument file {0} does not exist or cannot be read
configure.cannotOpenLog = cannot open .log file: {0}
configure.cannotOpenLogInvalidEncoding = cannot open .log file: {0}; because UTF-8 is not supported
configure.unexpectedCustomEncoding = unexpected custom encoding specification: {0}[{1}]
configure.unsupportedEncoding = unsupported encoding format: {0}
configure.duplicateDefaultEncoding = duplicate default encoding format specification: {0}
configure.invalidTaskTag ={0} is an invalid task tag
configure.incorrectExtDirsEntry = incorrect ext dir entry; {0} must be a directory
configure.incorrectEndorsedDirsEntry = incorrect endorsed dir entry; {0} must be a directory
configure.duplicateEndorsedDirs = duplicate endorseddirs specification: {0}
configure.missingDestinationPath = destination path must be provided with module source path
configure.incorrectDestinationPathEntry = incorrect destination path entry: {0}
configure.unexpectedBracket = unexpected bracket: {0}
configure.unexpectedDestinationPathEntry = unexpected destination path entry in {0} option
configure.unexpectedDestinationPathEntryFile = unexpected destination path entry for file: {0}
configure.accessRuleAfterDestinationPath = access rules cannot follow destination path entries: {0}
configure.duplicateDestinationPathEntry = duplicate destination path entry in {0} option
configure.invalidClassName = invalid class name: {0}
configure.invalidModuleName = invalid module name: {0}
configure.packageConflict = The package {0} is accessible from more than one module: {1}, {2}
configure.unavailableAPT = Unable to load annotation processing manager {0} from classpath.
configure.incorrectVMVersionforAPT = Annotation processing got disabled, since it requires a 1.6 compliant JVM
configure.incompatibleSourceForCldcTarget=Target level ''{0}'' is incompatible with source level ''{1}''. A source level ''1.3'' or lower is required
configure.incompatibleComplianceForCldcTarget=Target level ''{0}'' is incompatible with compliance level ''{1}''. A compliance level ''1.4''or lower is required
configure.invalidClasspathSection = invalid Class-Path header in manifest of jar file: {0}
configure.multipleClasspathSections = multiple Class-Path headers in manifest of jar file: {0}
configure.missingwarningspropertiesfile=properties file {0} does not exist
configure.ioexceptionwarningspropertiesfile=An IOException occurred while reading the properties file {0}
configure.multipleencodings=Multiple encoding specified: {1}. The default encoding has been set to {0}
configure.differentencodings=Found encoding {0}. Different encodings were specified: {1}
configure.differentencoding=Found encoding {0}. A different encoding was specified: {1}
### null annotations
configure.invalidNullAnnot = Token {0} is not in the expected format "nullAnnot(<nullable annotation name> | <non null annotation name> | <non-null by default annotation name>)"
configure.missingAnnotationPath = Missing argument to -annotationpath at ''{0}''
### requestor
requestor.error = {0}. ERROR in {1}
requestor.warning = {0}. WARNING in {1}
requestor.info = {0}. INFO in {1}
requestor.extraerror = {0}. ERROR:
requestor.extrawarning = {0}. WARNING:
requestor.extrainfo = {0}. INFO:
requestor.notRetrieveErrorMessage = Cannot retrieve the error message for {0}
requestor.noFileNameSpecified = (original file name is not available)
### EMACS STYLE
output.emacs.error=error
output.emacs.warning=warning
output.emacs.info=info
### unit
unit.more = File {0} is specified more than once
unit.missing = File {0} is missing
### output
output.noClassFileCreated = No .class file created for file {1} in {0} because of an IOException: {2}
### miscellaneous
### {ObjectTeams: one for testing the other for -version command
misc.version.orig = {0} {1}, {2}
misc.version = {0} {1}, {2}\n{3}, {4}, {5}
### SH}
misc.usage = {1} {2}\n\
{3}\n\
\ \n\
\ Usage: <options> <source files | directories>\n\
\ If directories are specified, then their source contents are compiled.\n\
\ Possible options are listed below. Options enabled by default are prefixed\n\
\ with ''+''.\n\
\ \n\
\ Classpath options:\n\
\ -cp -classpath <directories and ZIP archives separated by {0}>\n\
\ specify location for application classes and sources.\n\
\ Each directory or file can specify access rules for\n\
\ types between ''['' and '']'' (e.g. [-X] to forbid\n\
\ access to type X, [~X] to discourage access to type X,\n\
\ [+p/X{0}-p/*] to forbid access to all types in package p\n\
\ but allow access to p/X)\n\
\ -bootclasspath <directories and ZIP archives separated by {0}>\n\
\ specify location for system classes. Each directory or\n\
\ file can specify access rules for types between ''[''\n\
\ and '']''\n\
\ -sourcepath <directories and ZIP archives separated by {0}>\n\
\ specify location for application sources. Each directory\n\
\ or file can specify access rules for types between ''[''\n\
\ and '']''. Each directory can further specify a specific\n\
\ destination directory using a ''-d'' option between ''[''\n\
\ and '']''; this overrides the general ''-d'' option.\n\
\ .class files created from source files contained in a\n\
\ jar file are put in the user.dir folder in case no\n\
\ general ''-d'' option is specified. ZIP archives cannot\n\
\ override the general ''-d'' option\n\
\ -extdirs <directories separated by {0}>\n\
\ specify location for extension ZIP archives\n\
\ -endorseddirs <directories separated by {0}>\n\
\ specify location for endorsed ZIP archives\n\
\ -d <dir> destination directory (if omitted, no directory is\n\
\ created); this option can be overridden per source\n\
\ directory\n\
\ -d none generate no .class files\n\
\ -encoding <enc> specify default encoding for all source files. Each\n\
\ file/directory can override it when suffixed with\n\
\ ''[''<enc>'']'' (e.g. X.java[utf8]).\n\
\ If multiple default encodings are specified, the last\n\
\ one will be used.\n\
\ \n\
\ Module compilation options:\n\
\ These options are meaningful only in Java 9 environment or later.\n\
\ --module-source-path <directories separated by {0}>\n\
\ specify where to find source files for multiple modules\n\
\ -p --module-path <directories separated by {0}>\n\
\ specify where to find application modules\n\
\ --processor-module-path <directories separated by {0}>\n\
\ specify module path where annotation processors\n\
\ can be found\n\
\ --system <jdk> Override location of system modules\n\
\ --add-exports <module>/<package>=<other-module>(,<other-module>)*\n\
\ specify additional package exports clauses to the\n\
\ given modules\n\
\ --add-reads <module>=<other-module>(,<other-module>)*\n\
\ specify additional modules to be considered as required\n\
\ by given modules\n\
\ --add-modules <module>(,<module>)*\n\
\ specify the additional module names that should be\n\
\ resolved to be root modules\n\
\ --limit-modules <module>(,<module>)*\n\
\ specify the observable module names\n\
\ --release <release>\n\
\ compile for a specific VM version\n\
\ \n\
\ Compliance options:\n\
\ -1.3 use 1.3 compliance (-source 1.3 -target 1.1)\n\
\ -1.4 + use 1.4 compliance (-source 1.3 -target 1.2)\n\
\ -1.5 -5 -5.0 use 1.5 compliance (-source 1.5 -target 1.5)\n\
\ -1.6 -6 -6.0 use 1.6 compliance (-source 1.6 -target 1.6)\n\
\ -1.7 -7 -7.0 use 1.7 compliance (-source 1.7 -target 1.7)\n\
\ -1.8 -8 -8.0 use 1.8 compliance (-source 1.8 -target 1.8)\n\
\ -1.9 -9 -9.0 use 1.9 compliance (-source 1.9 -target 1.9)\n\
\ -source <version> set source level: 1.3 to 1.9 (or 6, 6.0, etc)\n\
\ -target <version> set classfile target: 1.1 to 1.9 (or 6, 6.0, etc)\n\
\ cldc1.1 can also be used to generate the StackMap\n\
\ attribute\n\
\ -ot.weaving:otre compile for the traditional Object Teams weaver\n\
\ -ot.weaving:otdre compile for the dynamic Object Teams weaver\n\
\ \n\
\ Warning options:\n\
\ -deprecation + deprecation outside deprecated code (equivalent to\n\
\ -warn:+deprecation)\n\
\ -nowarn -warn:none disable all warnings\n\
\ -nowarn:[<directories separated by {0}>]\n\
\ specify directories from which optional problems should\n\
\ be ignored\n\
\ -?:warn -help:warn display advanced warning options\n\
\ \n\
\ Error options:\n\
\ -err:<warnings separated by ,> convert exactly the listed warnings\n\
\ to be reported as errors\n\
\ -err:+<warnings separated by ,> enable additional warnings to be\n\
\ reported as errors\n\
\ -err:-<warnings separated by ,> disable specific warnings to be\n\
\ reported as errors\n\
\ \n\
\ Info options:\n\
\ -info:<warnings separated by ,> convert exactly the listed warnings\n\
\ to be reported as infos\n\
\ -info:+<warnings separated by ,> enable additional warnings to be\n\
\ reported as infos\n\
\ -info:-<warnings separated by ,> disable specific warnings to be\n\
\ reported as infos\n\
\ \n\
\ Setting warning, error or info options using properties file:\n\
\ -properties <file> set warnings/errors/info option based on the properties\n\
\ file contents. This option can be used with -nowarn,\n\
\ -err:.., -info: or -warn:.. options, but the last one\n\
\ on the command line sets the options to be used.\n\
\ \n\
\ Debug options:\n\
\ -g[:lines,vars,source] custom debug info\n\
\ -g:lines,source + both lines table and source debug info\n\
\ -g all debug info\n\
\ -g:none no debug info\n\
\ -preserveAllLocals preserve unused local vars for debug purpose\n\
\ \n\
\ Annotation processing options:\n\
\ These options are meaningful only in a 1.6 environment.\n\
\ -Akey[=value] options that are passed to annotation processors\n\
\ -processorpath <directories and ZIP archives separated by {0}>\n\
\ specify locations where to find annotation processors.\n\
\ If this option is not used, the classpath will be\n\
\ searched for processors\n\
\ -processor <class1[,class2,...]>\n\
\ qualified names of the annotation processors to run.\n\
\ This bypasses the default annotation discovery process\n\
\ -proc:only run annotation processors, but do not compile\n\
\ -proc:none perform compilation but do not run annotation\n\
\ processors\n\
\ -s <dir> destination directory for generated source files\n\
\ -XprintProcessorInfo print information about which annotations and elements\n\
\ a processor is asked to process\n\
\ -XprintRounds print information about annotation processing rounds\n\
\ -classNames <className1[,className2,...]>\n\
\ qualified names of binary classes to process\n\
\ \n\
\ Advanced options:\n\
\ @<file> read command line arguments from file\n\
\ -maxProblems <n> max number of problems per compilation unit (100 by\n\
\ default)\n\
\ -log <file> log to a file. If the file extension is ''.xml'', then\n\
\ the log will be a xml file.\n\
\ -proceedOnError[:Fatal]\n\
\ do not stop at first error, dumping class files with\n\
\ problem methods\n\
\ With ":Fatal", all optional errors are treated as fatal\n\
\ -failOnWarning fail compilation if there are warnings\n\
\ -verbose enable verbose output\n\
\ -referenceInfo compute reference info\n\
\ -progress show progress (only in -log mode)\n\
\ -time display speed information \n\
\ -noExit do not call System.exit(n) at end of compilation (n==0\n\
\ if no error)\n\
\ -repeat <n> repeat compilation process <n> times for perf analysis\n\
\ -inlineJSR inline JSR bytecode (implicit if target >= 1.5)\n\
\ -enableJavadoc consider references in javadoc\n\
\ -parameters generate method parameters attribute (for target >= 1.8)\n\
\ -genericsignature generate generic signature for lambda expressions\n\
\ -Xemacs used to enable emacs-style output in the console.\n\
\ It does not affect the xml log output\n\
\ -missingNullDefault report missing default nullness annotation\n\
\ -annotationpath <directories and ZIP archives separated by {0}>\n\
\ specify locations where to find external annotations\n\
\ to support annotation-based null analysis.\n\
\ The special name CLASSPATH will cause lookup of\n\
\ external annotations from the classpath and sourcepath.\n\
\ \n\
\ -? -help print this help message\n\
\ -v -version print compiler version\n\
\ -showversion print compiler version and continue\n\
\ \n\
\ Ignored options:\n\
\ -J<option> pass option to virtual machine (ignored)\n\
\ -X<option> specify non-standard option (ignored\n\
\ except for listed -X options)\n\
\ -X print non-standard options and exit (ignored)\n\
\ -O optimize for execution time (ignored)\n
##{ObjectTeams: OT-warning tokens added
misc.usage.warn = {1} {2}\n\
{3}\n\
\ \n\
\ Warning options:\n\
\ -deprecation + deprecation outside deprecated code\n\
\ -nowarn -warn:none disable all warnings and infos\n\
\ -nowarn:[<directories separated by {0}>]\n\
\ specify directories from which optional problems should\n\
\ be ignored\n\
\ -warn:<warnings separated by ,> enable exactly the listed warnings\n\
\ -warn:+<warnings separated by ,> enable additional warnings\n\
\ -warn:-<warnings separated by ,> disable specific warnings\n\
\ abstractrelevantrole + abstract relevant role (OTJLD 2.5(b))\n\
\ adaptDeprecated + adapting a deprecated type/method\n\
\ all enable all warnings\n\
\ allDeadCode dead code including trivial if(DEBUG) check\n\
\ allDeprecation deprecation including inside deprecated code\n\
\ allJavadoc invalid or missing javadoc\n\
\ allOver-ann all missing @Override annotations\n\
\ all-static-method all method can be declared as static warnings\n\
\ ambiguousbinding + ambiguous role-base bindings (OTJLD 2.3.4(a))\n\
\ ambiguouslowering + ambiguous lowering or upcast (OTJLD 2.2(f))\n\
\ assertIdentifier + ''assert'' used as identifier\n\
\ basecall + base call not issued exactly once on each path\n\
\ (OTJLD 4.3(b,c))\n\
\ baseclasscycle + role involved in a baseclass-member cycle\n\
\ (OTJLD 2.1.2(b)\n\
\ bindingconventions + discouraged use of import / import base\n\
\ (OTJLD 2.1.2(d))\n\
\ bindingtosystemclass + trying to bind a role to a system class\n\
\ boxing autoboxing conversion\n\
\ charConcat + char[] in String concat\n\
\ compareIdentical + comparing identical expressions\n\
\ conditionAssign possible accidental boolean assignment\n\
\ constructorName + method with constructor name\n\
\ dangerouscallin + dangerous callin binding (hashCode or equals)\n\
\ deadCode + dead code excluding trivial if (DEBUG) check\n\
\ decapsulation + overriding access restrictions of a base class\n\
\ (OTJLD 3.4)\n\
\ dep-ann missing @Deprecated annotation\n\
\ deprecation + deprecation outside deprecated code\n\
\ discouraged + use of types matching a discouraged access rule\n\
\ emptyBlock undocumented empty block\n\
\ enumIdentifier ''enum'' used as identifier\n\
\ enumSwitch incomplete enum switch\n\
\ enumSwitchPedantic + report missing enum switch cases even\n\
\ in the presence of a default case\n\
\ exceptioninguard + guard predicate throwing checked exception\n\
\ fallthrough possible fall-through case\n\
\ fieldHiding field hiding another variable\n\
\ finalBound type parameter with final bound\n\
\ finally + finally block not completing normally\n\
\ forbidden + use of types matching a forbidden access rule\n\
\ fragilecallin + replace callin not providing expected result\n\
\ (OTJLD 4.3(e))\n\
\ hashCode missing hashCode() method when overriding equals()\n\
\ hiddenLiftingProblem + a lifting that is not directly visible in source\n\
\ code could fail at runtime (OTJLD 2.3.5)\n\
\ hiding macro for fieldHiding, localHiding, typeHiding and\n\
\ maskedCatchBlock\n\
\ includeAssertNull raise null warnings for variables\n\
\ that got tainted in an assert expression\n\
\ indirectStatic indirect reference to static member\n\
\ inferredcallout + a callout binding has to be inferred (OTJLD 3.1(j))\n\
\ inheritNullAnnot inherit null annotations\n\
\ intfAnnotation + annotation type used as super interface\n\
\ intfNonInherited + interface non-inherited method compatibility\n\
\ intfRedundant find redundant superinterfaces\n\
\ invalidJavadoc all warnings for malformed javadoc tags\n\
\ invalidJavadocTag validate javadoc tag arguments\n\
\ invalidJavadocTagDep validate deprecated references in javadoc tag args\n\
\ invalidJavadocTagNotVisible validate non-visible references in javadoc\n\
\ tag args\n\
\ invalidJavadocVisibility(<visibility>) specify visibility modifier\n\
\ for malformed javadoc tag warnings\n\
\ javadoc invalid javadoc\n\
\ localHiding local variable hiding another variable\n\
\ maskedCatchBlock + hidden catch block\n\
\ missingJavadocTags missing Javadoc tags\n\
\ missingJavadocTagsOverriding missing Javadoc tags in overriding methods\n\
\ missingJavadocTagsMethod missing Javadoc tags for method type parameter\n\
\ missingJavadocTagsVisibility(<visibility>) specify visibility modifier\n\
\ for missing javadoc tags warnings\n\
\ missingJavadocComments missing Javadoc comments\n\
\ missingJavadocCommentsOverriding missing Javadoc tags in overriding\n\
\ methods\n\
\ missingJavadocCommentsVisibility(<visibility>) specify visibility\n\
\ modifier for missing javadoc comments warnings\n\
\ module + module related problems.\n\
\ nls string literal lacking non-nls tag //$NON-NLS-<n>$\n\
\ noEffectAssign + assignment without effect\n\
\ null potential missing or redundant null check\n\
\ nullAnnot(<annot. names separated by |>) annotation based null analysis,\n\
\ nullable|nonnull|nonnullbydefault annotation types\n\
\ optionally specified using fully qualified names.\n\
\ Enabling this option enables all null-annotation\n\
\ related sub-options. These can be individually\n\
\ controlled using options listed below.\n\
\ nullAnnotConflict conflict between null annotation specified\n\
\ and nullness inferred. Is effective only with\n\
\ nullAnnot option enabled.\n\
\ nullAnnotRedundant redundant specification of null annotation. Is\n\
\ effective only with nullAnnot option enabled.\n\
\ nullDereference + missing null check\n\
\ nullUncheckedConversion unchecked conversion from non-annotated type\n\
\ to @NonNull type. Is effective only with\n\
\ nullAnnot option enabled.\n\
\ over-ann missing @Override annotation (superclass)\n\
\ paramAssign assignment to a parameter\n\
\ pkgDefaultMethod + attempt to override package-default method\n\
\ raw + usage of raw type\n\
\ removal + deprecation marked for removal\n\
\ resource + (pot.) unsafe usage of resource of type Closeable\n\
\ roleinstantiation + unsafe instantiation of a role\n\
\ (OTJLD 2.4.1(c), 2.4.3)\n\
\ roletypesyntax + old style syntax for role types (dependent types)\n\
\ (OTJLD 1.2.2(b))\n\
\ semicolon unnecessary semicolon, empty statement\n\
\ serial + missing serialVersionUID\n\
\ specialParamHiding constructor or setter parameter hiding a field\n\
\ static-method method can be declared as static\n\
\ static-access macro for indirectStatic and staticReceiver\n\
\ staticReceiver + non-static reference to static member\n\
\ super overriding a method without making a super invocation\n\
\ suppress + enable @SuppressWarnings\n\
\ When used with -err:, it can also silence optional\n\
\ errors and warnings\n\
\ switchDefault switch statement lacking a default case\n\
\ syncOverride missing synchronized in synchr. method override\n\
\ syntacticAnalysis perform syntax-based null analysis for fields\n\
\ syntheticAccess synthetic access for innerclass\n\
\ tasks(<tags separated by |>) tasks identified by tags inside comments\n\
\ typeHiding + type parameter hiding another type\n\
\ unavoidableGenericProblems + ignore unavoidable type safety problems\n\
\ due to raw APIs\n\
\ unchecked + unchecked type operation\n\
\ unlikelyCollectionMethodArgumentType\n\
\ + unlikely argument type for collection method\n\
\ declaring an Object parameter\n\
\ unlikelyEqualsArgumentType unlikely argument type for method equals()\n\
\ unnecessaryElse unnecessary else clause\n\
\ unqualifiedField unqualified reference to field\n\
\ unused macro for unusedAllocation, unusedArgument,\n\
\ unusedImport, unusedLabel, unusedLocal,\n\
\ unusedPrivate, unusedThrown, and unusedTypeArgs,\n\
\ unusedExceptionParam\n\
\ unusedAllocation allocating an object that is not used\n\
\ unusedArgument unread method parameter\n\
\ unusedExceptionParam unread exception parameter\n\
\ unusedImport + unused import declaration\n\
\ unusedLabel + unused label\n\
\ unusedLocal + unread local variable\n\
\ unusedParam unused parameter\n\
\ unusedParamOverriding unused parameter for overriding method\n\
\ unusedParamImplementing unused parameter for implementing method\n\
\ unusedParamIncludeDoc unused parameter documented in comment tag\n\
\ unusedPrivate + unused private member declaration\n\
\ unusedThrown unused declared thrown exception\n\
\ unusedThrownWhenOverriding unused declared thrown exception in \n\
\ overriding method\n\
\ unusedThrownIncludeDocComment unused declared thrown exception,\n\
\ documented in a comment tag\n\
\ unusedThrownExemptExceptionThrowable unused declared thrown exception,\n\
\ exempt Exception and Throwable\n\
\ unusedTypeArgs + unused type arguments for method and constructor\n\
\ uselessTypeCheck unnecessary cast/instanceof operation\n\
\ varargsCast + varargs argument need explicit cast\n\
\ warningToken + unsupported or unnecessary @SuppressWarnings\n
## SH}