JDK 9 RFR of JDK-8173609: Elements.printElements needs to support modules

Jan Lahoda jan.lahoda at oracle.com
Mon Jan 30 15:44:13 UTC 2017


On 29.1.2017 21:55, joe darcy wrote:
> Hi Remi,
>
>
> On 1/29/2017 3:21 AM, Remi Forax wrote:
>> Hi Joe,
>> i believe that all non public methods you have added can be declared
>> private,
>
> Good point; I'll make that change before pushing.
>
>> and printNameableList can use a stream and a collector
>>
>>    private void printNameableList(List<? extends QualifiedNameable>
>> nameables) {
>>
>> writer.print(nameables.stream().map(QualifiedNameable::getQualifiedName).collect(Collectors.joining(",
>> "));
>
> I thought of using that style instead and changed some core reflection
> code to use streams and collectors earlier in 9 (JDK-8162817: Annotation
> toString output not reusable for source input).
>
> I'll let Jon or Jan weigh in on which style is preferred for javac.

I personally think both are fine here: using stream and collector avoids 
the auxiliary variable ("first"); using the loop avoids the need to 
construct the compound string by writing the elements to the output one 
by one.

Jan

>
> Thanks,
>
> -Joe
>
>>    }
>>
>> cheers,
>> Rémi
>>
>> ----- Mail original -----
>>> De: "joe darcy" <joe.darcy at oracle.com>
>>> À: compiler-dev at openjdk.java.net
>>> Envoyé: Samedi 28 Janvier 2017 22:39:26
>>> Objet: JDK 9 RFR of JDK-8173609: Elements.printElements needs to
>>> support    modules
>>> Hello,
>>>
>>> Please review the straightforward fix to address:
>>>
>>>      JDK-8173609: Elements.printElements needs to support modules
>>>      http://cr.openjdk.java.net/~darcy/8173609.0/
>>>
>>> Once additional information about modules is available (JDK-8172810:
>>> ModuleElement should declare and provide appropriate modifiers), the
>>> printing processor should be updated to expose that information.
>>>
>>> Admittedly this changeset would be better with some regression testing.
>>>
>>> Thanks,
>>>
>>> -Joe
>


More information about the compiler-dev mailing list