/** * @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); } }
/** * @param Property $property * * @return string */ private function generateGetResultReturnTag(Property $property) { if ($this->wrapperClass === null) { return $property->getType() . '|' . Normalizer::getClassNameFromFQN(ResultInterface::class); } return Normalizer::getClassNameFromFQN($this->wrapperClass); }