RFR 8143964: JShell API: convert query responses to Stream instead of List/Collection

Paul Sandoz paul.sandoz at oracle.com
Tue Aug 9 20:04:56 UTC 2016


Hi,

Looks ok, just some minor stuff.


JShellTool
—

1027     Stream<PersistentSnippet> dropableSnippets() {
1028         return state.snippets()
1029                 .filter(sn -> state.status(sn).isActive() && sn instanceof PersistentSnippet)
1030                 .map(sn -> (PersistentSnippet) sn);
1031     }


Not sure if you can do PersistentSnippet.class::cast, if so up to you.


1895                 Stream<Snippet> sns = at.hasOption("-all")
1896                         ? state.snippets()
1897                         : state.snippets().filter(this::mainActive);
1898                 Iterator<Snippet> it = sns.iterator();
1899                 while (it.hasNext()) {
1900                     Snippet sn = it.next();
1901                     writer.write(sn.source());
1902                     writer.write("\n");
1903                 }

You can use forEach instead of an iterator.

Paul.

> On 8 Aug 2016, at 23:15, Robert Field <robert.field at oracle.com> wrote:
> 
> Please review this deferred API review request.
> Basically changing List<*> return to Stream<*> return for seven methods:
>        Stream<Snippet> snippets()
>        Stream<VarSnippet> variables()
>        Stream<MethodSnippet> methods()
>        Stream<TypeDeclSnippet> types()
>        Stream<ImportSnippet> imports()
>        Stream<Diag> diagnostics(Snippet snippet)
>        Stream<String> unresolvedDependencies(DeclarationSnippet snippet)
> 
> Bug:
>    https://bugs.openjdk.java.net/browse/JDK-8143964
> 
> Webrev:
>    http://cr.openjdk.java.net/~rfield/8143964v0.webrev/
> 
> Spec:
> http://cr.openjdk.java.net/~rfield/8143964v0.jshellAPI/jdk/jshell/JShell.html
> 
> Specdiff:
> http://cr.openjdk.java.net/~rfield/8143964v0.specdiff/jdk/jshell/JShell.html
> 
> Thanks,
> Robert
> 



More information about the kulla-dev mailing list