remove-vendor-prefixing-array-key-visitor.php 832 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. /**
  3. * Yoast SEO Plugin File.
  4. *
  5. * @package Yoast\YoastSEO\PHP_CodeShift
  6. */
  7. namespace Yoast\WP\Free\PHP_CodeShift;
  8. use PhpParser\Node;
  9. use PhpParser\Node\Expr\ArrayItem;
  10. use PhpParser\Node\Scalar\String_;
  11. use PhpParser\NodeVisitorAbstract;
  12. /**
  13. * Class Vendor_Prefixing_Visitor
  14. */
  15. class Remove_Vendor_Prefixing_Array_Key_Visitor extends NodeVisitorAbstract {
  16. /**
  17. * @param \PhpParser\Node $node The node being visited.
  18. *
  19. * @return \PhpParser\Node The possibly modified node.
  20. */
  21. public function leaveNode( Node $node ) {
  22. if ( ! $node instanceof ArrayItem ) {
  23. return $node;
  24. }
  25. if ( $node->key instanceof String_ && \strpos( $node->key->value, \YOAST_VENDOR_NS_PREFIX ) !== false ) {
  26. $node->key->value = \str_replace( \YOAST_VENDOR_NS_PREFIX . '\\', '', $node->key->value );
  27. }
  28. return $node;
  29. }
  30. }