llvm-project/clang/lib/Format
Nico Weber 48c94a6164 [clang-format] Recognize Java logical shift assignment operator
At present, clang-format mangles Java containing logical right shift operators
('>>>=' or '>>>'), splitting them in two, resulting in invalid code:

 public class Minimal {
   public void func(String args) {
     int i = 42;
-    i >>>= 1;
+    i >> >= 1;
     return i;
   }
 }

This adds both forms of logical right shift to the FormatTokenLexer, so
clang-format won't attempt to split them and insert bogus whitespace.

https://reviews.llvm.org/D31652
Patch from Richard Bradfield <bradfier@fstab.me>!

llvm-svn: 299952
2017-04-11 15:50:04 +00:00
..
AffectedRangeManager.cpp Added Fixer implementation and fix() interface in clang-format for removing redundant code. 2016-04-25 15:09:22 +00:00
AffectedRangeManager.h removed redundant '#' 2016-04-28 07:52:06 +00:00
BreakableToken.cpp [clang-format] Handle NSString literals by merging tokens. 2017-04-11 09:55:00 +00:00
BreakableToken.h [clang-format] Reformat BreakableToken.h; NFC 2017-03-08 08:58:44 +00:00
CMakeLists.txt [clang-format] Add a NamespaceEndCommentsFixer 2017-02-27 13:28:36 +00:00
ContinuationIndenter.cpp [clang-format] Handle NSString literals by merging tokens. 2017-04-11 09:55:00 +00:00
ContinuationIndenter.h [clang-format] Refactor WhitespaceManager and friends 2017-01-31 11:25:01 +00:00
Encoding.h [Format] Remove dead code. 2016-12-19 21:10:50 +00:00
Format.cpp clang-format: Support formatting utf-8 character literals in C++11+ mode. 2017-04-05 18:10:42 +00:00
FormatToken.cpp clang-format: Fix bug in handling of single-column lists. 2016-12-21 17:02:06 +00:00
FormatToken.h clang-format: [JS] allow breaking after non-null assertions. 2017-03-13 09:14:23 +00:00
FormatTokenLexer.cpp [clang-format] Recognize Java logical shift assignment operator 2017-04-11 15:50:04 +00:00
FormatTokenLexer.h [clang-format] Handle NSString literals by merging tokens. 2017-04-11 09:55:00 +00:00
NamespaceEndCommentsFixer.cpp [clang-format] fix crash in NamespaceEndCommentsFixer (PR32438) 2017-04-04 20:11:13 +00:00
NamespaceEndCommentsFixer.h [clang-format] Add a NamespaceEndCommentsFixer 2017-02-27 13:28:36 +00:00
SortJavaScriptImports.cpp Use after move bug fixes 2016-12-23 11:40:44 +00:00
SortJavaScriptImports.h clang-format: [JS] sort ES6 imports. 2016-05-20 11:24:24 +00:00
TokenAnalyzer.cpp Don't copy replacements in for-range loop. NFC. 2016-10-19 13:50:17 +00:00
TokenAnalyzer.h [Format] Remove dead code. 2016-12-19 21:10:50 +00:00
TokenAnnotator.cpp [clang-format] Handle NSString literals by merging tokens. 2017-04-11 09:55:00 +00:00
TokenAnnotator.h [clang-format] Add a NamespaceEndCommentsFixer 2017-02-27 13:28:36 +00:00
UnwrappedLineFormatter.cpp [clang-format] Fix parameter name comment; NFC 2017-03-08 09:02:39 +00:00
UnwrappedLineFormatter.h [clang-format] Refactor WhitespaceManager and friends 2017-01-31 11:25:01 +00:00
UnwrappedLineParser.cpp clang-format: Fix post-commit review comment of r299204, use Style.isCpp(). 2017-03-31 13:30:24 +00:00
UnwrappedLineParser.h [clang-format] Add a NamespaceEndCommentsFixer 2017-02-27 13:28:36 +00:00
WhitespaceManager.cpp Fix issues in clang-format's AlignConsecutive modes. 2017-03-23 02:51:25 +00:00
WhitespaceManager.h Fix issues in clang-format's AlignConsecutive modes. 2017-03-23 02:51:25 +00:00