RFR 8174762: JShell: @since tags missing

Jonathan Gibbons jonathan.gibbons at oracle.com
Fri Feb 10 21:38:28 UTC 2017


If the classes you're de-publicizing have never gone through CCC, I 
guess it is a reasonable bug fix to do-publicize them. Thanks for 
posting the bug description.

For my part, the patch looks good to me.

-- Jon

On 02/10/2017 01:13 PM, Robert Field wrote:
> On 02/10/17 12:27, Jonathan Gibbons wrote:
>> 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?
>
> Thanks for reviewing Jon.
>
> Here is the bug description:
>
>       All four JShell APIs/SPIs and the module have no @since tags.
>
>       Also, three jdk.jshell classes are inadvertently public, and 
> thus visible in the API (but unused and unusable): 
> OuterImportSnippetWrap, OuterSnippetsClassWrap, and OuterWrapMap.
>
> Also, one class comment is missing its terminal period.
>
> The change from public to package-private is intentional.  I caught 
> these as a side-effect of checking every class.
>
> When these classes were added they inadvertently had public keywords 
> (NetBeans default, just looked, can't find where to change that) so 
> they never got CCC review to go in.  And they never would have passed 
> CCC as they make zero sense as part of the API (they aren't referenced 
> nor can they be created within the API).
>
> I checked CCC.  Somewhere between the initial 8043364 (where JShell 
> was integrated into the JDK 9 repo) and next CCC 8139829 (a spec 
> clean-up) they slipped in.  Note ("Old API"):
>
>       http://cr.openjdk.java.net/~rfield/old_jshell_api/
>
> referenced in the latter CCC.
>
> -Robert
>
>
>>
>>
>> --- 
>> 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