@Override
  public void visitPyFormattedStringElement(@NotNull PyFormattedStringElement node) {
    final String wholeNodeText = node.getText();
    for (TextRange textRange : node.getLiteralPartRanges()) {
      int i = textRange.getStartOffset();
      while (i < textRange.getEndOffset()) {
        final int nextOffset = skipNamedUnicodeEscape(wholeNodeText, i, textRange.getEndOffset());
        if (i != nextOffset) {
          i = nextOffset;
          continue;
        }
        final char c = wholeNodeText.charAt(i);
        if (c == '}') {
          if (i + 1 < textRange.getEndOffset() && wholeNodeText.charAt(i + 1) == '}') {
            i += 2;
            continue;
          }
          reportCharacter(node, i, PyPsiBundle.message("ANN.fstrings.single.right.brace.not.allowed.inside.fstrings"));
        }
        i++;
      }
    }
  }
@Override
  public void visitPyFormattedStringElement(@NotNull PyFormattedStringElement node)