protected function compileChildren(IObject $aObject, ObjectContainer $aObjectContainer, TargetCodeOutputStream $aDev, CompilerManager $aCompilerManager) { foreach ($aObject->iterator() as $aChild) { if ($aCompiler = $aCompilerManager->compiler($aChild)) { $aCompiler->compile($aChild, $aObjectContainer, $aDev, $aCompilerManager); } } }
/** * @return org\jecat\framework\ui\xhtml\ObjectBase */ public function localObject(IObject $aParentObject) { $nPos = 0; foreach ($aParentObject->iterator() as $aBrother) { if ($this->matchType($aBrother) and $nPos++ == $this->nPos) { return $aBrother; } } return null; }
public static function reflectXPath(IObject $aParentObject, $sParentXPath = '') { $arrChildIdxies = array(); foreach ($aParentObject->iterator() as $aChildObject) { $sType = PatchSlotPathSegment::xpathType($aChildObject); if (!isset($arrChildIdxies[$sType])) { $arrChildIdxies[$sType] = 0; } $sXPath = $sParentXPath . '/' . $sType . '@' . $arrChildIdxies[$sType]++; $aChildObject->properties()->set('xpath', $sXPath); self::reflectXPath($aChildObject, $sXPath); } }