whole_func_string: function o(obj) {
          obj.source = {
            text: text(),
            line: line(),
            column: column()
          }
          return obj;
        }
func_code_string: function o(obj) {
          obj.source = {
            text: text(),
            line: line(),
            column: column()
          }
          return obj;
        }
func_documentation_string: /* annotate the given object with source info