Пример #1
0
 protected function AggregateVariableArray(QcodoClass $objClass, $blnIsRootChild)
 {
     $objVariables = $objClass->GetClassVariableArray(QQ::Clause(QQ::Expand(QQN::ClassVariable()->Variable)));
     foreach ($objVariables as $objVariable) {
         if ($blnIsRootChild) {
             $objVariable->InheritenceState = InheritenceState::RootChild;
             $this->objVariableArray[$objVariable->Variable->Name] = $objVariable;
         } else {
             if (array_key_exists($objVariable->Variable->Name, $this->objVariableArray)) {
                 // The Variable already exists, younger in the array
                 if ($this->objVariableArray[$objVariable->Variable->Name]->InheritenceState == InheritenceState::RootChild) {
                     // This means the Variable in the array overrides
                     $this->objVariableArray[$objVariable->Variable->Name]->InheritenceState = InheritenceState::Overrides;
                     $this->objVariableArray[$objVariable->Variable->Name]->OverridesVariable = $objVariable;
                 }
             } else {
                 // The Variable doesn't yet exist in the array
                 // So therefore, this class inherits the Variable
                 $objVariable->InheritenceState = InheritenceState::Interited;
                 $this->objVariableArray[$objVariable->Variable->Name] = $objVariable;
             }
         }
     }
     if ($objClass->ParentQcodoClassId) {
         $this->AggregateVariableArray($objClass->ParentQcodoClass, false);
     }
 }