# {1} compiler.name
# {2} compiler.version
# {3} compiler.copyright
-misc.usage = {1} - {2}\n\
-\ \n\
-\ Usage: <options> <source file | @argfile>..\n\
-\ \n\
-\ AspectJ-specific options:\n\
+
+# This property only exists in AspectJ. It is to be patched into the value of 'misc.usage' at the correct position,
+# i.e. right between "Usage" and "Classpath options".
+misc.usage.aspectj = AspectJ-specific options:\n\
\ -inpath <list> use classes in dirs and jars/zips in <list> as source\n\
\ (<list> uses platform-specific path delimiter)\n\
\ -injars <jarList> use classes in <jarList> zip files as source\n\
\ -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
+
# This property only exists in AspectJ. Options not documented below (see org.aspectj.ajdt.ajc.BuildArgParser):
# -XincrementalFile, -XjavadocsInModel, -Xset:, -Xdev:NoAtAspectJProcessing, -Xdev:Pinpoint