* @copyright 2000-2007 Joshua Eichorn * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version CVS: $Id: EventStack.inc 243937 2007-10-10 02:27:42Z ashnazg $ * @filesource * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @since 0.1 * @todo CS cleanup - change package to PhpDocumentor */ /** * An event Stack * * @category ToolsAndUtilities * @package phpDocumentor * @author Joshua Eichorn * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor */ class EventStack { /** * The stack * @var array */ var $stack = array(PARSER_EVENT_NOEVENTS); /** * The number of events in the stack * @var integer */ var $num = 0; /** * Push an event onto the stack * * @param int $event All events must be constants * * @return void */ function pushEvent($event) { $this->num = array_push($this->stack, $event) - 1; } /** * Pop an event from the stack * * @return int An event */ function popEvent() { $this->num--; return array_pop($this->stack); } /** * Get the current event * * @return int An event */ function getEvent() { return $this->stack[$this->num]; } }