Beispiel #1
0
 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;
 }
Beispiel #3
0
 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);
     }
 }