drupalmoduleupgrader-8.x-1.5/src/Plugin/DMU/Analyzer/HookUninstall.php

src/Plugin/DMU/Analyzer/HookUninstall.php
<?php

namespace Drupal\drupalmoduleupgrader\Plugin\DMU\Analyzer;

use Drupal\drupalmoduleupgrader\AnalyzerBase;
use Drupal\drupalmoduleupgrader\TargetInterface;
use Pharborist\Filter;
use Pharborist\Functions\FunctionCallNode;

/**
 * @Analyzer(
 *  id = "hook_uninstall",
 *  description = @Translation("Removes variable_del() calls from hook_uninstall()."),
 *  message = @Translation("Default configuration is deleted automatically."),
 *  tags = {
 *    "category" = { "config" },
 *    "error_level" = "warning"
 *  },
 *  hook = "hook_uninstall"
 * )
 */
class HookUninstall extends AnalyzerBase {

  /**
   * {@inheritdoc}
   */
  public function analyze(TargetInterface $target) {
    $indexer = $target->getIndexer('function');
    $issues = [];

    if ($indexer->has('hook_uninstall')) {
      /** @var \Pharborist\NodeCollection $variable_del */
      $variable_del = $indexer->get('hook_uninstall')->find(Filter::isFunctionCall('variable_del'));

      if (sizeof($variable_del) > 0) {
        $issue = $this->buildIssue($target);
        $variable_del->each(function (FunctionCallNode $function_call) use ($issue) {
          $issue->addViolation($function_call, $this);
        });
        $issues[] = $issue;
      }
    }

    return $issues;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc