]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Fix incorrect detection of cast.
authorDaniel Jasper <djasper@google.com>
Mon, 5 Jan 2015 10:33:39 +0000 (10:33 +0000)
committerDaniel Jasper <djasper@google.com>
Mon, 5 Jan 2015 10:33:39 +0000 (10:33 +0000)
After:
  return (a instanceof List<?>) ? aaaaaaaaaaaaaaaaaaaaaaa(
                                      aaaaaaaaaaaaaaaaaaaaa)
                                : aaaaaaaaaaaaaaaaaaaaaaa;

After:
  return (a instanceof List<?>)
      ? aaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaa)
      : aaaaaaaaaaaaaaaaaaaaaaa;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225161 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTestJava.cpp

index 2e97ffffbece503f28e4794257363aa354a8ffbe..331776c59aa5f5daaa709dbd7e64854e2cf1b665 100644 (file)
@@ -927,6 +927,8 @@ private:
         LeftOfParens->MatchingParen->is(TT_LambdaLSquare))
       return false;
     if (Tok.Next) {
+      if (Tok.Next->is(tok::question))
+        return false;
       if (Style.Language == FormatStyle::LK_JavaScript &&
           Tok.Next->is(Keywords.kw_in))
         return false;
index e27e462ae768649dfb6d22bcb12a6351b01e8820..99b25dc734205f8510bd88c52641a437cef7a27c 100644 (file)
@@ -289,6 +289,10 @@ TEST_F(FormatTestJava, Generics) {
 
   verifyFormat("private Foo<X, Y>[] foos;");
   verifyFormat("Foo<X, Y>[] foos = this.foos;");
+  verifyFormat("return (a instanceof List<?>)\n"
+               "    ? aaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaa)\n"
+               "    : aaaaaaaaaaaaaaaaaaaaaaa;",
+               getStyleWithColumns(60));
 
   verifyFormat(
       "SomeLoooooooooooooooooooooongType name =\n"