[Wact-cvs] SF.net SVN: wact: [347] trunk/wact/template
Status: Pre-Alpha
Brought to you by:
jeffmoore
From: <nor...@us...> - 2006-12-18 15:26:02
|
Revision: 347 http://svn.sourceforge.net/wact/?rev=347&view=rev Author: norbertmocsnik Date: 2006-12-18 07:25:59 -0800 (Mon, 18 Dec 2006) Log Message: ----------- Moved $sourceOrganizer property from WactTemplateNode to WactTreeBuilder. Modified Paths: -------------- trunk/wact/template/compiler/compiler.inc.php trunk/wact/template/compiler/node/template.inc.php trunk/wact/template/compiler/parser/treebuilder.inc.php trunk/wact/template/tags/core/include.tag.php Modified: trunk/wact/template/compiler/compiler.inc.php =================================================================== --- trunk/wact/template/compiler/compiler.inc.php 2006-12-17 10:18:43 UTC (rev 346) +++ trunk/wact/template/compiler/compiler.inc.php 2006-12-18 15:25:59 UTC (rev 347) @@ -47,9 +47,9 @@ $code->registerInclude('wact/view/view.inc.php'); $tree = new WactRootTemplateNode(NULL, NULL, new WactSourceLocation($resourceId, 0)); - $tree->setSourceOrganizer($organizer); $treeBuilder = new WactTreeBuilder(); + $treeBuilder->setSourceOrganizer($organizer); $sfp = new WactSourceParser($source, $treeBuilder); Modified: trunk/wact/template/compiler/node/template.inc.php =================================================================== --- trunk/wact/template/compiler/node/template.inc.php 2006-12-17 10:18:43 UTC (rev 346) +++ trunk/wact/template/compiler/node/template.inc.php 2006-12-18 15:25:59 UTC (rev 347) @@ -83,11 +83,6 @@ protected $sourceLocation; /** - * @var WactSourceOrganizer - */ - protected $sourceOrganizer; - - /** * Defines whether the tag is allowed to have a closing tag * @var CLOSING_NONE|CLOSING_SELF|CLOSING_TAG */ @@ -122,15 +117,6 @@ } /** - * Sets the source organizer for this object - * to be passed to its children. - * @param WactSourceOrganizer $sourceOrganizer - */ - function setSourceOrganizer($sourceOrganizer) { - $this->sourceOrganizer = $sourceOrganizer; - } - - /** * Returns the tag used to define this object. */ function getTag() { @@ -348,7 +334,6 @@ */ function addChild($child) { $child->parent = $this; - $child->setSourceOrganizer($this->sourceOrganizer); $this->children[] = $child; } Modified: trunk/wact/template/compiler/parser/treebuilder.inc.php =================================================================== --- trunk/wact/template/compiler/parser/treebuilder.inc.php 2006-12-17 10:18:43 UTC (rev 346) +++ trunk/wact/template/compiler/parser/treebuilder.inc.php 2006-12-18 15:25:59 UTC (rev 347) @@ -30,13 +30,13 @@ * @see http://wact.sourceforge.net/index.php/TreeBuilder */ class WactTreeBuilder { - + /** * Current Component - * @var WactTemplateNode + * @var WactTemplateNode */ private $component; - + /** * The last child added since the last pushNode * @var CompilerCompononent @@ -49,6 +49,12 @@ private $locator; /** + * Used in the preParse() method of some components + * @var WactSourceOrganizer + */ + private $sourceOrganizer; + + /** * Stack of tags pushed onto the tree builder, may also contain components * @see pushExpectedTag * @see popExpectedTag @@ -63,8 +69,25 @@ function setDocumentLocator($locator) { $this->locator = $locator; } - + /** + * Sets the source organizer to be used in the preParse() + * method of some components + * @param WactSourceOrganizer $sourceOrganizer + */ + function setSourceOrganizer($sourceOrganizer) { + $this->sourceOrganizer = $sourceOrganizer; + } + + /** + * Returns the source organizer set with setSourceOrganizer() + * @return WactSourceOrganizer + */ + function getSourceOrganizer() { + return $this->sourceOrganizer; + } + + /** * Returns the current component * @return WactTemplateNode */ @@ -81,22 +104,22 @@ $this->component = $component; unset($this->lastAddedChild); } - + /** * Begins a component's build phase in relation to the component tree. * Adds a component to the tree, then makes that component the 'cursor'. * Return the result of the component's preParse() method which is the - * parsing instruction FORBID_PARSING or REQUIRE_PARSING. - * @param WactTemplateNode + * parsing instruction FORBID_PARSING or REQUIRE_PARSING. + * @param WactTemplateNode * @return void */ function pushNode($newComponent) { $this->component->addChild($newComponent); $this->setCursor($newComponent); - + // scheduled for removal from component: taginfo to contain nesting level info $this->component->checkNestingLevel(); - + return $this->component->preParse($this); } @@ -111,7 +134,7 @@ $this->component->addChild($childComponent); $this->lastAddedChild = $childComponent; } - + /** * Helper method to add a TextNode, given plain text * @param string text to create node for @@ -125,7 +148,7 @@ $this->addNode($textNode); } } - + /** * Ends a component's build phase in relation to the tree. * Checks child server ids and moves the 'cursor' up the tree to the parent @@ -133,14 +156,14 @@ * @param boolean whether current component has a closing tag * @return void */ - function popNode($closing) { + function popNode($closing) { $this->component->close($closing); $this->checkServerIds(); $this->setCursor($this->component->parent); } - + /** - * Expects the passed tag. Optionally $info may be passed which is info + * Expects the passed tag. Optionally $info may be passed which is info * about that tag. The parser state that calls TreeBuilder may use this info * to differentiate, say, plain vs. component tags. * @param string tag name @@ -163,30 +186,30 @@ array_push($this->expectedTags, array($this->component)); $this->setCursor($newPosition); } - + /** * Tests the passed tag against what is expected. Returns any info that * was kept about the expected tag. - * If the item in the tag stack is a component, then the cursor is + * If the item in the tag stack is a component, then the cursor is * restored to that, and popExpectedTag is called again. * @param string tag name * @return mixed info */ function popExpectedTag($tag) { $expectedTagItem = array_pop($this->expectedTags); - + // if we have a component on the stack, restore the cursor to that, and // pop the stack again if (is_object($expectedTagItem[0])) { $this->component = $expectedTagItem[0]; return $this->popExpectedTag($tag); } - + $expectedTag = $expectedTagItem[0]; $info = $expectedTagItem[1]; - + if (strcasecmp($expectedTag, $tag) !== 0) { - + // Under what conditions would the tag not be set? // Prossibly only for malformed test cases? // In which case, we shouldn't test for it. @@ -206,10 +229,10 @@ $expectedTag ); } - + return $info; } - + /** * Return the size of the expected tags stack * @return bool @@ -217,7 +240,7 @@ function getExpectedTagCount() { return count($this->expectedTags); } - + /** * Returns the current expected tag * @return mixed string or false @@ -230,8 +253,8 @@ } return $item ? $item[0] : false; } - - + + /** * Checks that each immediate child of the current component has a unique ID * amongst its siblings. Modified: trunk/wact/template/tags/core/include.tag.php =================================================================== --- trunk/wact/template/tags/core/include.tag.php 2006-12-17 10:18:43 UTC (rev 346) +++ trunk/wact/template/tags/core/include.tag.php 2006-12-18 15:25:59 UTC (rev 347) @@ -30,6 +30,7 @@ class WactCoreIncludeTag extends WactTemplateNode { /** + * @param WactTreeBuilder $treeBuilder * @return int WactTemplateNode::FORBID_PARSING */ public function preParse($treeBuilder) { @@ -39,7 +40,7 @@ array('attribute' => 'file')); } - $reader = $this->sourceOrganizer->getSourceReader($file); + $reader = $treeBuilder->getSourceOrganizer()->getSourceReader($file); if (is_object($reader)) { $data = $reader->readSource(); if ($data) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |