RFR 8174762: JShell: @since tags missing

Jonathan Gibbons jonathan.gibbons at oracle.com
Fri Feb 10 20:27:06 UTC 2017


I agree that reviewing the diffs is easier.

The @since tags look OK, but in a couple of places, you've changed 
classes from public to package-private.  That does not seem to be 
implied by the bug description.  Is this intentional and covered by a CCC?


--- 
a/src/jdk.jshell/share/classes/jdk/jshell/OuterImportSnippetWrap.java 
Fri Feb 10 07:50:55 2017 -0800
+++ 
b/src/jdk.jshell/share/classes/jdk/jshell/OuterImportSnippetWrap.java 
Fri Feb 10 11:34:16 2017 -0800
@@ -32,7 +32,7 @@
   * The outer wrap for a set of snippets wrapped in a generated class
   * @author Robert Field
   */
-public class OuterImportSnippetWrap extends OuterWrap {
+class OuterImportSnippetWrap extends OuterWrap {

-- Jon


On 2/10/17 11:44 AM, Robert Field wrote:
> Please review....
>
> Bug:
>
>     https://bugs.openjdk.java.net/browse/JDK-8174762
>
> Webrev:
>
>     http://cr.openjdk.java.net/~rfield/8174762v0.webrev/
>
> I just self-reviewed using the webrev, and now my fingers are cramped ;-)
>
> Probably easier to review "hg diff" below ...
>
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/DeclarationSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/DeclarationSnippet.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/DeclarationSnippet.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -45,6 +45,8 @@
>   * <code>DeclarationSnippet</code> is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   */
>  public abstract class DeclarationSnippet extends PersistentSnippet {
>
> diff -r 3e4d400638e5 src/jdk.jshell/share/classes/jdk/jshell/Diag.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/Diag.java Fri Feb 10 
> 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/Diag.java Fri Feb 10 
> 11:34:16 2017 -0800
> @@ -30,6 +30,8 @@
>
>  /**
>   * Diagnostic information for a Snippet.
> + *
> + * @since 9
>   * @see jdk.jshell.JShell#diagnostics(jdk.jshell.Snippet)
>   */
>  public abstract class Diag {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/ErroneousSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/ErroneousSnippet.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/ErroneousSnippet.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -34,6 +34,8 @@
>   * <code>ErroneousSnippet</code> is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   */
>  public class ErroneousSnippet extends Snippet {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/EvalException.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/EvalException.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/EvalException.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -38,6 +38,8 @@
>   * the Snippet id and for snippets without a method name (for example an
>   * expression) <code>StackTraceElement.getMethodName()</code> will be 
> the
>   * empty string.
> + *
> + * @since 9
>   */
>  @SuppressWarnings("serial")             // serialVersionUID 
> intentionally omitted
>  public class EvalException extends JShellException {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/ExpressionSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/ExpressionSnippet.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/ExpressionSnippet.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -34,6 +34,8 @@
>   * <code>ExpressionSnippet</code> is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   * @jls 15: Expression.
>   */
>  public class ExpressionSnippet extends Snippet {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/ImportSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/ImportSnippet.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/ImportSnippet.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -34,6 +34,8 @@
>   * {@code ImportSnippet} is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   * @jls 8.3: importDeclaration.
>   */
>  public class ImportSnippet extends PersistentSnippet {
> diff -r 3e4d400638e5 src/jdk.jshell/share/classes/jdk/jshell/JShell.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/JShell.java Fri Feb 10 
> 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/JShell.java Fri Feb 10 
> 11:34:16 2017 -0800
> @@ -79,7 +79,9 @@
>   * <p>
>   * This class is not thread safe, except as noted, all access should 
> be through
>   * a single thread.
> + *
>   * @author Robert Field
> + * @since 9
>   */
>  public class JShell implements AutoCloseable {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/JShellException.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/JShellException.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/JShellException.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -27,6 +27,8 @@
>
>  /**
>   * The superclass of JShell generated exceptions
> + *
> + * @since 9
>   */
>  @SuppressWarnings("serial")             // serialVersionUID 
> intentionally omitted
>  public class JShellException extends Exception {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/MethodSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/MethodSnippet.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/MethodSnippet.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -35,6 +35,8 @@
>   * <code>MethodSnippet</code> is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   * @jls 8.4: MethodDeclaration.
>   */
>  public class MethodSnippet extends DeclarationSnippet {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/OuterImportSnippetWrap.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/OuterImportSnippetWrap.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/OuterImportSnippetWrap.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -32,7 +32,7 @@
>   * The outer wrap for a set of snippets wrapped in a generated class
>   * @author Robert Field
>   */
> -public class OuterImportSnippetWrap extends OuterWrap {
> +class OuterImportSnippetWrap extends OuterWrap {
>
>      private final Snippet snippet;
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/OuterSnippetsClassWrap.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/OuterSnippetsClassWrap.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/OuterSnippetsClassWrap.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -35,7 +35,7 @@
>   * The outer wrap for a set of snippets wrapped in a generated class
>   * @author Robert Field
>   */
> -public class OuterSnippetsClassWrap extends OuterWrap {
> +class OuterSnippetsClassWrap extends OuterWrap {
>
>      private final String className;
>      private final LinkedHashMap<Wrap, Snippet> wrapToSnippet;
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/OuterWrapMap.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/OuterWrapMap.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/OuterWrapMap.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -44,7 +44,7 @@
>   *
>   * @author Robert Field
>   */
> -public class OuterWrapMap {
> +class OuterWrapMap {
>
>      private final JShell state;
>      private final Map<String,OuterSnippetsClassWrap> classOuters = 
> new HashMap<>();
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/PersistentSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/PersistentSnippet.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/PersistentSnippet.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -34,6 +34,8 @@
>   * <code>PersistentSnippet</code> is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   */
>  public abstract class PersistentSnippet extends Snippet {
>
> diff -r 3e4d400638e5 src/jdk.jshell/share/classes/jdk/jshell/Snippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/Snippet.java Fri Feb 10 
> 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/Snippet.java Fri Feb 10 
> 11:34:16 2017 -0800
> @@ -39,7 +39,9 @@
>   * state engine, query {@code JShell} passing the Snippet.
>   * <p>
>   * Because it is immutable, {@code Snippet} (and subclasses) is 
> thread-safe.
> + *
>   * @author Robert Field
> + * @since 9
>   * @see jdk.jshell.JShell#status
>   */
>  public abstract class Snippet {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/SnippetEvent.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/SnippetEvent.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/SnippetEvent.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -38,7 +38,9 @@
>   * {@code SnippetEvent} is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
>   * @author Robert Field
> + * @since 9
>   */
>  public class SnippetEvent {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysis.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysis.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysis.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -39,6 +39,7 @@
>   * etc.
>   * Also includes completion suggestions, as might be used in 
> tab-completion.
>   *
> + * @since 9
>   */
>  public abstract class SourceCodeAnalysis {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/StatementSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/StatementSnippet.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/StatementSnippet.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -34,6 +34,8 @@
>   * <code>StatementSnippet</code> is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   * @jls 14.5: Statement.
>   */
>  public class StatementSnippet extends Snippet {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/TypeDeclSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/TypeDeclSnippet.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/TypeDeclSnippet.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -36,6 +36,8 @@
>   * <code>TypeDeclSnippet</code> is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   */
>  public class TypeDeclSnippet extends DeclarationSnippet {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/UnresolvedReferenceException.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/UnresolvedReferenceException.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/UnresolvedReferenceException.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -36,6 +36,8 @@
>   * the Snippet id and for snippets without a method name (for example an
>   * expression) <code>StackTraceElement.getName()</code> will be the
>   * empty string.
> + *
> + * @since 9
>   */
>  @SuppressWarnings("serial")             // serialVersionUID 
> intentionally omitted
>  public class UnresolvedReferenceException extends JShellException {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/VarSnippet.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/VarSnippet.java Fri Feb 
> 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/VarSnippet.java Fri Feb 
> 10 11:34:16 2017 -0800
> @@ -35,6 +35,8 @@
>   * <code>VarSnippet</code> is immutable: an access to
>   * any of its methods will always return the same result.
>   * and thus is thread-safe.
> + *
> + * @since 9
>   * @jls 8.3: FieldDeclaration.
>   */
>  public class VarSnippet extends DeclarationSnippet {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/DirectExecutionControl.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/DirectExecutionControl.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/DirectExecutionControl.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -39,6 +39,7 @@
>   *
>   * @author Robert Field
>   * @author Jan Lahoda
> + * @since 9
>   */
>  public class DirectExecutionControl implements ExecutionControl {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/FailOverExecutionControlProvider.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/FailOverExecutionControlProvider.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/FailOverExecutionControlProvider.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -37,6 +37,8 @@
>
>  /**
>   * Tries other providers in sequence until one works.
> + *
> + * @since 9
>   */
>  public class FailOverExecutionControlProvider  implements 
> ExecutionControlProvider{
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/JdiDefaultExecutionControl.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/JdiDefaultExecutionControl.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/JdiDefaultExecutionControl.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -61,6 +61,7 @@
>   *
>   * @author Robert Field
>   * @author Jan Lahoda
> + * @since 9
>   */
>  public class JdiDefaultExecutionControl extends JdiExecutionControl {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/JdiExecutionControl.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/JdiExecutionControl.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/JdiExecutionControl.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -37,7 +37,9 @@
>  import static java.util.stream.Collectors.toMap;
>
>  /**
> - * Abstract JDI implementation of {@link 
> jdk.jshell.spi.ExecutionControl}
> + * Abstract JDI implementation of {@link 
> jdk.jshell.spi.ExecutionControl}.
> + *
> + * @since 9
>   */
>  public abstract class JdiExecutionControl extends 
> StreamingExecutionControl implements ExecutionControl {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/JdiExecutionControlProvider.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/JdiExecutionControlProvider.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/JdiExecutionControlProvider.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -35,7 +35,9 @@
>
>  /**
>   * A provider of remote JDI-controlled execution engines.
> + *
>   * @author Robert Field
> + * @since 9
>   */
>  public class JdiExecutionControlProvider implements 
> ExecutionControlProvider {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/JdiInitiator.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/JdiInitiator.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/JdiInitiator.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -47,6 +47,8 @@
>  /**
>   * Sets up a JDI connection, providing the resulting JDI {@link 
> VirtualMachine}
>   * and the {@link Process} the remote agent is running in.
> + *
> + * @since 9
>   */
>  public class JdiInitiator {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/LoaderDelegate.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/LoaderDelegate.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/LoaderDelegate.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -34,6 +34,8 @@
>   * This interface specifies the loading specific subset of
>   * {@link jdk.jshell.spi.ExecutionControl}.  For use in encapsulating 
> the
>   * {@link java.lang.ClassLoader} implementation.
> + *
> + * @since 9
>   */
>  public interface LoaderDelegate {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -33,6 +33,7 @@
>   * in the same JVM as the JShell-core.
>   *
>   * @author Grigory Ptashko
> + * @since 9
>   */
>  public class LocalExecutionControl extends DirectExecutionControl {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControlProvider.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControlProvider.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControlProvider.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -32,7 +32,9 @@
>
>  /**
>   * A provider of execution engines which run in the same process as 
> JShell.
> + *
>   * @author Robert Field
> + * @since 9
>   */
>  public class LocalExecutionControlProvider implements 
> ExecutionControlProvider{
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/RemoteExecutionControl.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/RemoteExecutionControl.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/RemoteExecutionControl.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -45,6 +45,7 @@
>   *
>   * @author Jan Lahoda
>   * @author Robert Field
> + * @since 9
>   */
>  public class RemoteExecutionControl extends DirectExecutionControl 
> implements ExecutionControl {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/StreamingExecutionControl.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/StreamingExecutionControl.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/StreamingExecutionControl.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -37,6 +37,7 @@
>   * execution takes place.
>   *
>   * @author Robert Field
> + * @since 9
>   */
>  public class StreamingExecutionControl implements ExecutionControl {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/Util.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/execution/Util.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/execution/Util.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -53,6 +53,7 @@
>   *
>   * @author Jan Lahoda
>   * @author Robert Field
> + * @since 9
>   */
>  public class Util {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/execution/package-info.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/execution/package-info.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/execution/package-info.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -30,5 +30,7 @@
>   * Also, provides related communication utilities.
>   * This package may be used to define alternative execution engines.
>   * The default JShell execution engine is included.
> + *
> + * @since 9
>   */
>  package jdk.jshell.execution;
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/package-info.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/package-info.java Fri 
> Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/package-info.java Fri 
> Feb 10 11:34:16 2017 -0800
> @@ -140,6 +140,8 @@
>   * provide source boundary and completeness analysis to address cases 
> like
>   * those.  <code>SourceCodeAnalysis</code> also provides suggested 
> completions
>   * of input, as might be used in tab-completion.
> + *
> + * @since 9
>   */
>
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControl.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControl.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControl.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -45,6 +45,8 @@
>   * <p>
>   * Methods defined in this interface should only be called by the 
> core JShell
>   * implementation.
> + *
> + * @since 9
>   */
>  public interface ExecutionControl extends AutoCloseable {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControlProvider.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControlProvider.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControlProvider.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -33,7 +33,9 @@
>   * evaluate Snippets.  Alternate execution engines can be created by
>   * implementing this interface, then configuring JShell with the 
> provider or
>   * the providers name and parameter specifier.
> + *
>   * @author Robert Field
> + * @since 9
>   */
>  public interface ExecutionControlProvider {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionEnv.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionEnv.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionEnv.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -36,6 +36,7 @@
>   * This interface is designed to provide the access to core JShell 
> functionality
>   * needed to implement ExecutionControl.
>   *
> + * @since 9
>   * @see ExecutionControl
>   */
>  public interface ExecutionEnv {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/spi/SPIResolutionException.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/spi/SPIResolutionException.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/spi/SPIResolutionException.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -33,6 +33,8 @@
>   * <p>
>   * This exception is seen by the execution engine, but not seen by
>   * the end user nor through the JShell API.
> + *
> + * @since 9
>   */
>  @SuppressWarnings("serial")             // serialVersionUID 
> intentionally omitted
>  public class SPIResolutionException extends RuntimeException {
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/spi/package-info.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/spi/package-info.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/spi/package-info.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -66,6 +66,7 @@
>   * <li>failover:1(jdi),2(jdi:launch(true),timeout(3000)),3(local)</li>
>   * </ul>
>   *
> + * @since 9
>   * @see jdk.jshell.execution for execution implementation support
>   */
>  package jdk.jshell.spi;
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/tool/JavaShellToolBuilder.java
> --- 
> a/src/jdk.jshell/share/classes/jdk/jshell/tool/JavaShellToolBuilder.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ 
> b/src/jdk.jshell/share/classes/jdk/jshell/tool/JavaShellToolBuilder.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -40,6 +40,8 @@
>   * configuration methods have sensible defaults which will be used if 
> they are
>   * not called.. After zero or more calls to configuration methods, 
> the tool is
>   * launched with a call to {@link #run(java.lang.String...) }.
> + *
> + * @since 9
>   */
>  public interface JavaShellToolBuilder {
>
> diff -r 3e4d400638e5 
> src/jdk.jshell/share/classes/jdk/jshell/tool/package-info.java
> --- a/src/jdk.jshell/share/classes/jdk/jshell/tool/package-info.java 
> Fri Feb 10 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/jdk/jshell/tool/package-info.java 
> Fri Feb 10 11:34:16 2017 -0800
> @@ -47,6 +47,8 @@
>   *             .run("--feedback", "silent", "MyStart");
>   * }
>   * </pre>
> + *
> + * @since 9
>   */
>
>
> diff -r 3e4d400638e5 src/jdk.jshell/share/classes/module-info.java
> --- a/src/jdk.jshell/share/classes/module-info.java     Fri Feb 10 
> 07:50:55 2017 -0800
> +++ b/src/jdk.jshell/share/classes/module-info.java     Fri Feb 10 
> 11:34:16 2017 -0800
> @@ -51,6 +51,8 @@
>   *     independent, operate at different levels, and do not share 
> functionality or
>   *     definitions.
>   * </p>
> + *
> + * @since 9
>   */
>  module jdk.jshell {
>      requires transitive java.compiler;
>
>



More information about the kulla-dev mailing list