whole_func_string: function() {
      let result = this.node("usegroup");
      let items = [];
      let name = null;
      this.expect(this.tok.T_USE) && this.next();
      const type = this.read_use_type();
      items.push(this.read_use_declaration(false));
      if (this.token === ",") {
        items = items.concat(this.next().read_use_declarations(false));
      } else if (this.token === "{") {
        name = items[0].name;
        items = this.next().read_use_declarations(type === null);
        this.expect("}") && this.next();
      }
      result = result(name, type, items);
      this.expect(";") && this.next();
      return result;
    }
func_code_string: function() {
      let result = this.node("usegroup");
      let items = [];
      let name = null;
      this.expect(this.tok.T_USE) && this.next();
      const type = this.read_use_type();
      items.push(this.read_use_declaration(false));
      if (this.token === ",") {
        items = items.concat(this.next().read_use_declarations(false));
      } else if (this.token === "{") {
        name = items[0].name;
        items = this.next().read_use_declarations(type === null);
        this.expect("}") && this.next();
      }
      result = result(name, type, items);
      this.expect(";") && this.next();
      return result;
    }
func_documentation_string: Reads a use statement
  ```ebnf
  use_statement ::= T_USE
  use_type? use_declarations |
  use_type use_statement '{' use_declarations '}' |
  use_statement '{' use_declarations(=>typed) '}'
  ';'
  ```
  @see http://php.net/manual/en/language.namespaces.importing.php
  @return {UseGroup}