/**
* @param ContextInterface|TypeContext $context
*/
public function assemble(ContextInterface $context)
{
$class = $context->getClass();
try {
$useAssembler = new UseAssembler($this->traitName, $this->traitAlias);
if ($useAssembler->canAssemble($context)) {
$useAssembler->assemble($context);
}
$traitAlias = $this->traitAlias ?: Normalizer::getClassNameFromFQN($this->traitName);
$class->addTrait($traitAlias);
} catch (\Exception $e) {
throw AssemblerException::fromException($e);
}
}