whole_func_string: function extraIndent(nodes) {
      if (!nodes || !nodes.length) return;
  
      var node;
      var crPos;
      var tabPos;
      var result = 0;
  
      for (var i = nodes.length; i--;) {
        node = nodes[i];
  
        if (!node.content) {
          crPos = -1;
        } else {
          crPos = node.content.lastIndexOf('\n');
          tabPos = node.content.lastIndexOf('\t');
          if (tabPos > crPos) crPos = tabPos;
        }
  
        if (crPos !== -1)
          oneline = false;
  
        if (node.is('space')) {
          result += node.content.length - crPos - 1;
          if (crPos !== -1)
            break;
        }
        if (node.is('multilineComment')) {
          if (crPos === -1) {
            // Comment symbols length
            let offset = 4;
            result += node.content.length + offset;
          } else {
            // Only last comment symbols length - 1 (not count \n)
            let offset = crPos - 1;
            result += node.content.length - offset;
            break;
          }
        }
      }
  
      return result;
    }
func_code_string: function extraIndent(nodes) {
      if (!nodes || !nodes.length) return;
  
      var node;
      var crPos;
      var tabPos;
      var result = 0;
  
      for (var i = nodes.length; i--;) {
        node = nodes[i];
  
        if (!node.content) {
          crPos = -1;
        } else {
          crPos = node.content.lastIndexOf('\n');
          tabPos = node.content.lastIndexOf('\t');
          if (tabPos > crPos) crPos = tabPos;
        }
  
        if (crPos !== -1)
          oneline = false;
  
        if (node.is('space')) {
          result += node.content.length - crPos - 1;
          if (crPos !== -1)
            break;
        }
        if (node.is('multilineComment')) {
          if (crPos === -1) {
            // Comment symbols length
            let offset = 4;
            result += node.content.length + offset;
          } else {
            // Only last comment symbols length - 1 (not count \n)
            let offset = crPos - 1;
            result += node.content.length - offset;
            break;
          }
        }
      }
  
      return result;
    }
func_documentation_string: Returns extra indent for item in arguments
  
  @param {Array} nodes nodes to process
  @returns {Number|undefined}