Quick update.
It looks like clang-format is actually okay with C-style comments being on
their own line before a method definition. So last night patches landed to move
all these comments to their own line.
From:
/* static */ void Foo::Bar() { ... }
To:
/* static */
void Foo::Bar() { ... }
So why did the initial reformatting move all these comments around?
I believe the issue is that before the reformat, the C-style comments were on
the same line as the return types of the methods [1]. I think this lead
clang-format to view the comments as being part of the method definitions, and
so they were all formatted to be on the same line.
[1]
https://searchfox.org/mozilla-central/diff/265e6721798a455604328ed5262f430cfcc37c2f/layout/base/nsLayoutUtils.cpp#1098
Thanks,
Ryan
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, January 30, 2019 10:17 AM, Ryan Hunt <[email protected]> wrote:
> I've filed bug 1523969 to consider making this change.
>
> (https://bugzilla.mozilla.org/show_bug.cgi?id=1523969)
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Monday, January 28, 2019 6:27 PM, Ryan Hunt <[email protected]> wrote:
>
>> Yeah, personally I have found them be useful and don't have an issue with
>> keeping
>> them. I just wasn't sure if that was a common experience.
>>
>> So for converting from C-style to C++-style, that would be:
>>
>> /* static */ void Foo::Bar() {
>> ...
>> }
>>
>> // static
>> void Foo::Bar() {
>> ...
>> }
>>
>> I think that would be good. My one concern would be the presence of other
>> C++-style
>> comments before the method definition. For example [1].
>>
>> Ideally documentation like that should go in the header by the method
>> declaration, but I
>> have no idea if we consistently do that.
>>
>> [1]
>> https://hg.mozilla.org/mozilla-central/file/e4b9b1084292/layout/generic/nsFrame.cpp#l1023
>>
>> Thanks,
>> Ryan
>>
>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>> On Monday, January 28, 2019 12:51 PM, Ehsan Akhgari
>> <[email protected]> wrote:
>>
>>> This is indeed one of the cases where the reformat has made things worse.
>>> I think as a couple of people have already said, we'll find that some
>>> people do find these annotations useful, even if they're not always
>>> consistently present.
>>>
>>> The path to least resistance for addressing this problem may be to convert
>>> these into C++-style comments and therefore moving them into their own
>>> lines. Would you be OK with that?
>>>
>>> Thanks,
>>> Ehsan
>>>
>>> On Fri, Jan 25, 2019 at 11:49 PM Ryan Hunt <[email protected]> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Quick C++ style question.
>>>>
>>>> A common pattern in Gecko is for method definitions to have a comment with
>>>> the
>>>> 'static' or 'virtual' qualification.
>>>>
>>>> Before the reformat, the comment would be on it's own separate line [1].
>>>> Now
>>>> it's on the main line of the definition [2].
>>>>
>>>> For example:
>>>>
>>>> /* static */ void
>>>> Foo::Bar() {
>>>> ...
>>>> }
>>>>
>>>> vs.
>>>>
>>>> /* static */ void Foo::Bar() {
>>>> ...
>>>> }
>>>>
>>>> Personally I think this now takes too much horizontal space from the main
>>>> definition, and would prefer it to be either on its own line or just
>>>> removed.
>>>>
>>>> Does anyone have an opinion on whether we still want these comments? And
>>>> if so
>>>> whether it makes sense to move them back to their own line.
>>>>
>>>> (My ulterior motive is that sublime text's indexer started failing to find
>>>> these definitions after the reformat, but that should be fixed regardless)
>>>>
>>>> If you're interested in what removing these would entail, I wrote a regex
>>>> to
>>>> make the change [3].
>>>>
>>>> Thanks,
>>>> Ryan
>>>>
>>>> [1]
>>>> https://hg.mozilla.org/mozilla-central/file/0348d472115d/layout/generic/nsFrame.cpp#l1759
>>>> [2]
>>>> https://hg.mozilla.org/mozilla-central/file/e4b9b1084292/layout/generic/nsFrame.cpp#l1756
>>>> [3] https://hg.mozilla.org/try/rev/31ab3e466b6f15dcdbb1aee47edabc7c358b86f2
>>>>
>>>> _______________________________________________
>>>> dev-platform mailing list
>>>> [email protected]
>>>> https://lists.mozilla.org/listinfo/dev-platform
>>>
>>> --
>>> Ehsan
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform