@SuppressWarnings("unchecked")
public class BuildArgParser extends Main {
- private static final String BUNDLE_NAME = "org.aspectj.ajdt.ajc.messages";
- private static boolean LOADED_BUNDLE = false;
-
- static {
- Main.bundleName = BUNDLE_NAME;
- ResourceBundleFactory.getBundle(Locale.getDefault());
- if (!LOADED_BUNDLE) {
- LOADED_BUNDLE = true;
- }
- }
-
/** to initialize super's PrintWriter but refer to underlying StringWriter */
private static class StringPrintWriter extends PrintWriter {
public final StringWriter stringWriter;
+++ /dev/null
-# -Xlint:ignore,error,warning will set the level for all Xlint warnings. -Xlint, alone, is an abbreviation for
-# -Xlint:warning.
-#
-# The -Xlintfile:lint.properties allows fine-grained control. In tools.jar, see
-# org/aspectj/weaver/XlintDefault.properties for the default behavior and a template to copy.
-
-# TODO: This file contains many duplicates overwriting each other (last defined one supersedes previously defined ones,
-# e.g. 'configure.source' where the shorter message wins against the longer one explaining more) and generally looks
-# chaotic. Hence, duplicates should be removed and always the more desirable message chosen. Caveat: Tests might expect
-# compiler messages, parsing Ajc output. So do not break them or fix them after changes. Also consider that build
-# plugins for Maven, Gradle etc. and users in their own projects might parse the output too.
-
-### AspectJ-specific messages
-compiler.name = AspectJ Compiler
-compiler.version = Eclipse Compiler 3caefb8021d710 (09Mar2021) - Java15
-compiler.copyright =
-
-
-## this next one superceded by above...
-## configure.version = AspectJ Compiler 1.1
-
-configure.directoryNotExist = invalid option: {0}
-
-### 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]
-
-### 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''...''15'' (or ''5.0''..''15.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''...''15'': {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.directoryNotExist = directory does not exist: {0}
-configure.IOError = i/o error : unable to retrieve .JAVA files in directory: {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}
-
-configure.invalidModuleName = invalid module name: {0}
-### null annotations
-configure.invalidNullAnnot = Token {0} is not in the expected format "nullAnnot(<non null annotation name> | <nullable 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
-misc.version = {0} {1}, {2}
-
-### miscellaneous
-misc.usage = {0}\n\
-\n\
-\tUsage: <options> <source file | @argfile>..\n\
-\n\
-AspectJ-specific options:\n\
-\t-inpath <list> use classes in dirs and jars/zips in <list> as source\n\
-\t (<list> uses platform-specific path delimiter)\n\
-\t-injars <jarList> use classes in <jarList> zip files as source\n\
-\t (<jarList> uses classpath delimiter)\n\
-\t deprecated - use inpath instead.\n\
-\t-aspectpath <list> weave aspects in .class files from <list> dirs and jars/zip into sources\n\
-\t (<list> uses classpath delimiter)\n\
-\t-outjar <file> put output classes in zip file <file>\n\
-\t-outxml generate META-INF/aop.xml\n\
-\t-outxmlfile <file> specify alternate destination output of -outxml\n\
-\t-argfile <file> specify line-delimited list of source files\n\
-\t-showWeaveInfo display information about weaving\n\
-\t-incremental continuously-running compiler, needs -sourceroots\n\
-\t (reads stdin: enter to recompile and ''q'' to quit)\n\
-\t-sourceroots <dirs> compile all .aj and .java files in <dirs>\n\
-\t (<dirs> uses classpath delimiter)\n\
-\t-crossrefs generate .ajsym file into the output directory\n\
-\t-emacssym generate .ajesym symbol files for emacs support\n\
-\t-Xlint same as ''-Xlint:warning''\n\
-\t-Xlint:<level> set default level for crosscutting messages\n\
-\t (<level> may be ignore, warning, or error)\n\
-\t-Xlintfile <file> specify properties file to set per-message levels\n\
-\t (cf org/aspectj/weaver/XlintDefault.properties)\n\
-\t-X print help on non-standard options\n\
-\n\
-Standard Eclipse compiler options:\n\
-\ Options enabled by default are prefixed with ''+''\n\
-\ \n\
-\ Classpath options:\n\
-\ -cp -classpath <directories and ZIP archives separated by ;>\n\
-\ specify location for application classes and sources\n\
-\ -bootclasspath <directories and zip/jar files separated by ;>\n\
-\ specify location for system classes\n\
-\ -d <dir> destination directory (if omitted, no directory is created)\n\
-\ -d none generate no .class files\n\
-\ -encoding <enc> specify custom encoding for all sources. Each file/directory can override it\n\
-\ when suffixed with ''[''<enc>'']'' (e.g. X.java[utf8])\n\
-\ \n\
-\ Compliance options:\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\
-\ -10 for Java 10 (-source 10 -target 10)\n\
-\ -11 for Java 11 (-source 11 -target 11)\n\
-\ -12 for Java 12 (-source 12 -target 12)\n\
-\ -13 for Java 13 (-source 13 -target 13)\n\
-\ -14 for Java 14 (-source 14 -target 14)\n\
-\ -15 for Java 14 (-source 15 -target 15)\n\
-\ -source <version> set source level: 1.3 to 15 \n\
-\ -target <version> set classfile target: 1.1 to 15\n\
-\ \n\
-\ Warning options:\n\
-\ -deprecation + deprecation outside deprecated code (equivalent to\n\
-\ -warn:+deprecation)\n\
-\ -nowarn -warn:none disable all warnings\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\
-\ 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\
-\ assertIdentifier + ''assert'' used as identifier\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\
-\ deadCode + dead code excluding trivial if (DEBUG) check\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\
-\ 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\
-\ hashCode missing hashCode() method when overriding equals()\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\
-\ 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\
-\ 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\
-\ resource + (pot.) unsafe usage of resource of type Closeable\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
-\ \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\
-\ Advanced options:\n\
-\ --enable-preview turn on support for any experimental features in that version of Java\n\
-\ -log <file> log to a file\n\
-\ -proceedOnError do not stop at first error, dumping class files with problem methods\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 if no error)\n\
-\ -repeat <n> repeat compilation process <n> times for perf analysis\n\
-\ @<file> read command line arguments from file\n\
-\ \n\
-\ -? -help print this help message\n\
-\ -v -version print compiler version\n\
-\ -showversion print compiler version and continue\n
-
-xoption.usage = {0} non-standard options:\n\
-\n\
-\t-XnoInline don't inline advice\n\
-\t-XlazyTjp create thisJoinPoint objects lazily\n\
-\t-Xreweavable create class files that can be subsequently rewoven\n\
-\t by AspectJ. Deprecated, this is now on by default.\n\
-\t-Xreweavable:compress deprecated, reweavable is now default.\n\
-\t-XnotReweavable create class files that can't be subsequently rewoven\n\
-\t by AspectJ.\n\
-\t-XserializableAspects allows aspects to implement serializable\n\
-\t-XterminateAfterCompilation compile classes then terminate before weaving\n\
-\t-XaddSerialVersionUID calculates and adds the serialVersionUID to any\n\
-\t serializable type woven by an aspect\n\
-\t-Xajruntimetarget:<level> allows code to be generated that targets\n\
-\t a 1.2 or a 1.5 level AspectJ runtime (default 1.5)\n\
-\t-XhasMember allow hasmethod() and hasfield type patterns in\n\
-\t declare parents and declare @type\n\
-\t-Xjoinpoints: supply a comma separated list of new joinpoints\n\
-\t that can be identified by pointcuts. Values are:\n\
-\t arrayconstruction, synchronization\n
-## options not documented above (per ..ajdt.ajc.BuildArgParser.java):
-# -XincrementalFile, -XjavadocsInModel
-
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-### JavaBatchCompiler messages.
-
-### compiler
-#compiler.name = Eclipse Java Compiler
-#compiler.version = 0.396
-#compiler.copyright = Copyright IBM Corp 2000, 2003. All rights reserved.
-
-### scanning
-scanning.start = Collecting source files inside {0}
-
-### progress
-progress.compiling = Compiling
-
-### compile
-compile.repetition = [repetition {0}/{1}]
-compile.instantTime = [compiled {0} lines in {1} ms: {2} lines/s]
-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.oneError = 1 error
-compile.severalErrors = {0} errors
-compile.oneWarning = 1 warning
-compile.severalWarnings = {0} warnings
-compile.oneClassFileGenerated = [1 .class file generated]
-compile.severalClassFilesGenerated = [{0} .class files generated]
-
-#compile.repetition = Repetition {0}/{1}
-#compile.instantTime = Compiled {0} lines in {1} ms ({2} lines/s)
-#compile.totalTime = Total compilation time: {0}
-#compile.oneProblem = 1 problem
-#compile.severalProblems = {0} problems
-#compile.oneError = 1 error
-#compile.severalErrors = {0} errors
-#compile.oneWarning = 1 warning
-#compile.severalWarnings = {0} warnings
-#compile.oneClassFileGenerated = 1 .class file generated
-#compile.severalClassFilesGenerated = {0} .class files generated
-
-### configure
-configure.requiresJDK1.2orAbove = Need to use a JVM >= 1.2
-configure.duplicateLog = duplicate log specification: {0}
-configure.duplicateRepeat = duplicate repeat specification: {0}
-configure.duplicateCompliance = duplicate compliance setting specification: {0}
-configure.source = invalid source option: {0}
-configure.duplicateOutputPath = duplicate output path specification: {0}
-configure.duplicateBootClasspath = duplicate bootclasspath specification: {0}
-configure.invalidDebugOption = invalid debug option: {0}
-configure.invalidWarningConfiguration = invalid warning configuration: {0}
-configure.invalidWarning = invalid warning: {0}
-configure.invalidWarningOption = invalid warning option: {0}
-configure.targetJDK = target level should be in ''1.1''...''1.8'',''9''...''15'': {0}
-configure.incompatibleTargetForSource14 = ''1.4'' source mode requires ''-target 1.4'' : {0}
-configure.incompatibleComplianceForSource14 = ''1.4'' source mode requires ''-1.4'' compliance mode: {0}
-configure.incompatibleComplianceForTarget14 = ''1.4'' target mode requires ''-1.4'' compliance mode: {0}
-configure.incompatibleComplianceForTarget11 = ''1.1'' target mode requires ''-1.3'' compliance mode: {0}
-configure.incompatibleComplianceForTarget = Compliance level ''{0}'' is incompatible with target level ''{1}''. A compliance level ''{1}'' or better is required
-configure.invalidClasspathSection = invalid Class-Path header in manifest of jar file: {0}
-configure.repetition = repetition must be a positive integer: {0}
-configure.directoryNotExist = directory does not exist: {0}
-configure.IOError = i/o error : unable to retrieve .JAVA files in directory: {0}
-configure.noClasspath = no classpath defined, using default directory instead
-configure.incorrectClasspath = incorrect classpath: {0}
-configure.invalidexpansionargumentname = expansion argument file {0} doesn't exist or cannot be read
-configure.cannotOpenLog = cannot open .log file
-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
-
-### requestor
-requestor.error = ERROR
-requestor.warning = WARNING
-requestor.in = in {0}
-requestor.notRetrieveErrorMessage = Cannot retrieve the error message for {0}
-
-### 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 named {0} because of an IOException.
-
-### miscellaneous
-misc.version = {0} {1} - {2} {3}
--- /dev/null
+# -Xlint:ignore,error,warning will set the level for all Xlint warnings. -Xlint, alone, is an abbreviation for
+# -Xlint:warning.
+#
+# The -Xlintfile:lint.properties allows fine-grained control. In tools.jar, see
+# org/aspectj/weaver/XlintDefault.properties for the default behavior and a template to copy.
+
+# TODO: This file contains many duplicates overwriting each other (last defined one supersedes previously defined ones,
+# e.g. 'configure.source' where the shorter message wins against the longer one explaining more) and generally looks
+# chaotic. Hence, duplicates should be removed and always the more desirable message chosen. Caveat: Tests might expect
+# compiler messages, parsing Ajc output. So do not break them or fix them after changes. Also consider that build
+# plugins for Maven, Gradle etc. and users in their own projects might parse the output too.
+
+### AspectJ-specific messages
+compiler.name = AspectJ Compiler
+compiler.version = Eclipse Compiler a00b62fa3572b0 (17Mar2021) - Java16
+compiler.copyright =
+
+
+## this next one superceded by above...
+## configure.version = AspectJ Compiler 1.1
+
+configure.directoryNotExist = invalid option: {0}
+
+### 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]
+
+### 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''...''15'' (or ''5.0''..''15.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''...''15'': {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.directoryNotExist = directory does not exist: {0}
+configure.IOError = i/o error : unable to retrieve .JAVA files in directory: {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}
+
+configure.invalidModuleName = invalid module name: {0}
+### null annotations
+configure.invalidNullAnnot = Token {0} is not in the expected format "nullAnnot(<non null annotation name> | <nullable 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
+misc.version = {0} {1}, {2}
+
+### miscellaneous
+misc.usage = {0}\n\
+\n\
+\tUsage: <options> <source file | @argfile>..\n\
+\n\
+AspectJ-specific options:\n\
+\t-inpath <list> use classes in dirs and jars/zips in <list> as source\n\
+\t (<list> uses platform-specific path delimiter)\n\
+\t-injars <jarList> use classes in <jarList> zip files as source\n\
+\t (<jarList> uses classpath delimiter)\n\
+\t deprecated - use inpath instead.\n\
+\t-aspectpath <list> weave aspects in .class files from <list> dirs and jars/zip into sources\n\
+\t (<list> uses classpath delimiter)\n\
+\t-outjar <file> put output classes in zip file <file>\n\
+\t-outxml generate META-INF/aop.xml\n\
+\t-outxmlfile <file> specify alternate destination output of -outxml\n\
+\t-argfile <file> specify line-delimited list of source files\n\
+\t-showWeaveInfo display information about weaving\n\
+\t-incremental continuously-running compiler, needs -sourceroots\n\
+\t (reads stdin: enter to recompile and ''q'' to quit)\n\
+\t-sourceroots <dirs> compile all .aj and .java files in <dirs>\n\
+\t (<dirs> uses classpath delimiter)\n\
+\t-crossrefs generate .ajsym file into the output directory\n\
+\t-emacssym generate .ajesym symbol files for emacs support\n\
+\t-Xlint same as ''-Xlint:warning''\n\
+\t-Xlint:<level> set default level for crosscutting messages\n\
+\t (<level> may be ignore, warning, or error)\n\
+\t-Xlintfile <file> specify properties file to set per-message levels\n\
+\t (cf org/aspectj/weaver/XlintDefault.properties)\n\
+\t-X print help on non-standard options\n\
+\n\
+Standard Eclipse compiler options:\n\
+\ Options enabled by default are prefixed with ''+''\n\
+\ \n\
+\ Classpath options:\n\
+\ -cp -classpath <directories and ZIP archives separated by ;>\n\
+\ specify location for application classes and sources\n\
+\ -bootclasspath <directories and zip/jar files separated by ;>\n\
+\ specify location for system classes\n\
+\ -d <dir> destination directory (if omitted, no directory is created)\n\
+\ -d none generate no .class files\n\
+\ -encoding <enc> specify custom encoding for all sources. Each file/directory can override it\n\
+\ when suffixed with ''[''<enc>'']'' (e.g. X.java[utf8])\n\
+\ \n\
+\ Compliance options:\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\
+\ -10 for Java 10 (-source 10 -target 10)\n\
+\ -11 for Java 11 (-source 11 -target 11)\n\
+\ -12 for Java 12 (-source 12 -target 12)\n\
+\ -13 for Java 13 (-source 13 -target 13)\n\
+\ -14 for Java 14 (-source 14 -target 14)\n\
+\ -15 for Java 14 (-source 15 -target 15)\n\
+\ -source <version> set source level: 1.3 to 15 \n\
+\ -target <version> set classfile target: 1.1 to 15\n\
+\ \n\
+\ Warning options:\n\
+\ -deprecation + deprecation outside deprecated code (equivalent to\n\
+\ -warn:+deprecation)\n\
+\ -nowarn -warn:none disable all warnings\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\
+\ 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\
+\ assertIdentifier + ''assert'' used as identifier\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\
+\ deadCode + dead code excluding trivial if (DEBUG) check\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\
+\ 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\
+\ hashCode missing hashCode() method when overriding equals()\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\
+\ 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\
+\ 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\
+\ resource + (pot.) unsafe usage of resource of type Closeable\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
+\ \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\
+\ Advanced options:\n\
+\ --enable-preview turn on support for any experimental features in that version of Java\n\
+\ -log <file> log to a file\n\
+\ -proceedOnError do not stop at first error, dumping class files with problem methods\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 if no error)\n\
+\ -repeat <n> repeat compilation process <n> times for perf analysis\n\
+\ @<file> read command line arguments from file\n\
+\ \n\
+\ -? -help print this help message\n\
+\ -v -version print compiler version\n\
+\ -showversion print compiler version and continue\n
+
+xoption.usage = {0} non-standard options:\n\
+\n\
+\t-XnoInline don't inline advice\n\
+\t-XlazyTjp create thisJoinPoint objects lazily\n\
+\t-Xreweavable create class files that can be subsequently rewoven\n\
+\t by AspectJ. Deprecated, this is now on by default.\n\
+\t-Xreweavable:compress deprecated, reweavable is now default.\n\
+\t-XnotReweavable create class files that can't be subsequently rewoven\n\
+\t by AspectJ.\n\
+\t-XserializableAspects allows aspects to implement serializable\n\
+\t-XterminateAfterCompilation compile classes then terminate before weaving\n\
+\t-XaddSerialVersionUID calculates and adds the serialVersionUID to any\n\
+\t serializable type woven by an aspect\n\
+\t-Xajruntimetarget:<level> allows code to be generated that targets\n\
+\t a 1.2 or a 1.5 level AspectJ runtime (default 1.5)\n\
+\t-XhasMember allow hasmethod() and hasfield type patterns in\n\
+\t declare parents and declare @type\n\
+\t-Xjoinpoints: supply a comma separated list of new joinpoints\n\
+\t that can be identified by pointcuts. Values are:\n\
+\t arrayconstruction, synchronization\n
+## options not documented above (per ..ajdt.ajc.BuildArgParser.java):
+# -XincrementalFile, -XjavadocsInModel
+
+###############################################################################
+# Copyright (c) 2000, 2004 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+###############################################################################
+### JavaBatchCompiler messages.
+
+### compiler
+#compiler.name = Eclipse Java Compiler
+#compiler.version = 0.396
+#compiler.copyright = Copyright IBM Corp 2000, 2003. All rights reserved.
+
+### scanning
+scanning.start = Collecting source files inside {0}
+
+### progress
+progress.compiling = Compiling
+
+### compile
+compile.repetition = [repetition {0}/{1}]
+compile.instantTime = [compiled {0} lines in {1} ms: {2} lines/s]
+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.oneError = 1 error
+compile.severalErrors = {0} errors
+compile.oneWarning = 1 warning
+compile.severalWarnings = {0} warnings
+compile.oneClassFileGenerated = [1 .class file generated]
+compile.severalClassFilesGenerated = [{0} .class files generated]
+
+#compile.repetition = Repetition {0}/{1}
+#compile.instantTime = Compiled {0} lines in {1} ms ({2} lines/s)
+#compile.totalTime = Total compilation time: {0}
+#compile.oneProblem = 1 problem
+#compile.severalProblems = {0} problems
+#compile.oneError = 1 error
+#compile.severalErrors = {0} errors
+#compile.oneWarning = 1 warning
+#compile.severalWarnings = {0} warnings
+#compile.oneClassFileGenerated = 1 .class file generated
+#compile.severalClassFilesGenerated = {0} .class files generated
+
+### configure
+configure.requiresJDK1.2orAbove = Need to use a JVM >= 1.2
+configure.duplicateLog = duplicate log specification: {0}
+configure.duplicateRepeat = duplicate repeat specification: {0}
+configure.duplicateCompliance = duplicate compliance setting specification: {0}
+configure.source = invalid source option: {0}
+configure.duplicateOutputPath = duplicate output path specification: {0}
+configure.duplicateBootClasspath = duplicate bootclasspath specification: {0}
+configure.invalidDebugOption = invalid debug option: {0}
+configure.invalidWarningConfiguration = invalid warning configuration: {0}
+configure.invalidWarning = invalid warning: {0}
+configure.invalidWarningOption = invalid warning option: {0}
+configure.targetJDK = target level should be in ''1.1''...''1.8'',''9''...''15'': {0}
+configure.incompatibleTargetForSource14 = ''1.4'' source mode requires ''-target 1.4'' : {0}
+configure.incompatibleComplianceForSource14 = ''1.4'' source mode requires ''-1.4'' compliance mode: {0}
+configure.incompatibleComplianceForTarget14 = ''1.4'' target mode requires ''-1.4'' compliance mode: {0}
+configure.incompatibleComplianceForTarget11 = ''1.1'' target mode requires ''-1.3'' compliance mode: {0}
+configure.incompatibleComplianceForTarget = Compliance level ''{0}'' is incompatible with target level ''{1}''. A compliance level ''{1}'' or better is required
+configure.invalidClasspathSection = invalid Class-Path header in manifest of jar file: {0}
+configure.repetition = repetition must be a positive integer: {0}
+configure.directoryNotExist = directory does not exist: {0}
+configure.IOError = i/o error : unable to retrieve .JAVA files in directory: {0}
+configure.noClasspath = no classpath defined, using default directory instead
+configure.incorrectClasspath = incorrect classpath: {0}
+configure.invalidexpansionargumentname = expansion argument file {0} doesn't exist or cannot be read
+configure.cannotOpenLog = cannot open .log file
+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
+
+### requestor
+requestor.error = ERROR
+requestor.warning = WARNING
+requestor.in = in {0}
+requestor.notRetrieveErrorMessage = Cannot retrieve the error message for {0}
+
+### 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 named {0} because of an IOException.
+
+### miscellaneous
+misc.version = {0} {1} - {2} {3}