Mercurial > hg > isophonics-drupal-site
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; |