code: def get_block_symbol_data(editor, block):
      
      def list_symbols(editor, block, character):
          """
          Retuns  a list of symbols found in the block text
  
          :param editor: code editor instance
          :param block: block to parse
          :param character: character to look for.
          """
          text = block.text()
          symbols = []
          cursor = QTextCursor(block)
          cursor.movePosition(cursor.StartOfBlock)
          pos = text.find(character, 0)
          cursor.movePosition(cursor.Right, cursor.MoveAnchor, pos)
  
          while pos != -1:
              if not TextHelper(editor).is_comment_or_string(cursor):
                  # skips symbols in string literal or comment
                  info = ParenthesisInfo(pos, character)
                  symbols.append(info)
              pos = text.find(character, pos + 1)
              cursor.movePosition(cursor.StartOfBlock)
              cursor.movePosition(cursor.Right, cursor.MoveAnchor, pos)
          return symbols
  
      parentheses = sorted(
          list_symbols(editor, block, '(') + list_symbols(editor, block, ')'),
          key=lambda x: x.position)
      square_brackets = sorted(
          list_symbols(editor, block, '[') + list_symbols(editor, block, ']'),
          key=lambda x: x.position)
      braces = sorted(
          list_symbols(editor, block, '{') + list_symbols(editor, block, '}'),
          key=lambda x: x.position)
      return parentheses, square_brackets, braces
docs: Gets the list of ParenthesisInfo for specific text block.
  
      :param editor: Code editor instance
      :param block: block to parse