PyFile:SingleQuotedFStringInsideMultilineFStringTerminatedByLineBreakInExpressionInParentheses.py
  PyAssignmentStatement
    PyTargetExpression: s
      PsiElement(Py:IDENTIFIER)('s')
    PsiWhiteSpace(' ')
    PsiElement(Py:EQ)('=')
    PsiWhiteSpace(' ')
    PyStringLiteralExpression: {f'{(1 +
      PyFormattedStringElement
        PsiElement(Py:FSTRING_START)('f"""')
        PyFStringFragment
          PsiElement(Py:FSTRING_FRAGMENT_START)('{')
          PyStringLiteralExpression: {(1 +
            PyFormattedStringElement
              PsiElement(Py:FSTRING_START)('f'')
              PyFStringFragment
                PsiElement(Py:FSTRING_FRAGMENT_START)('{')
                PyParenthesizedExpression
                  PsiElement(Py:LPAR)('(')
                  PyBinaryExpression
                    PyNumericLiteralExpression
                      PsiElement(Py:INTEGER_LITERAL)('1')
                    PsiWhiteSpace(' ')
                    PsiElement(Py:PLUS)('+')
                    PsiErrorElement:expression expected
                      <empty list>
              PsiErrorElement:' expected
                <empty list>
        PsiErrorElement:""" expected
          <empty list>
  PsiWhiteSpace(' \n')
  PyExpressionStatement
    PyNumericLiteralExpression
      PsiElement(Py:INTEGER_LITERAL)('2')
    PsiErrorElement:End of statement expected
      <empty list>
  PsiElement(Py:RPAR)(')')
  PsiErrorElement:Statement expected, found Py:RPAR
    <empty list>
  PsiElement(Py:RBRACE)('}')
  PsiErrorElement:Statement expected, found Py:RBRACE
    <empty list>
  PyExpressionStatement
    PyStringLiteralExpression: }"""
      PsiElement(Py:SINGLE_QUOTED_STRING)(''}"""')