Example #1
0
 public function testGetBodyReturnsCorrectBody()
 {
     $body = '        //we need a multi-line method body.
     $assigned = 1;
     $alsoAssigined = 2;
     return \'mixedValue\';';
     $reflectionMethod = new Reflection\ReflectionMethod('ZendTest\\Reflection\\TestAsset\\TestSampleClass6', 'doSomething');
     $this->assertEquals($body, $reflectionMethod->getBody());
 }
Example #2
0
 /**
  * fromReflection()
  *
  * @param \Zend\Reflection\ReflectionMethod $reflectionMethod
  * @return \Zend\CodeGenerator\Php\PhpMethod
  */
 public static function fromReflection(\Zend\Reflection\ReflectionMethod $reflectionMethod)
 {
     $method = new self();
     $method->setSourceContent($reflectionMethod->getContents(false));
     $method->setSourceDirty(false);
     if ($reflectionMethod->getDocComment() != '') {
         $method->setDocblock(PhpDocblock::fromReflection($reflectionMethod->getDocblock()));
     }
     $method->setFinal($reflectionMethod->isFinal());
     if ($reflectionMethod->isPrivate()) {
         $method->setVisibility(self::VISIBILITY_PRIVATE);
     } elseif ($reflectionMethod->isProtected()) {
         $method->setVisibility(self::VISIBILITY_PROTECTED);
     } else {
         $method->setVisibility(self::VISIBILITY_PUBLIC);
     }
     $method->setStatic($reflectionMethod->isStatic());
     $method->setName($reflectionMethod->getName());
     foreach ($reflectionMethod->getParameters() as $reflectionParameter) {
         $method->setParameter(PhpParameter::fromReflection($reflectionParameter));
     }
     $method->setBody($reflectionMethod->getBody());
     return $method;
 }