whole_func_string: function(ast) {
        var lastChild = ast.last();
        if (lastChild.is('space')) {
          lastChild.content = trim(lastChild.content)
              .replace(/[ \t]+$/, '')
              .replace(/[\n]+/g, '\n');
        }
  
        ast.traverseByType('space', function(space) {
          space.content = trim(space.content);
        });
      }
func_code_string: function(ast) {
        var lastChild = ast.last();
        if (lastChild.is('space')) {
          lastChild.content = trim(lastChild.content)
              .replace(/[ \t]+$/, '')
              .replace(/[\n]+/g, '\n');
        }
  
        ast.traverseByType('space', function(space) {
          space.content = trim(space.content);
        });
      }
func_documentation_string: Processes tree node.
  @param {node} ast