Commit 9c4afce7 authored by Jonathan Coe's avatar Jonathan Coe
Browse files

[clang-format] Rename CSharpNullConditionalSq and add missing test

Summary:
Rename CSharpNullConditionalSq to CSharpNullConditionalLSquare.

Add test for spaces inside [] with C# Null conditionals.

Address comments missed from https://reviews.llvm.org/D75368.

Reviewers: krasimir

Reviewed By: krasimir

Subscribers: cfe-commits

Tags: #clang-format, #clang

Differential Revision: https://reviews.llvm.org/D75456
parent 67532646
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@ namespace format {
  TYPE(CSharpNullable)                                                         \
  TYPE(CSharpNullCoalescing)                                                   \
  TYPE(CSharpNullConditional)                                                  \
  TYPE(CSharpNullConditionalSq)                                                \
  TYPE(CSharpNullConditionalLSquare)                                           \
  TYPE(Unknown)

enum TokenType {
+1 −1
Original line number Diff line number Diff line
@@ -345,7 +345,7 @@ bool FormatTokenLexer::tryMergeCSharpNullConditional() {

  if (PeriodOrLSquare->is(tok::l_square)) {
    Question->Tok.setKind(tok::question); // no '?[' in clang tokens.
    Question->Type = TT_CSharpNullConditionalSq;
    Question->Type = TT_CSharpNullConditionalLSquare;
  } else {
    Question->Tok.setKind(tok::question); // no '?.' in clang tokens.
    Question->Type = TT_CSharpNullConditional;
+4 −4
Original line number Diff line number Diff line
@@ -972,7 +972,7 @@ private:
      }
      break;
    case tok::question:
      if (Tok->is(TT_CSharpNullConditionalSq)) {
      if (Tok->is(TT_CSharpNullConditionalLSquare)) {
        if (!parseSquare())
          return false;
        break;
@@ -1456,7 +1456,7 @@ private:
        return;
      }
      if (CurrentToken->TokenText == "?[") {
        Current.Type = TT_CSharpNullConditionalSq;
        Current.Type = TT_CSharpNullConditionalLSquare;
        return;
      }
    }
@@ -2947,11 +2947,11 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
      return true;

    // No space before '?['.
    if (Right.is(TT_CSharpNullConditionalSq))
    if (Right.is(TT_CSharpNullConditionalLSquare))
      return false;

    // Possible space inside `?[ 0 ]`.
    if (Left.is(TT_CSharpNullConditionalSq))
    if (Left.is(TT_CSharpNullConditionalLSquare))
      return Style.SpacesInSquareBrackets;

    // space between keywords and paren e.g. "using ("
+1 −0
Original line number Diff line number Diff line
@@ -607,6 +607,7 @@ TEST_F(FormatTestCSharp, CSharpSpaces) {

  Style.SpacesInSquareBrackets = true;
  verifyFormat(R"(private float[ , ] Values;)", Style);
  verifyFormat(R"(string dirPath = args?[ 0 ];)", Style);
}

TEST_F(FormatTestCSharp, CSharpNullableTypes) {