private function _switch() {
    $node = new SwitchNode();
    $this->mustMatch(T_SWITCH, $node);
    $this->condition($node, 'switchOn');
    if ($this->tryMatch(':', $node, 'openColon')) {
      $this->tryMatch(';', $node);
      while ($this->currentType !== NULL && $this->currentType !== T_ENDSWITCH) {
        $node->addChild($this->caseStatement(T_ENDSWITCH));
        $this->matchHidden($node);
      }
      $this->mustMatch(T_ENDSWITCH, $node, 'endKeyword');
      $this->endStatement($node);
      return $node;
    }
    else {
      $this->mustMatch('{', $node);
      $this->tryMatch(';', $node);
      while ($this->currentType !== NULL && $this->currentType !== '}') {
        $node->addChild($this->caseStatement('}'));
        $this->matchHidden($node);
      }
      $this->mustMatch('}', $node, NULL, TRUE);
      return $node;
    }
  }
private function _switch() {
    $node = new SwitchNode();
    $this->mustMatch(T_SWITCH, $node);
    $this->condition($node, 'switchOn');
    if ($this->tryMatch(':', $node, 'openColon')) {
      $this->tryMatch(';', $node);
      while ($this->currentType !== NULL && $this->currentType !== T_ENDSWITCH) {
        $node->addChild($this->caseStatement(T_ENDSWITCH));
        $this->matchHidden($node);
      }
      $this->mustMatch(T_ENDSWITCH, $node, 'endKeyword');
      $this->endStatement($node);
      return $node;
    }
    else {
      $this->mustMatch('{', $node);
      $this->tryMatch(';', $node);
      while ($this->currentType !== NULL && $this->currentType !== '}') {
        $node->addChild($this->caseStatement('}'));
        $this->matchHidden($node);
      }
      $this->mustMatch('}', $node, NULL, TRUE);
      return $node;
    }
  }
private function _switch ( ) { $ node = new SwitchNode ( ) ; $ this -> mustMatch ( T_SWITCH , $ node ) ; $ this -> condition ( $ node , 'switchOn' ) ; if ( $ this -> tryMatch ( ':' , $ node , 'openColon' ) ) { $ this -> tryMatch ( ';' , $ node ) ; while ( $ this -> currentType !== NULL && $ this -> currentType !== T_ENDSWITCH ) { $ node -> addChild ( $ this -> caseStatement ( T_ENDSWITCH ) ) ; $ this -> matchHidden ( $ node ) ; } $ this -> mustMatch ( T_ENDSWITCH , $ node , 'endKeyword' ) ; $ this -> endStatement ( $ node ) ; return $ node ; } else { $ this -> mustMatch ( '{' , $ node ) ; $ this -> tryMatch ( ';' , $ node ) ; while ( $ this -> currentType !== NULL && $ this -> currentType !== '}' ) { $ node -> addChild ( $ this -> caseStatement ( '}' ) ) ; $ this -> matchHidden ( $ node ) ; } $ this -> mustMatch ( '}' , $ node , NULL , TRUE ) ; return $ node ; } }
Parse a switch control structure.
@return SwitchNode
Parse a switch control structure .