/** * Helper method for isInstance() and isAssignableFrom() * * @param lang.XPClass $class * @return bool */ protected function assignableFromClass($class) { if ($class->isGeneric() && $this->base->isAssignableFrom($class->genericDefinition())) { foreach ($class->genericArguments() as $pos => $arg) { if (!$this->components[$pos]->isAssignableFrom($arg)) { return false; } } return true; } return false; }