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;