protected function isSubclassOf($classA, $classB) { if (is_object($classB)) { $classB = $classB->name; } if ($classA->name == $classB) { return true; } while ($classA->parentClass !== null && isset($this->classes[$classA->parentClass])) { $classA = $this->classes[$classA->parentClass]; if ($classA->name == $classB) { return true; } } return false; }