/**
  * Process a class declaration statement.
  */
 private function _processClassStatement()
 {
     $isAfterScopeResolutionOperator = $this->tokenizer->checkPreviousToken(T_DOUBLE_COLON);
     if ($isAfterScopeResolutionOperator) {
         return;
     }
     // Check PHPDoc presence
     $this->_checkDocExists(T_CLASS);
     $this->_ncssTotalClasses++;
     $this->_ncssFileClasses++;
     // Test if there is more than one class per file
     if ($this->_isActive('oneClassPerFile') && $this->_ncssFileClasses > 1) {
         $msg = $this->_getMessage('ONE_CLASS_PER_FILE', $this->_currentFilename);
         $this->_writeError('oneClassPerFile', $msg);
     }
     // Reset the default values
     $this->_inFunction = false;
     $this->_nbFunctionParameters = 0;
     $this->_functionParameters = array();
     $this->_inFunctionStatement = false;
     $this->_functionReturns = false;
     $this->_functionThrows = false;
     $this->_inControlStatement = false;
     $this->_currentStatement = false;
     $this->_inClassStatement = true;
     // skip until T_STRING representing the class name
     while (!$this->tokenizer->checkCurrentToken(T_STRING)) {
         $this->tokenizer->getNextToken();
     }
     $token = $this->tokenizer->getCurrentToken();
     $classname = $token->text;
     $this->_currentClassname = $classname;
     // Test that the class name matches the file name
     $this->_checkTypeNameFileNameMatch($classname);
     // Check class naming
     $this->_checkClassNaming($classname);
     $this->_checkWhiteSpaceAfter($classname);
 }