BetterReflection\SourceLocator\Ast\Exception\ParseToAstFailure::fromLocatedSource PHP Method

fromLocatedSource() public static method

public static fromLocatedSource ( BetterReflection\SourceLocator\Located\LocatedSource $locatedSource, Exception | Throwable $previous = null ) : ParseToAstFailure
$locatedSource BetterReflection\SourceLocator\Located\LocatedSource
$previous Exception | Throwable
return ParseToAstFailure
    public static function fromLocatedSource(LocatedSource $locatedSource, $previous = null)
    {
        $additionalInformation = '';
        if (null !== $locatedSource->getFileName()) {
            $additionalInformation = sprintf(' (in %s)', $locatedSource->getFileName());
        }
        if ($additionalInformation === '') {
            $additionalInformation = sprintf(' (first 20 characters: %s)', substr($locatedSource->getSource(), 0, 20));
        }
        return new self(sprintf('AST failed to parse in located source%s', $additionalInformation), 0, $previous);
    }

Usage Example

示例#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);
     }
 }
All Usage Examples Of BetterReflection\SourceLocator\Ast\Exception\ParseToAstFailure::fromLocatedSource
ParseToAstFailure