Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ClassCodeGenerator.php

function ClassCodeGenerator::generateArguments

Parameters

list<Node\ArgumentNode> $arguments:

Return value

list<string>

1 call to ClassCodeGenerator::generateArguments()
ClassCodeGenerator::generateMethod in vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php

File

vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php, line 98

Class

ClassCodeGenerator
Class code creator. Generates PHP code for specific class node tree.

Namespace

Prophecy\Doubler\Generator

Code

private function generateArguments(array $arguments) : array {
    return array_map(function (Node\ArgumentNode $argument) {
        $php = $this->generateTypes($argument->getTypeNode());
        $php .= ' ' . ($argument->isPassedByReference() ? '&' : '');
        $php .= $argument->isVariadic() ? '...' : '';
        $php .= '$' . $argument->getName();
        if ($argument->isOptional() && !$argument->isVariadic()) {
            $default = var_export($argument->getDefault(), true);
            // This is necessary for PHP 8.1, as enum cases are exported without a leading slash in this version
            if ($argument->getDefault() instanceof \UnitEnum && 0 !== strpos($default, '\\')) {
                $default = '\\' . $default;
            }
            $php .= ' = ' . $default;
        }
        return $php;
    }, $arguments);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal