Bug 563339 - [15] Updation of help and documentation for batch compiler
options and JDT Core options

Change-Id: I2913244c6031f85591b52c847fdbaac420b90d5a
Signed-off-by: Jay Arthanareeswaran <jarthana@in.ibm.com>
diff --git a/bundles/org.eclipse.jdt.doc.isv/guide/jdt_api_options.htm b/bundles/org.eclipse.jdt.doc.isv/guide/jdt_api_options.htm
index adfae57..649b900 100644
--- a/bundles/org.eclipse.jdt.doc.isv/guide/jdt_api_options.htm
+++ b/bundles/org.eclipse.jdt.doc.isv/guide/jdt_api_options.htm
@@ -3,7 +3,7 @@
 <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 <head>
 <meta name="copyright" content=
-"Copyright (c) IBM Corporation and others 2000, 2016. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." />
+"Copyright (c) IBM Corporation and others 2000, 2020. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." />
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta http-equiv="Content-Style-Type" content="text/css" />
 <link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1" type="text/css" />
@@ -196,7 +196,7 @@
 
 </tr>
 <tr valign="top">
-<td rowspan="9">For binary compatibility reason, .class files are tagged with VM versions that are
+<td rowspan="16">For binary compatibility reason, .class files are tagged with VM versions that are
 defined for each level of the reference specification. The target Java platform specifies the
 minimum runtime level required to execute the generated class files.<br />
 The compliance, source and target levels must satisfy a set of constraints summarized in a <a href=
@@ -235,6 +235,34 @@
 </tr>
 <tr valign="top">
 <td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_9">VERSION_9</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_10">VERSION_10</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_11">VERSION_11</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_12">VERSION_12</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_13">VERSION_13</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_14">VERSION_14</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_15">VERSION_15</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_CLDC_1_1">VERSION_CLDC_1_1</a></b></td>
 </tr>
 <tr>
@@ -257,7 +285,7 @@
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_COMPLIANCE">COMPILER_COMPLIANCE</a></b>)</td>
 </tr>
 <tr valign="top">
-<td rowspan="7">Select the compliance level for the compiler, which will then behave according to
+<td rowspan="13">Select the compliance level for the compiler, which will then behave according to
 the said level of the reference specification.<br />
 The compliance, source and target levels must satisfy a set of constraints summarized in a <a href=
 "#compatibility"><b>compatibility table</b></a> below.</td>
@@ -289,6 +317,30 @@
 <td><b><a href=
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_9">VERSION_9</a></b></td>
 </tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_10">VERSION_10</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_11">VERSION_11</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_12">VERSION_12</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_13">VERSION_13</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_14">VERSION_14</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_15">VERSION_15</a></b></td>
+</tr>
 <tr>
 <td colspan="2"><b>Javadoc Comment Support</b> (<b><a href=
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_DOC_COMMENT_SUPPORT">COMPILER_DOC_COMMENT_SUPPORT</a></b>)</td>
@@ -2800,7 +2852,7 @@
 
 </tr>
 <tr valign="top">
-<td rowspan="6">Specify the compatibility level of the Java source code.<br />
+<td rowspan="13">Specify the compatibility level of the Java source code.<br />
 Source level "1.4" enables assertions. From "1.4" on, 'assert' is a reserved keyword.<br />
 Source level "1.5" enables generics, autoboxing, covariance, annotations, enumerations enhanced for
 loops, static imports and varargs. From "1.5" on, 'enum' is a reserved keyword.<br />
@@ -2830,6 +2882,34 @@
 <td><b><a href=
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_1_8">VERSION_1_8</a></b></td>
 </tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_9">VERSION_9</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_10">VERSION_10</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_11">VERSION_11</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_12">VERSION_12</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_13">VERSION_13</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_14">VERSION_14</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#VERSION_15">VERSION_15</a></b></td>
+</tr>
 <tr>
 <td colspan="2"><b>Generating Source Debug Attribute</b> (<b><a href=
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_SOURCE_FILE_ATTR">COMPILER_SOURCE_FILE_ATTR</a></b>)</td>
@@ -3186,6 +3266,38 @@
 <td colspan="2"><b>Reporting Incomplete Classpath</b> (<b><a href=
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#CORE_INCOMPLETE_CLASSPATH">CORE_INCOMPLETE_CLASSPATH</a></b>)</td>
 </tr>
+
+<tr valign="top">
+<td rowspan="2">When enabled, the compiler will activate the preview language features of 
+the latest Java version.</td>
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#ENABLED"><i>ENABLED</i></a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#DISABLED">DISABLED</a></b></td>
+</tr>
+<tr>
+<td colspan="2"><b>Enable support for preview language features</b>
+(<b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_ENABLE_PREVIEW_FEATURES">COMPILER_PB_ENABLE_PREVIEW_FEATURES</a></b>)</td>
+</tr>
+<tr valign="top">
+
+<td rowspan="3">When enabled, the compiler will issue a warning when a preview feature is used.</td>
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING"><i>WARNING</i></a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#INFO">INFO</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE">IGNORE</a></b></td>
+</tr>
+<tr>
+<td colspan="2"><b>Set the severity of reporting when a preview feature is used.</b>
+(<b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_REPORT_PREVIEW_FEATURES">COMPILER_PB_REPORT_PREVIEW_FEATURES</a></b>)</td>
+</tr>
 <tr valign="top">
 
 <td rowspan="2">Indicate the severity of the problem reported when an entry on the classpath
diff --git a/bundles/org.eclipse.jdt.doc.user/tasks/task-using_batch_compiler.htm b/bundles/org.eclipse.jdt.doc.user/tasks/task-using_batch_compiler.htm
index aefefed..4e8a11c 100644
--- a/bundles/org.eclipse.jdt.doc.user/tasks/task-using_batch_compiler.htm
+++ b/bundles/org.eclipse.jdt.doc.user/tasks/task-using_batch_compiler.htm
@@ -178,9 +178,20 @@
 <th colspan="4">Compliance options</th>
 </tr>
 <tr>
-<td valign="top" width="250" id="release">--release 6, 7, 8, 9, 10, 11, 12, 13 and 14 </td>
+<td valign="top" width="250" id="preview">--enable-preview </td>
+
+<td colspan="3">This specifies whether the compiler should allow
+preview Java language features. It is important to note that only
+the preview features from the latest supported Java release, i.e. Java 15
+are supported by the compiler.
+</td>
+</tr>
+<tr>
+<td valign="top" width="250" id="release">--release 6, 7, 8, 9, 10, 11, 12, 13, 14 and 15 </td>
 
 <td colspan="3">This specifies the VM version that source files should be compiled for.
+The support for the specific releases comes from the JVM used. Hence, it is advised to
+check the JVM's documentation for the supported values.
 <ul>
 <li><span class="c3">6</span> (major version: 50 minor: 0)</li>
 <li><span class="c3">7</span> (major version: 51 minor: 0)</li>
@@ -191,6 +202,7 @@
 <li><span class="c3">12</span> (major version: 56 minor: 0)</li>
 <li><span class="c3">13</span> (major version: 57 minor: 0)</li>
 <li><span class="c3">14</span> (major version: 58 minor: 0)</li>
+<li><span class="c3">15</span> (major version: 59 minor: 0)</li>
 </ul>
 Passing <span class="c3">--release 8</span> to the compiler implicitly sets 
 <span class="c3">-source 1.8</span> and <span class="c3">-target 1.8</span>. 
@@ -200,7 +212,7 @@
 </td>
 </tr>
 <tr>
-<td valign="top" width="250" id="target">-target 1.1 to 14 (or 8, 8.0, etc.)</td>
+<td valign="top" width="250" id="target">-target 1.1 to 15 (or 8, 8.0, etc.)</td>
 
 <td colspan="3">This specifies the .class file target setting. The possible value are:
 <ul>
@@ -218,6 +230,7 @@
 <li><span class="c3">12</span> (major version: 56 minor: 0)</li>
 <li><span class="c3">13</span> (major version: 57 minor: 0)</li>
 <li><span class="c3">14</span> (major version: 58 minor: 0)</li>
+<li><span class="c3">15</span> (major version: 59 minor: 0)</li>
 </ul>
 Defaults are:
 <ul>
@@ -233,6 +246,7 @@
 <li><span class="c3">12</span> in <span class="c3">-12</span> mode</li>
 <li><span class="c3">13</span> in <span class="c3">-13</span> mode</li>
 <li><span class="c3">14</span> in <span class="c3">-14</span> mode</li>
+<li><span class="c3">15</span> in <span class="c3">-15</span> mode</li>
 </ul>
 <p>clcd1.1 can be used to generate the StackMap attribute.</p>
 </td>
@@ -287,9 +301,13 @@
 <td valign="top" id="_14">-14</td>
 <td colspan="3">Set compliance level to <span class="c3">14</span>. Implicit -source 14 -target 14.</td>
 </tr>
+<tr>
+<td valign="top" id="_15">-15</td>
+<td colspan="3">Set compliance level to <span class="c3">15</span>. Implicit -source 15 -target 15.</td>
+</tr>
 
 <tr>
-<td valign="top" width="250" id="source">-source 1.1 to 14 (or 8, 8.0, etc.)</td>
+<td valign="top" width="250" id="source">-source 1.1 to 15 (or 8, 8.0, etc.)</td>
 <td colspan="3">This is used to specify the source level expected by the compiler.<br />
 The possible value are:
 <ul>
@@ -305,6 +323,7 @@
 <li><span class="c3">12</span></li>
 <li><span class="c3">13</span></li>
 <li><span class="c3">14</span></li>
+<li><span class="c3">15</span></li>
 </ul>
 Defaults are:
 <ul>
@@ -321,6 +340,7 @@
 <li><span class="c3">12</span> in <span class="c3">-12</span> mode</li>
 <li><span class="c3">13</span> in <span class="c3">-13</span> mode</li>
 <li><span class="c3">14</span> in <span class="c3">-14</span> mode</li>
+<li><span class="c3">15</span> in <span class="c3">-15</span> mode</li>
 </ul>
 In <span class="c3">1.4</span>, <span class="c3"><i>assert</i></span> is treated as a keyword. In <span class="c3">1.5</span> and <span class="c3">1.6</span>, <span class="c3"><i>enum</i></span> and