Inheritance: extends RuntimeException
Beispiel #1
0
 /**
  * Get an array of reflections found in some code.
  *
  * @param Reflector $reflector
  * @param LocatedSource $locatedSource
  * @param IdentifierType $identifierType
  * @return \BetterReflection\Reflection\Reflection[]
  * @throws Exception\ParseToAstFailure
  */
 public function findReflectionsOfType(Reflector $reflector, LocatedSource $locatedSource, IdentifierType $identifierType)
 {
     try {
         return $this->findReflectionsInTree->__invoke($reflector, $this->parser->parse($locatedSource->getSource()), $identifierType, $locatedSource);
     } catch (\Exception $exception) {
         throw Exception\ParseToAstFailure::fromLocatedSource($locatedSource, $exception);
     } catch (\Throwable $exception) {
         throw Exception\ParseToAstFailure::fromLocatedSource($locatedSource, $exception);
     }
 }
 public function testFromLocatedSourceWithFilename()
 {
     $locatedSource = new LocatedSource('<?php abc', null);
     $filenameProperty = new \ReflectionProperty($locatedSource, 'filename');
     $filenameProperty->setAccessible(true);
     $filenameProperty->setValue($locatedSource, '/foo/bar');
     $previous = new \Exception();
     $exception = ParseToAstFailure::fromLocatedSource($locatedSource, $previous);
     $this->assertInstanceOf(ParseToAstFailure::class, $exception);
     $this->assertSame('AST failed to parse in located source (in /foo/bar)', $exception->getMessage());
     $this->assertSame($previous, $exception->getPrevious());
 }