comparison vendor/psy/psysh/src/TabCompletion/Matcher/ObjectAttributesMatcher.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 array_keys(get_class_vars(get_class($object))), 55 \array_keys(\get_class_vars(\get_class($object))),
56 function ($var) use ($input) { 56 function ($var) use ($input) {
57 return AbstractMatcher::startsWith($input, $var); 57 return AbstractMatcher::startsWith($input, $var);
58 } 58 }
59 ); 59 );
60 } 60 }
62 /** 62 /**
63 * {@inheritdoc} 63 * {@inheritdoc}
64 */ 64 */
65 public function hasMatched(array $tokens) 65 public function hasMatched(array $tokens)
66 { 66 {
67 $token = array_pop($tokens); 67 $token = \array_pop($tokens);
68 $prevToken = array_pop($tokens); 68 $prevToken = \array_pop($tokens);
69 69
70 switch (true) { 70 switch (true) {
71 case self::tokenIs($token, self::T_OBJECT_OPERATOR): 71 case self::tokenIs($token, self::T_OBJECT_OPERATOR):
72 case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR): 72 case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR):
73 return true; 73 return true;