llvm-project/clang/lib/Format
Martin Probst 4c9d691445 clang-format: [JS] fix `??` opreator wrapping.
Summary:
clang-format currently treats the nullish coalescing operator `??` like
the ternary operator. That causes multiple nullish terms to be each
indented relative to the last `??`, as they would in a ternary.

The `??` operator is often used in chains though, and as such more
similar to other binary operators, such as `||`. So to fix the indent,
set its token type to `||`, so it inherits the same treatment.

This opens up the question of operator precedence. However, `??` is
required to be parenthesized when mixed with `||` and `&&`, so this is
not a problem that can come up in syntactically legal code.

Reviewers: krasimir

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73026
2020-01-20 17:07:14 +01:00
..
AffectedRangeManager.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AffectedRangeManager.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
BreakableToken.cpp [clang][NFC] Make various uses of Regex const 2019-11-19 16:15:21 +00:00
BreakableToken.h [clang][NFC] Make various uses of Regex const 2019-11-19 16:15:21 +00:00
CMakeLists.txt Reland "Move #include manipulation code to new lib/Tooling/Inclusions." 2018-06-04 09:04:12 +00:00
ContinuationIndenter.cpp [clang-format] [PR43333] Fix C# breaking before function name when using Attributes 2019-10-04 07:56:49 +00:00
ContinuationIndenter.h [clang-format] Fix indent of trailing raw string param after newline 2019-04-18 17:14:05 +00:00
Encoding.h [clang-format][PR41964] Fix crash with SIGFPE when TabWidth is set to 0 and line starts with tab 2019-09-18 18:57:09 +00:00
Format.cpp [clang-format] Add IndentCaseBlocks option 2020-01-19 15:52:26 +00:00
FormatInternal.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FormatToken.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FormatToken.h [clang-format/java] format multiple qualified annotations on one declaration better 2020-01-03 12:11:44 -05:00
FormatTokenLexer.cpp clang-format: [JS] fix `??` opreator wrapping. 2020-01-20 17:07:14 +01:00
FormatTokenLexer.h [clang-format] [PR43338] C# clang format has space issues betweern C# only keywords 2019-10-04 08:10:22 +00:00
NamespaceEndCommentsFixer.cpp [clang][NFC] Make various uses of Regex const 2019-11-19 16:15:21 +00:00
NamespaceEndCommentsFixer.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SortJavaScriptImports.cpp Use llvm::stable_sort 2019-04-24 14:43:05 +00:00
SortJavaScriptImports.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TokenAnalyzer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TokenAnalyzer.h [clang-format] Remove unused Environment constructor. 2019-04-18 00:36:51 +00:00
TokenAnnotator.cpp [clang-format] Expand the SpacesAroundConditions option to include catch statements 2020-01-19 15:56:04 +00:00
TokenAnnotator.h clang-format clang/lib/Format 2019-07-29 13:26:48 +00:00
UnwrappedLineFormatter.cpp [clang-format] fix conflict between FormatStyle::BWACS_MultiLine and BeforeCatch/BeforeElse 2020-01-06 09:21:41 -05:00
UnwrappedLineFormatter.h [clang-format] [NFC] clang-format the Format library 2019-03-01 09:09:54 +00:00
UnwrappedLineParser.cpp [clang-format] Add IndentCaseBlocks option 2020-01-19 15:52:26 +00:00
UnwrappedLineParser.h [clang-format] Add new style option IndentGotoLabels 2019-09-12 10:07:14 +00:00
UsingDeclarationsSorter.cpp Use llvm::stable_sort 2019-04-24 14:43:05 +00:00
UsingDeclarationsSorter.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
WhitespaceManager.cpp [clang-format][PR41964] Fix crash with SIGFPE when TabWidth is set to 0 and line starts with tab 2019-09-18 18:57:09 +00:00
WhitespaceManager.h clang-format: Add new style option AlignConsecutiveMacros 2019-07-02 15:53:14 +00:00