File Manager Lite
Dir:
/home/u540325668/domains/mkjsindia.org/public_html/vendor/psy/psysh/src/TabCompletion/Matcher
Upload
[..]
AbstractContextAwareMatcher.php (1.29 KB)
Edit
Rename
Del
AbstractDefaultParametersMatcher.php (2.03 KB)
Edit
Rename
Del
ClassAttributesMatcher.php (2.2 KB)
Edit
Rename
Del
ClassMethodDefaultParametersMatcher.php (1.6 KB)
Edit
Rename
Del
ClassMethodsMatcher.php (2.18 KB)
Edit
Rename
Del
ClassNamesMatcher.php (2.34 KB)
Edit
Rename
Del
ConstantsMatcher.php (1.32 KB)
Edit
Rename
Del
FunctionsMatcher.php (1.37 KB)
Edit
Rename
Del
KeywordsMatcher.php (2.04 KB)
Edit
Rename
Del
MongoDatabaseMatcher.php (1.64 KB)
Edit
Rename
Del
Edit: ClassMethodsMatcher.php
<?php /* * This file is part of Psy Shell. * * (c) 2012-2018 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Psy\TabCompletion\Matcher; /** * A class method tab completion Matcher. * * Given a namespace and class, this matcher provides completion for static * methods. * * @author Marc Garcia <markcial@gmail.com> */ class ClassMethodsMatcher extends AbstractMatcher { /** * {@inheritdoc} */ public function getMatches(array $tokens, array $info = []) { $input = $this->getInput($tokens); $firstToken = \array_pop($tokens); if (self::tokenIs($firstToken, self::T_STRING)) { // second token is the nekudotayim operator \array_pop($tokens); } $class = $this->getNamespaceAndClass($tokens); try { $reflection = new \ReflectionClass($class); } catch (\ReflectionException $re) { return []; } if (self::needCompleteClass($tokens[1])) { $methods = $reflection->getMethods(); } else { $methods = $reflection->getMethods(\ReflectionMethod::IS_STATIC); } $methods = \array_map(function (\ReflectionMethod $method) { return $method->getName(); }, $methods); return \array_map( function ($name) use ($class) { $chunks = \explode('\\', $class); $className = \array_pop($chunks); return $className . '::' . $name; }, \array_filter($methods, function ($method) use ($input) { return AbstractMatcher::startsWith($input, $method); }) ); } /** * {@inheritdoc} */ public function hasMatched(array $tokens) { $token = \array_pop($tokens); $prevToken = \array_pop($tokens); switch (true) { case self::tokenIs($prevToken, self::T_DOUBLE_COLON) && self::tokenIs($token, self::T_STRING): case self::tokenIs($token, self::T_DOUBLE_COLON): return true; } return false; } }
Simpan