File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/psy/psysh/src/Completion/Source
Upload
[..]
CatalogSource.php (1.97 KB)
Edit
Rename
Del
HistorySource.php (1.14 KB)
Edit
Rename
Del
KeywordSource.php (1.32 KB)
Edit
Rename
Del
MagicPropertySource.php (1.53 KB)
Edit
Rename
Del
MatcherAdapterSource.php (5.48 KB)
Edit
Rename
Del
NamespaceSource.php (1.41 KB)
Edit
Rename
Del
PropertySource.php (1.5 KB)
Edit
Rename
Del
SourceInterface.php (1.74 KB)
Edit
Rename
Del
StaticPropertySource.php (1.81 KB)
Edit
Rename
Del
VariableSource.php (1.08 KB)
Edit
Rename
Del
Edit: MagicPropertySource.php
<?php /* * This file is part of Psy Shell. * * (c) 2012-2026 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Psy\Completion\Source; use Psy\Completion\AnalysisResult; use Psy\Completion\CompletionKind; use Psy\Util\Docblock; /** * Magic property completion source. * * Provides completions for magic properties declared via docblock tags. */ class MagicPropertySource implements SourceInterface { /** * {@inheritdoc} */ public function appliesToKind(int $kinds): bool { return ($kinds & (CompletionKind::OBJECT_PROPERTY | CompletionKind::STATIC_PROPERTY)) !== 0; } /** * {@inheritdoc} */ public function getCompletions(AnalysisResult $analysis): array { $types = $analysis->leftSideTypes; if (empty($types) && $analysis->leftSideValue !== null && \is_object($analysis->leftSideValue)) { $types = [\get_class($analysis->leftSideValue)]; } if (empty($types)) { return []; } $properties = []; foreach ($types as $type) { try { $reflection = new \ReflectionClass($type); } catch (\ReflectionException $e) { continue; } foreach (Docblock::getMagicProperties($reflection) as $property) { $properties[] = $property->getName(); } } return \array_values(\array_unique($properties)); } }
Simpan