Pressroom template verwijderd, website naar root van repo
This commit is contained in:
69
vendor/hamcrest/hamcrest-php/generator/FactoryParameter.php
vendored
Normal file
69
vendor/hamcrest/hamcrest-php/generator/FactoryParameter.php
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
Copyright (c) 2009 hamcrest.org
|
||||
*/
|
||||
|
||||
class FactoryParameter
|
||||
{
|
||||
/**
|
||||
* @var FactoryMethod
|
||||
*/
|
||||
private $method;
|
||||
|
||||
/**
|
||||
* @var ReflectionParameter
|
||||
*/
|
||||
private $reflector;
|
||||
|
||||
public function __construct(FactoryMethod $method, ReflectionParameter $reflector)
|
||||
{
|
||||
$this->method = $method;
|
||||
$this->reflector = $reflector;
|
||||
}
|
||||
|
||||
public function getDeclaration()
|
||||
{
|
||||
if ($this->reflector->isArray()) {
|
||||
$code = 'array ';
|
||||
} else {
|
||||
$class = $this->reflector->getClass();
|
||||
if ($class !== null) {
|
||||
$code = '\\' . $class->name . ' ';
|
||||
} else {
|
||||
$code = '';
|
||||
}
|
||||
}
|
||||
$code .= '$' . $this->reflector->name;
|
||||
if ($this->reflector->isOptional()) {
|
||||
$default = $this->reflector->getDefaultValue();
|
||||
if (is_null($default)) {
|
||||
$default = 'null';
|
||||
} elseif (is_bool($default)) {
|
||||
$default = $default ? 'true' : 'false';
|
||||
} elseif (is_string($default)) {
|
||||
$default = "'" . $default . "'";
|
||||
} elseif (is_numeric($default)) {
|
||||
$default = strval($default);
|
||||
} elseif (is_array($default)) {
|
||||
$default = 'array()';
|
||||
} else {
|
||||
echo 'Warning: unknown default type for ' . $this->getMethod()->getFullName() . PHP_EOL;
|
||||
var_dump($default);
|
||||
$default = 'null';
|
||||
}
|
||||
$code .= ' = ' . $default;
|
||||
}
|
||||
return $code;
|
||||
}
|
||||
|
||||
public function getInvocation()
|
||||
{
|
||||
return '$' . $this->reflector->name;
|
||||
}
|
||||
|
||||
public function getMethod()
|
||||
{
|
||||
return $this->method;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user