Update new Java Core options and other Java 9 related changes
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 b68dc15..10b57b8 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
@@ -285,6 +285,10 @@
 <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>
 <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>
@@ -591,6 +595,27 @@
 <td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE">IGNORE</a></b></td>
 </tr>
 <tr>
+<td colspan="2"><b>Reporting Terminal Deprecation</b> (<b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_TERMINAL_DEPRECATION">COMPILER_PB_TERMINAL_DEPRECATION</a></b>)</td>
+
+</tr>
+<tr valign="top">
+<td rowspan="4">When enabled, the compiler will signal use of terminally deprecated API either as an 
+error or a warning.</td>
+<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><i><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</a></i></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>Reporting Deprecation Inside Deprecated Code</b> (<b><a href=
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE">COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE</a></b>)</td>
 
@@ -2147,6 +2172,85 @@
 <td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE"><i>IGNORE</i></a></b></td>
 </tr>
 
+
+<tr>
+<td colspan="2"><b>Reporting a method invocation providing an argument of an unlikely type</b> (<b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_UNLIKELY_COLLECTION_METHOD_ARGUMENT_TYPE">COMPILER_PB_UNLIKELY_COLLECTION_METHOD_ARGUMENT_TYPE</a></b>)</td>
+</tr>
+<tr valign="top">
+<td rowspan="4">When enabled, the compiler will issue an error or warning when certain well-known 
+Collection methods that take an 'Object', like e.g. {@link Map#get(Object)}, are used with an 
+argument type that seems to be not related to the corresponding type argument of the Collection.</td>
+<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</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"><i>IGNORE</i></a></b></td>
+</tr>
+
+
+<tr>
+<td colspan="2"><b>Perform strict analysis against the expected type of collection methods</b> (<b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_UNLIKELY_COLLECTION_METHOD_ARGUMENT_TYPE_STRICT">COMPILER_PB_UNLIKELY_COLLECTION_METHOD_ARGUMENT_TYPE_STRICT</a></b>)</td>
+</tr>
+<tr valign="top">
+<td rowspan="2">This is a sub-option of 
+<b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_UNLIKELY_COLLECTION_METHOD_ARGUMENT_TYPE">COMPILER_PB_UNLIKELY_COLLECTION_METHOD_ARGUMENT_TYPE</a></b>, 
+which will replace the heuristics with strict compatibility checks, i.e., each argument that is not 
+strictly compatible with the expected type will trigger an error or warning.</td>
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#ENABLED">ENABLED</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>Reporting a method invocation providing an argument of an unlikely type to method 'equals'</b> (<b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_UNLIKELY_EQUALS_ARGUMENT_TYPE">COMPILER_PB_UNLIKELY_EQUALS_ARGUMENT_TYPE</a></b>)</td>
+</tr>
+<tr valign="top">
+<td rowspan="4">When enabled, the compiler will issue an error or warning when java.lang.Object.equals(Object)
+is used with an argument type that seems to be not related to the receiver's type, 
+or correspondingly when the arguments of java.util.Objects.equals(Object, Object)
+have types that seem to be not related to each other.</td>
+<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</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"><i>IGNORE</i></a></b></td>
+</tr>
+
+<tr>
+<td colspan="2"><b>Reporting when public API uses a non-API type</b> (<b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_API_LEAKS">COMPILER_PB_API_LEAKS</a></b>)</td>
+</tr>
+<tr valign="top">
+<td rowspan="4">When enabled, the compiler will issue an error or warning when public API 
+mentions a type that is not accessible to clients.</td>
+<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td>
+</tr>
+<tr valign="top">
+<td><b><a href=
+"../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</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"><i>IGNORE</i></a></b></td>
+</tr>
+
 <tr>
 <td colspan="2"><b>Reporting Undocumented Empty Block</b> (<b><a href=
 "../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_UNDOCUMENTED_EMPTY_BLOCK">COMPILER_PB_UNDOCUMENTED_EMPTY_BLOCK</a></b>)</td>
diff --git a/bundles/org.eclipse.jdt.doc.isv/guide/jdt_int_model.htm b/bundles/org.eclipse.jdt.doc.isv/guide/jdt_int_model.htm
index 77c2932..c5654ea 100644
--- a/bundles/org.eclipse.jdt.doc.isv/guide/jdt_int_model.htm
+++ b/bundles/org.eclipse.jdt.doc.isv/guide/jdt_int_model.htm
@@ -48,6 +48,13 @@
 <td>Represents a Java project in the workspace. (Child of <a href=
 "../reference/api/org/eclipse/jdt/core/IJavaModel.html"><b>IJavaModel</b></a>)</td>
 </tr>
+
+<tr>
+<td><a href="../reference/api/org/eclipse/jdt/core/IModuleDescription.html"><b>IModuleDescription</b></a></td>
+<td>Represents a Java module descriptor. (Child of <a href=
+"../reference/api/org/eclipse/jdt/core/IJavaProject.html"><b>IJavaProject</b></a>)</td>
+</tr>
+
 <tr>
 <td><a href=
 "../reference/api/org/eclipse/jdt/core/IPackageFragmentRoot.html"><b>IPackageFragmentRoot</b></a></td>
@@ -119,6 +126,13 @@
 "../reference/api/org/eclipse/jdt/core/IPackageFragment.html"><b>IPackageFragment</b></a> )</td>
 
 </tr>
+
+<tr>
+<td><a href="../reference/api/org/eclipse/jdt/core/IModularClassFile.html"><b>IModularClassFile</b></a></td>
+<td>Represents the class file of a module description ("module-info.class").&nbsp; (Child of <a href=
+"../reference/api/org/eclipse/jdt/core/IPackageFragment.html"><b>IPackageFragment</b></a> )</td>
+</tr>
+
 <tr>
 <td><a href=
 "../reference/api/org/eclipse/jdt/core/ITypeParameter.html"><b>ITypeParameter</b></a></td>
diff --git a/bundles/org.eclipse.jdt.doc.user/reference/ref-dialog-java-search.htm b/bundles/org.eclipse.jdt.doc.user/reference/ref-dialog-java-search.htm
index fda6b5a..76a8e7f 100644
--- a/bundles/org.eclipse.jdt.doc.user/reference/ref-dialog-java-search.htm
+++ b/bundles/org.eclipse.jdt.doc.user/reference/ref-dialog-java-search.htm
@@ -98,6 +98,8 @@
 
       <li>Constructor</li>
 
+      <li>Module</li>
+
       <li>Field</li>
     </ul>
 
diff --git a/bundles/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm b/bundles/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm
index e43794f..cd3d2bb 100644
--- a/bundles/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm
+++ b/bundles/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm
@@ -206,6 +206,18 @@
 	</tr>
 	<tr>
 		<td valign="top">
+		<p><span class="token">removal</span></p>
+		</td>
+		<td valign="top">
+		<p>to suppress warnings relative to usage of terminally deprecated API</p>
+		</td>
+		<td valign="top">
+		<p>Forbidden reference (access rules)<br/>
+		Discouraged reference (access rules)</p>
+		</td>
+	</tr>
+	<tr>
+		<td valign="top">
 		<p><span class="token">serial</span></p>
 		</td>
 		<td valign="top">
@@ -296,6 +308,17 @@
 	</tr>
 	<tr>
 		<td valign="top">
+		<p><span class="token">unlikely-arg-type</span></p>
+		</td>
+		<td valign="top">
+		<p>to suppress warnings relative to unlikely argument types</p>
+		</td>
+		<td valign="top">
+		<p>Unqualified access to instance field</p>
+		</td>
+	</tr>
+	<tr>
+		<td valign="top">
 		<p><span class="token">unused</span></p>
 		</td>
 		<td valign="top">
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 f03dfba..2795a53 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
@@ -48,6 +48,7 @@
    progress);
 </pre>
 <p>You can control how progress is reported, or how the batch compiler is canceled, by subclassing the class <i>org.eclipse.jdt.compiler.CompilationProgress</i>.</p>
+<p><b>Note: </b>In the absence of an explicit compliance level, the default compliance will be 1.8.</p>
 </li>
 </ul>
 <h4>Which options are available?</h4>