HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.34
System: Linux atalantini.com 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64
User: root (0)
PHP: 7.2.34
Disabled: NONE
Upload Files
File: //opt/plugins/wordpress-seo/config/php-codeshift/remove-vendor-prefixing-array-key-visitor.php
<?php
/**
 * Yoast SEO Plugin File.
 *
 * @package Yoast\YoastSEO\PHP_CodeShift
 */

namespace Yoast\WP\SEO\PHP_CodeShift;

use PhpParser\Node;
use PhpParser\Node\Expr\ArrayItem;
use PhpParser\Node\Scalar\String_;
use PhpParser\NodeVisitorAbstract;

/**
 * Class Vendor_Prefixing_Visitor
 */
class Remove_Vendor_Prefixing_Array_Key_Visitor extends NodeVisitorAbstract {

	/**
	 * Removes vendor prefixes from array keys.
	 *
	 * @param Node $node The node being visited.
	 *
	 * @return Node The possibly modified node.
	 */
	public function leaveNode( Node $node ) {
		if ( ! $node instanceof ArrayItem ) {
			return $node;
		}

		if ( $node->key instanceof String_ && \strpos( $node->key->value, \YOAST_VENDOR_NS_PREFIX ) !== false ) {
			$node->key->value = \str_replace( \YOAST_VENDOR_NS_PREFIX . '\\', '', $node->key->value );
		}

		return $node;
	}
}