src/parser/namespace.js
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;
  }
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;
  }
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 ; }
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}
Reads a use statement ebnf use_statement :: = T_USE use_type? use_declarations | use_type use_statement { use_declarations } | use_statement { use_declarations ( = > typed ) } ;