whole_func_string: function(ast) {
        let detected = [];
  
        ast.traverseByTypes(['block', 'atrulers'], function(node) {
          // For the block node, find its last (the deepest) child
          var whitespaceNode = getLastWhitespaceNode(node);
          if (whitespaceNode) {
            detected.push(whitespaceNode.content);
          } else {
            detected.push('');
          }
        });
  
        return detected;
      }
func_code_string: function(ast) {
        let detected = [];
  
        ast.traverseByTypes(['block', 'atrulers'], function(node) {
          // For the block node, find its last (the deepest) child
          var whitespaceNode = getLastWhitespaceNode(node);
          if (whitespaceNode) {
            detected.push(whitespaceNode.content);
          } else {
            detected.push('');
          }
        });
  
        return detected;
      }
func_documentation_string: Detects the value of an option at the tree node.
  
  @param {node} ast