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

Robert Field robert.field at oracle.com
Tue Aug 9 20:24:02 UTC 2016


On 08/09/16 13:04, Paul Sandoz wrote:
> Hi,
>
> Looks ok, just some minor stuff.

Thanks, Paul, for the review. See below.
>
>
> 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.

Is that preferred?

>
>
> 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.

Actually, the "write" can thrown IOException.

Thanks,
Robert

>
> 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