Mercurial > hg > isophonics-drupal-site
comparison vendor/psy/psysh/src/TabCompletion/Matcher/ObjectMethodsMatcher.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 5fb285c0d0e3 |
children |
comparison
equal
deleted
inserted
replaced
16:c2387f117808 | 17:129ea1e6d783 |
---|---|
28 */ | 28 */ |
29 public function getMatches(array $tokens, array $info = []) | 29 public function getMatches(array $tokens, array $info = []) |
30 { | 30 { |
31 $input = $this->getInput($tokens); | 31 $input = $this->getInput($tokens); |
32 | 32 |
33 $firstToken = array_pop($tokens); | 33 $firstToken = \array_pop($tokens); |
34 if (self::tokenIs($firstToken, self::T_STRING)) { | 34 if (self::tokenIs($firstToken, self::T_STRING)) { |
35 // second token is the object operator | 35 // second token is the object operator |
36 array_pop($tokens); | 36 \array_pop($tokens); |
37 } | 37 } |
38 $objectToken = array_pop($tokens); | 38 $objectToken = \array_pop($tokens); |
39 if (!is_array($objectToken)) { | 39 if (!\is_array($objectToken)) { |
40 return []; | 40 return []; |
41 } | 41 } |
42 $objectName = str_replace('$', '', $objectToken[1]); | 42 $objectName = \str_replace('$', '', $objectToken[1]); |
43 | 43 |
44 try { | 44 try { |
45 $object = $this->getVariable($objectName); | 45 $object = $this->getVariable($objectName); |
46 } catch (InvalidArgumentException $e) { | 46 } catch (InvalidArgumentException $e) { |
47 return []; | 47 return []; |
48 } | 48 } |
49 | 49 |
50 if (!is_object($object)) { | 50 if (!\is_object($object)) { |
51 return []; | 51 return []; |
52 } | 52 } |
53 | 53 |
54 return array_filter( | 54 return \array_filter( |
55 get_class_methods($object), | 55 \get_class_methods($object), |
56 function ($var) use ($input) { | 56 function ($var) use ($input) { |
57 return AbstractMatcher::startsWith($input, $var) && | 57 return AbstractMatcher::startsWith($input, $var) && |
58 // also check that we do not suggest invoking a super method(__construct, __wakeup, …) | 58 // also check that we do not suggest invoking a super method(__construct, __wakeup, …) |
59 !AbstractMatcher::startsWith('__', $var); | 59 !AbstractMatcher::startsWith('__', $var); |
60 } | 60 } |
64 /** | 64 /** |
65 * {@inheritdoc} | 65 * {@inheritdoc} |
66 */ | 66 */ |
67 public function hasMatched(array $tokens) | 67 public function hasMatched(array $tokens) |
68 { | 68 { |
69 $token = array_pop($tokens); | 69 $token = \array_pop($tokens); |
70 $prevToken = array_pop($tokens); | 70 $prevToken = \array_pop($tokens); |
71 | 71 |
72 switch (true) { | 72 switch (true) { |
73 case self::tokenIs($token, self::T_OBJECT_OPERATOR): | 73 case self::tokenIs($token, self::T_OBJECT_OPERATOR): |
74 case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR): | 74 case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR): |
75 return true; | 75 return true; |