whole_func_string: function getEntityDocComment(node, entity) {
      var comment = ['/**'];
      if (node.leadingComments && node.leadingComments[0]) {
          comment.push(node.leadingComments[0].value);
      }
  
      if (entity.block) {
          comment.push('@block');
      }
  
      if (entity.mod) {
          comment.push('@mod');
      }
  
      if (entity.val) {
          comment.push('@val');
      }
  
      comment.push('*/');
      return comment.join('\n');
  }
func_code_string: function getEntityDocComment(node, entity) {
      var comment = ['/**'];
      if (node.leadingComments && node.leadingComments[0]) {
          comment.push(node.leadingComments[0].value);
      }
  
      if (entity.block) {
          comment.push('@block');
      }
  
      if (entity.mod) {
          comment.push('@mod');
      }
  
      if (entity.val) {
          comment.push('@val');
      }
  
      comment.push('*/');
      return comment.join('\n');
  }
func_documentation_string: Constructs new doc comment by appending
  custom doc tags (@block, @elem, @mod) to
  to source doc comment.
  
  @param {Object} node AST node to document
  @param {Object} entity BEM entity, declared by node
  @returns {String} doc comment for a bem entity