https://bugs.llvm.org/show_bug.cgi?id=45057
Bug ID: 45057
Summary: Interface return type incorrectly placed on separate
line when it is annotated with a long annotation
Product: clang
Version: 9.0
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Formatter
Assignee: unassignedclangb...@nondot.org
Reporter: nikolaos.georg...@gmail.com
CC: djas...@google.com, kli...@google.com,
llvm-bugs@lists.llvm.org
Consider the following Java code:
```
public interface ThingsDao {
@SqlUpdate(
"UPDATE things SET score=:score, comments=:comments,
last_modified_at=:lastModifiedAt, "
+ "last_checked_at=:lastCheckedAt WHERE id=:id")
void update(
@Bind("score") int score,
@Bind("comments") int comments,
@Bind("lastModifiedAt") LocalDateTime lastModifiedAt,
@Bind("lastCheckedAt") LocalDateTime lastCheckedAt,
@Bind("id") long id);
@SqlUpdate("UPDATE things SET last_checked_at=:lastCheckedAt WHERE id=:id")
void update(@Bind("lastCheckedAt") LocalDateTime lastCheckedAt, @Bind("id")
long id);
}
```
Both methods are annotated with the same annotation, but the first one has a
long annotation which needs to be broken down into multiple lines.
When using clang-format, the long annotation seems to confuse it, as the first
method puts the return type `void` in a separate line. This does not happen for
the second method.
This is the diff:
```
@SqlUpdate(
"UPDATE things SET score=:score, comments=:comments,
last_modified_at=:lastModifiedAt, "
+ "last_checked_at=:lastCheckedAt WHERE id=:id")
- void update(
+ void
+ update(
@Bind("score") int score,
@Bind("comments") int comments,
@Bind("lastModifiedAt") LocalDateTime lastModifiedAt,
```
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs