function Doubler::createDoubleClass
Creates double class and returns its FQN.
@template T of object
Parameters
ReflectionClass<T>|null $class:
ReflectionClass<object>[] $interfaces:
Return value
class-string<T&DoubleInterface>
3 calls to Doubler::createDoubleClass()
- CachedDoubler::createDoubleClass in vendor/
phpspec/ prophecy/ src/ Prophecy/ Doubler/ CachedDoubler.php - Creates double class and returns its FQN.
- CachedDoubler::createDoubleClass in vendor/
phpspec/ prophecy/ src/ Prophecy/ Doubler/ CachedDoubler.php - Creates double class and returns its FQN.
- Doubler::double in vendor/
phpspec/ prophecy/ src/ Prophecy/ Doubler/ Doubler.php - Creates double from specific class or/and list of interfaces.
1 method overrides Doubler::createDoubleClass()
- CachedDoubler::createDoubleClass in vendor/
phpspec/ prophecy/ src/ Prophecy/ Doubler/ CachedDoubler.php - Creates double class and returns its FQN.
File
-
vendor/
phpspec/ prophecy/ src/ Prophecy/ Doubler/ Doubler.php, line 130
Class
- Doubler
- Cached class doubler. Prevents mirroring/creation of the same structure twice.
Namespace
Prophecy\DoublerCode
protected function createDoubleClass(?ReflectionClass $class, array $interfaces) {
$name = $this->namer
->name($class, $interfaces);
$node = $this->mirror
->reflect($class, $interfaces);
foreach ($this->patches as $patch) {
if ($patch->supports($node)) {
$patch->apply($node);
}
}
$node->addInterface(DoubleInterface::class);
$this->creator
->create($name, $node);
\assert(class_exists($name, false));
return $name;
}