whole_func_string: function genProperty(members, name) {
      var res = {
          name: name,
          deprecated: false,
          description: '',
          types: []
      };
  
      members.filter({
          kind: 'member',
          name: name
      }).each(function(doclet) {
          if (doclet.description) {
              res.description += doclet.description + '\n';
          }
  
          if (!res.access) {
              res.access = doclet.access;
          }
  
          if (!res.scope) {
              res.scope = doclet.scope;
          }
  
          if (doclet.deprected) {
              res.deprecated = true;
          }
          if (res.types.length === 0 && doclet.type) {
              res.types = doclet.type.names.slice(0);
          }
      });
  
      res.scope = res.scope || 'instance';
      res.access = res.acccess || 'public';
  
      return res;
  }
func_code_string: function genProperty(members, name) {
      var res = {
          name: name,
          deprecated: false,
          description: '',
          types: []
      };
  
      members.filter({
          kind: 'member',
          name: name
      }).each(function(doclet) {
          if (doclet.description) {
              res.description += doclet.description + '\n';
          }
  
          if (!res.access) {
              res.access = doclet.access;
          }
  
          if (!res.scope) {
              res.scope = doclet.scope;
          }
  
          if (doclet.deprected) {
              res.deprecated = true;
          }
          if (res.types.length === 0 && doclet.type) {
              res.types = doclet.type.names.slice(0);
          }
      });
  
      res.scope = res.scope || 'instance';
      res.access = res.acccess || 'public';
  
      return res;
  }
func_documentation_string: Generates docs for a property.
  
  Descriptions got merged from all levels. Other params
  will not be merged and first non-empty value will be used