This is an archive of the discontinued LLVM Phabricator instance.

OLD DRAFT [clang-format] Handle trailing comment sections in import statement lines
AbandonedPublic

Authored by krasimir on May 5 2017, 4:51 AM.

Details

Reviewers
None
Summary

This patch updates the handling of multiline trailing comment sections in
import statement lines to make it more consistent with the case in general.
This includes updating the parsing logic to collect the trailing comment
sections and the formatting logic to rely on the comment section breakable
tokens for formatting.

Specifically, before this patch this code:

#include <a> // line 1
             // line 2

will be turned into two unwrapped lines, whereas this code:

int i; // line 1
       // line 2

is turned into a single unwrapped line, enabling reflowing across comments.

An example where the old behaviour is bad is when partially formatting the lines
3 to 4 of this code:

#include <a> // line 1
             // line 2

int i;

which gets turned into:

#include <a> // line 1
             // line 2

             int i;

because the two comment lines were independent and the indent was copied.

Event Timeline

krasimir created this revision.May 5 2017, 4:51 AM
krasimir added a subscriber: cfe-commits.
krasimir retitled this revision from [clang-format] Handle trailing comment sections in import statement lines to OLD DRAFT [clang-format] Handle trailing comment sections in import statement lines.May 19 2017, 3:34 AM
krasimir abandoned this revision.Jun 7 2017, 5:44 AM