original_string: public static function destroy_volatile_caches() {
          global $SESSION;
          if (is_array(self::$volatilecaches) && count(self::$volatilecaches)>0) {
              foreach (self::$volatilecaches as $area) {
                  $SESSION->navcache->{$area} = array();
              }
          } else {
              $SESSION->navcache = new stdClass;
          }
      }
code: public static function destroy_volatile_caches() {
          global $SESSION;
          if (is_array(self::$volatilecaches) && count(self::$volatilecaches)>0) {
              foreach (self::$volatilecaches as $area) {
                  $SESSION->navcache->{$area} = array();
              }
          } else {
              $SESSION->navcache = new stdClass;
          }
      }
code_tokens: public static function destroy_volatile_caches ( ) { global $ SESSION ; if ( is_array ( self :: $ volatilecaches ) && count ( self :: $ volatilecaches ) > 0 ) { foreach ( self :: $ volatilecaches as $ area ) { $ SESSION -> navcache -> { $ area } = array ( ) ; } } else { $ SESSION -> navcache = new stdClass ; } }
docstring: Destroys all caches marked as volatile
  
  This function is static and works in conjunction with the static volatilecaches
  property of navigation cache.
  Because this function is static it manually resets the cached areas back to an
  empty array.
docstring_tokens: Destroys all caches marked as volatile