summaryrefslogtreecommitdiff
path: root/buildscripts/PhpDocumentor/phpDocumentor/EventStack.inc
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/PhpDocumentor/phpDocumentor/EventStack.inc')
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/EventStack.inc98
1 files changed, 98 insertions, 0 deletions
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/EventStack.inc b/buildscripts/PhpDocumentor/phpDocumentor/EventStack.inc
new file mode 100755
index 00000000..4a75bba3
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/EventStack.inc
@@ -0,0 +1,98 @@
+<?php
+/**
+ * An Event Stack for inter-program communication, particularly for parsing
+ *
+ * phpDocumentor :: automatic documentation generator
+ *
+ * PHP versions 4 and 5
+ *
+ * Copyright (c) 2000-2007 Joshua Eichorn
+ *
+ * LICENSE:
+ *
+ * This library is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General
+ * Public License as published by the Free Software Foundation;
+ * either version 2.1 of the License, or (at your option) any
+ * later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @author Joshua Eichorn <jeichorn@phpdoc.org>
+ * @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 <jeichorn@phpdoc.org>
+ * @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];
+ }
+}