public function HookFormAlter::convert in Drupal 7 to 8/9 Module Upgrader 8
Performs required conversions.
Parameters
TargetInterface $target: The target module to convert.
Overrides ConverterInterface::convert
File
- src/Plugin/ DMU/ Converter/ HookFormAlter.php, line 20 
Class
- HookFormAlter
- Plugin annotation @Converter( id = "hook_form_alter", description = @Translation("Corrects hook_form_alter() function signatures.") )
Namespace
Drupal\drupalmoduleupgrader\Plugin\DMU\ConverterCode
public function convert(TargetInterface $target) {
  $indexer = $target
    ->getIndexer('function');
  $query = $indexer
    ->getQuery();
  $db_or = new Condition('OR');
  $db_or
    ->condition('id', $target
    ->id() . '_form_alter');
  $db_or
    ->condition('id', $query
    ->escapeLike($target
    ->id() . '_form_') . '%' . $query
    ->escapeLike('_alter'), 'LIKE');
  $query
    ->condition($db_or);
  $alter_hooks = $query
    ->execute();
  foreach ($alter_hooks as $alter_hook) {
    /** @var \Pharborist\Functions\FunctionDeclarationNode $function */
    $function = $indexer
      ->get($alter_hook->id);
    $parameters = $function
      ->getParameters();
    if (sizeof($parameters) > 1) {
      $parameters[1]
        ->setTypeHint('\\Drupal\\Core\\Form\\FormStateInterface');
      $target
        ->save($function);
    }
  }
}