leftSideTypes; if (empty($types) && $analysis->leftSideValue !== null && \is_object($analysis->leftSideValue)) { $types = [\get_class($analysis->leftSideValue)]; } if (empty($types)) { return []; } $staticOnly = ($analysis->kinds & CompletionKind::STATIC_METHOD) !== 0 && ($analysis->kinds & CompletionKind::OBJECT_METHOD) === 0; $methods = []; foreach ($types as $type) { try { $reflection = new \ReflectionClass($type); } catch (\ReflectionException $e) { continue; } foreach (Docblock::getMagicMethods($reflection) as $method) { if ($staticOnly && !$method->isStatic()) { continue; } $methods[] = $method->getName(); } } return \array_values(\array_unique($methods)); } }