/** * Helper method for generating trivial methods. * @param $methodName * @param $body * @param $docBlock * @param $parameterInfoArray * @return MethodGenerator */ private function createMethodGenerator($methodName, $body, DocBlockGenerator $docBlock, $parameterInfoArray, $returnType = null) { $parameters = []; foreach ($parameterInfoArray as $parameterInfo) { $parameters[] = new ParameterGenerator($parameterInfo[0], $parameterInfo[1]); } $methodGenerator = new MethodGenerator($methodName); $methodGenerator->setParameters($parameters); if ($returnType != null) { if (is_array($returnType)) { $returnType = implode('|', $returnType); } $tags[] = new GenericTag('return', $returnType); $docBlock->setTags($tags); } $methodGenerator->setDocBlock($docBlock); $methodGenerator->setBody($body); return $methodGenerator; }
function addAbstractInstantiateResultMethod() { //$docBlock = $this->generateExecuteDocBlock('Determine whether the cached response should be used.', 'boolean'); $parameters = []; $parameters[] = new ParameterGenerator('response', 'Amp\\Artax\\Response'); $parameters[] = new ParameterGenerator('operation', 'ArtaxServiceBuilder\\Operation'); $methodGenerator = new MethodGenerator('instantiateResult'); $methodGenerator->setParameters($parameters); //$methodGenerator->setDocBlock($docBlock); $methodGenerator->setAbstract(true); $this->classGenerator->addMethodFromGenerator($methodGenerator); }