function ClassMirror::reflectArgumentToNode
Parameters
ReflectionClass<object> $declaringClass:
Return value
void
1 call to ClassMirror::reflectArgumentToNode()
- ClassMirror::reflectMethodToNode in vendor/
phpspec/ prophecy/ src/ Prophecy/ Doubler/ Generator/ ClassMirror.php
File
-
vendor/
phpspec/ prophecy/ src/ Prophecy/ Doubler/ Generator/ ClassMirror.php, line 185
Class
- ClassMirror
- Class mirror. Core doubler class. Mirrors specific class and/or interfaces into class node tree.
Namespace
Prophecy\Doubler\GeneratorCode
private function reflectArgumentToNode(ReflectionParameter $parameter, ReflectionClass $declaringClass, Node\MethodNode $methodNode) : void {
$name = $parameter->getName() == '...' ? '__dot_dot_dot__' : $parameter->getName();
$node = new Node\ArgumentNode($name);
$typeHints = $this->getTypeHints($parameter->getType(), $declaringClass, $parameter->allowsNull());
$node->setTypeNode(new ArgumentTypeNode(...$typeHints));
if ($parameter->isVariadic()) {
$node->setAsVariadic();
}
if ($this->hasDefaultValue($parameter)) {
$node->setDefault($this->getDefaultValue($parameter));
}
if ($parameter->isPassedByReference()) {
$node->setAsPassedByReference();
}
$methodNode->addArgument($node);
}