Commit Graph

40 Commits

Author SHA1 Message Date
Daniel Jasper 82c9275344 clang-format: [Java] Support more Java keywords.
Before:
  public final<X> Foo foo() {
  }

  public abstract<X> Foo foo();

After:
  public final <X> Foo foo() {
  }

  public abstract <X> Foo foo();

Patch by Harry Terkelsen. Thank you.

llvm-svn: 222527
2014-11-21 12:19:07 +00:00
Daniel Jasper 8354ea84dd clang-format: [Java] Basic lambda support.
llvm-svn: 222524
2014-11-21 12:14:12 +00:00
Daniel Jasper 6cab6784b9 clang-format: [Java] Don't align after "return".
Doesn't seem to be common practice in Java.

Before:
  return aaaaaaaaaaaaaaaaaaa
         && bbbbbbbbbbbbbbbbbbb
         && ccccccccccccccccccc;

After:
  return aaaaaaaaaaaaaaaaaaa
      && bbbbbbbbbbbbbbbbbbb
      && ccccccccccccccccccc;

Patch by Harry Terkelsen.

llvm-svn: 222424
2014-11-20 09:54:49 +00:00
Daniel Jasper caf8685958 clang-format: [Java] Don't force break before generic type method.
Before:
  Foo.bar()
      .<X>
      baz();

After:
  Foo.bar()
      .<X>baz();

Patch by Harry Terkelsen.

llvm-svn: 222423
2014-11-20 09:48:11 +00:00
Daniel Jasper ccb68b487e clang-format: [Java] Accept generic types in enum declaration
Before:
  enum Foo implements Bar<X, Y> {
    ABC {
      ...
    }
    , CDE {
      ...
    };
  }

After:
  enum Foo implements Bar<X, Y> {
    ABC {
      ...
    },
    CDE {
      ...
    };
  }

Patch by Harry Terkelsen.

llvm-svn: 222394
2014-11-19 22:38:18 +00:00
Daniel Jasper fe2cf6673a clang-format: [Java] Ignore C++-specific keywords
Before:
  public void union
  (Object o);
  public void struct
  (Object o);
  public void delete (Object o);

After:
  public void union(Object o);
  public void struct(Object o);
  public void delete(Object o);

Patch by Harry Terkelsen, thank you!

llvm-svn: 222357
2014-11-19 14:11:11 +00:00
Daniel Jasper 3aa9a6a126 clang-format: Add option to disable alignment after opening brackets
Before:
  SomeFunction(parameter,
               parameter);

After:
  SomeFunction(parameter,
      parameter);

Patch by Harry Terkelsen, thank you!

llvm-svn: 222284
2014-11-18 23:55:27 +00:00
Daniel Jasper 6761b42b90 clang-format: Fix space between generic type parameter and square
bracket

Before:
  public Foo<X, Y> [] foos;

After:
  public Foo<X, Y>[] foos;

Patch by Harry Terkelsen. Thank you!

llvm-svn: 222283
2014-11-18 23:48:01 +00:00
Daniel Jasper 4bfa736f1b clang-format: [Java] Further improve generics formatting.
llvm-svn: 222011
2014-11-14 17:30:15 +00:00
Daniel Jasper 734d52b58b clang-format: [Java] Fix line break behavior of class declarations.
Change breaking preferences:
1. Break before "extends"
2. Break before "implements"
3. Break within the implements list.

llvm-svn: 221981
2014-11-14 10:15:56 +00:00
Daniel Jasper 09f6abe8d8 clang-format: [Java] Improve generic return type formatting.
Before:
  public<R> ArrayList<R> get() {

After:
  public <R> ArrayList<R> get() {

llvm-svn: 221979
2014-11-14 09:05:32 +00:00
Daniel Jasper 30a2406e65 clang-format: [Java] No altnerative operator names in Java.
Before:
  someObject.and ();

After:
  someObject.and();

llvm-svn: 221978
2014-11-14 09:02:28 +00:00
Daniel Jasper 61d81973c1 clang-format: [Java] Improve formatting of generics.
Before:
  Function < F, ? extends T > function;

After:
  Function<F, ? extends T> function;

llvm-svn: 221976
2014-11-14 08:22:46 +00:00
Daniel Jasper 6be0f55d44 clang-format: [Java] Support Java enums.
In Java, enums can contain a class body and enum constants can have
arguments as well as class bodies. Support most of that.

llvm-svn: 221895
2014-11-13 15:56:28 +00:00
Nico Weber a644d7f39c clang-format: [Java] Never treat @interface as annotation.
'@' followed by any keyword can't be an annotation, but @interface is currently
the only combination of '@' and a keyword that's allowed, so limit it to this
case. `@interface Foo` without a leading `public` was misformatted prior to
this patch.

llvm-svn: 221607
2014-11-10 16:30:02 +00:00
Daniel Jasper 58fcf6df65 clang-format: [Java] Fix class declaration line breaks.
Before:
  @SomeAnnotation()
  abstract
      class aaaaaaaaa<a> extends bbbbbbbbbbbb<b> implements cccccccccccc {
  }

After:
  @SomeAnnotation()
  abstract class aaaaaaaaa<a> extends bbbbbbbbbbbb<b>
      implements cccccccccccc {
  }

llvm-svn: 221256
2014-11-04 10:53:14 +00:00
Daniel Jasper 82f9df9eb4 Revert "clang-format: [Java] Allow trailing semicolons after enums."
This reverts commit b5bdb2ef59ab922bcb4d6e843fffaee1f7f68a8c.

This doesn't really seem necessary on second though and causes problems
with C++ enum formatting.

llvm-svn: 221158
2014-11-03 15:42:11 +00:00
Daniel Jasper 5f2764d886 clang-format: [Java] Allow trailing semicolons after enums.
Before:
  enum SomeThing { ABC, CDE }
  ;

After:
  enum SomeThing { ABC, CDE };

llvm-svn: 221125
2014-11-03 03:00:42 +00:00
Daniel Jasper f056f45b77 clang-format: [Java] Fix more generics formatting.
Before:
  < T extends B > T getInstance(Class<T> type);

After:
  <T extends B> T getInstance(Class<T> type);

llvm-svn: 221124
2014-11-03 02:45:58 +00:00
Daniel Jasper db9a7a2f5f clang-format: [Java] Fix static generic methods.
Before:
  public static<R> ArrayList<R> get() {}

After:
  public static <R> ArrayList<R> get() {}

llvm-svn: 221122
2014-11-03 02:35:14 +00:00
Daniel Jasper 39af6cd5a4 clang-format: [Java] Fix class declaration formatting.
Before:
  @SomeAnnotation()
  abstract
      class aaaaaaaaaaaa extends bbbbbbbbbbbbbbb implements cccccccccccc {
  }

After:
  @SomeAnnotation()
  abstract class aaaaaaaaaaaa extends bbbbbbbbbbbbbbb
      implements cccccccccccc {
  }

llvm-svn: 221121
2014-11-03 02:27:28 +00:00
Daniel Jasper df2ff002f0 clang-format: [Java] Support enums without trailing semicolon.
Before:
  class SomeClass {
    enum SomeThing { ABC, CDE } void f() {
    }
  }

After:
  class SomeClass {
    enum SomeThing { ABC, CDE }
    void f() {
    }
  }

This fixed llvm.org/PR21458.

llvm-svn: 221113
2014-11-02 22:31:39 +00:00
Daniel Jasper 5e7be1d536 clang-format: [Java] Don't break imports.
This fixes llvm.org/PR21453.

llvm-svn: 221112
2014-11-02 22:13:03 +00:00
Daniel Jasper b9d3db6b1b clang-format: [Java] Add space between "synchronized" and "(".
Before:
  synchronized(mData) {
    // ...
  }

After:
  synchronized (mData) {
    // ...
  }

This fixes llvm.org/PR21455.

llvm-svn: 221110
2014-11-02 22:00:57 +00:00
Daniel Jasper 7bd618f5aa clang-format: [Java] Support generics with "?".
Before:
  @Override
  public Map < String,
          ? > getAll() {
    // ...
  }

After:
  @Override
  public Map<String, ?> getAll() {
    // ...
  }

This fixes llvm.org/PR21454.

llvm-svn: 221109
2014-11-02 21:52:57 +00:00
Daniel Jasper a3ddf86dd4 clang-format: [Java] Support try/catch/finally blocks.
llvm-svn: 221104
2014-11-02 19:21:48 +00:00
Daniel Jasper 50b4bd7c0e clang-format: [Java] Don't break after extends/implements.
Before:
  abstract class SomeClass extends SomeOtherClass implements
      SomeInterface {}

After:
  abstract class SomeClass extends SomeOtherClass
      implements SomeInterface {}

llvm-svn: 221103
2014-11-02 19:16:41 +00:00
Daniel Jasper e9ab42df0c clang-format: [Java] Improve line breaks around annotations.
Before:
  @SomeAnnotation("With some really looooooooooooooong text") private static final
      long something = 0L;

  void SomeFunction(@Nullable
                    String something) {}

After:
  @SomeAnnotation("With some really looooooooooooooong text")
  private static final long something = 0L;

  void SomeFunction(@Nullable String something) {}

llvm-svn: 220984
2014-10-31 18:23:49 +00:00
Daniel Jasper e003b78e37 clang-format: Fix test after recent flag change.
llvm-svn: 220781
2014-10-28 16:29:56 +00:00
Daniel Jasper c0126864a0 clang-format: [Java] Understand string literal concatenation.
Before:
  String someString = "abc" + "cde";

After:
  String someString = "abc"
                      + "cde";

llvm-svn: 220287
2014-10-21 11:34:53 +00:00
Daniel Jasper d78c422378 clang-format: [Java] Fix formatting of multiple annotations.
Before:
  @SuppressWarnings(value = "unchecked")
  @Author(name = "abc") public void doSomething() {
  }

After:
  @SuppressWarnings(value = "unchecked")
  @Author(name = "abc")
  public void doSomething() {
  }

llvm-svn: 220286
2014-10-21 11:17:56 +00:00
Daniel Jasper 5ffcb7fe90 clang-format: [Java] Fix space in generic method calls.
Before:
  A.<B>doSomething();

After:
  A.<B>doSomething();

llvm-svn: 220285
2014-10-21 11:13:31 +00:00
Daniel Jasper fd68191db4 clang-format: [Java] Improve annotation handling.
Before:
@SuppressWarnings(
    value = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") public static int iiiiiiiiiiiiiiiiiiiiiiii;

After:
  @SuppressWarnings(value = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
  public static int iiiiiiiiiiiiiiiiiiiiiiii;

llvm-svn: 220284
2014-10-21 10:58:14 +00:00
Daniel Jasper c7d024ac53 clang-format: [Java] Make annotation formatting more consistent.
Before:
  DoSomething(new A() {
    @Override public String toString() {
    }
  });

After:
  DoSomething(new A() {
    @Override
    public String toString() {
    }
  });

llvm-svn: 220282
2014-10-21 10:02:03 +00:00
Daniel Jasper 16b107e9f0 clang-format: [Java] Improve generic support.
Before:
  Iterable< ? > a;
  Iterable< ? extends SomeObject > a;

After:
  Iterable<?> a;
  Iterable<? extends SomeObject> a;

llvm-svn: 220281
2014-10-21 09:57:09 +00:00
Daniel Jasper 4bf9d470cb clang-format: [Java] Support extending inner classes.
Before:
  class A extends B
  .C {}

After:
  class A extends B.C {}

llvm-svn: 220280
2014-10-21 09:31:29 +00:00
Daniel Jasper f1f0c35632 clang-format: [Java] Support annotations with parameters.
Before:
  @SuppressWarnings
  (value = "unchecked") public void doSomething() { .. }

After:
  @SuppressWarnings(value = "unchecked")
  public void doSomething() { .. }

llvm-svn: 220279
2014-10-21 09:25:39 +00:00
Daniel Jasper fab69ff095 clang-format: [Java] Wrap after each function annotation.
Before:
  @Override public String toString() { .. }

After:
  @Override
  public String toString() { .. }

llvm-svn: 220274
2014-10-21 08:24:18 +00:00
Daniel Jasper f26c755d42 clang-format: [Java] Don't break immediately after "throws".
Before:
  public void doSooooooooooooooooooooooooooomething() throws
      LooooooooooooooooooooooooooooongException {}

After:
  public void doSooooooooooooooooooooooooooomething()
      throws LooooooooooooooooooooooooooooongException {}

llvm-svn: 220041
2014-10-17 13:36:14 +00:00
Daniel Jasper c58c70e2f3 clang-format: Basic support for Java.
llvm-svn: 217759
2014-09-15 11:21:46 +00:00