original_string: public function calculateHash($recursive = false) {
          if (!$this->loaded) {
              $this->hash = null;
          } else {
              $key = $this->name . $this->path . $this->comment;
              if ($this->tables) {
                  foreach ($this->tables as $tbl) {
                      $table = $this->getTable($tbl->getName());
                      if ($recursive) {
                          $table->calculateHash($recursive);
                      }
                      $key .= $table->getHash();
                  }
              }
              $this->hash = md5($key);
          }
      }
code: public function calculateHash($recursive = false) {
          if (!$this->loaded) {
              $this->hash = null;
          } else {
              $key = $this->name . $this->path . $this->comment;
              if ($this->tables) {
                  foreach ($this->tables as $tbl) {
                      $table = $this->getTable($tbl->getName());
                      if ($recursive) {
                          $table->calculateHash($recursive);
                      }
                      $key .= $table->getHash();
                  }
              }
              $this->hash = md5($key);
          }
      }
code_tokens: public function calculateHash ( $ recursive = false ) { if ( ! $ this -> loaded ) { $ this -> hash = null ; } else { $ key = $ this -> name . $ this -> path . $ this -> comment ; if ( $ this -> tables ) { foreach ( $ this -> tables as $ tbl ) { $ table = $ this -> getTable ( $ tbl -> getName ( ) ) ; if ( $ recursive ) { $ table -> calculateHash ( $ recursive ) ; } $ key .= $ table -> getHash ( ) ; } } $ this -> hash = md5 ( $ key ) ; } }
docstring: This function calculate and set the hash of one xmldb_structure
  @param bool $recursive
docstring_tokens: This function calculate and set the hash of one xmldb_structure