public function __construct(string $className, string $propertyName)
 {
     parent::__construct(sprintf('Property $%s was not found in reflection of class %s - probably the wrong version of class is autoloaded.', $propertyName, $className));
 }
 public function __construct(string $functionName)
 {
     parent::__construct(sprintf('Class %s not found.', $functionName));
     $this->className = $functionName;
 }
 public function __construct(string $className, string $methodName)
 {
     parent::__construct(sprintf('Method %s() was not found in reflection of class %s - probably the wrong version of class is autoloaded.', $methodName, $className));
 }
 public function __construct(string $functionName)
 {
     parent::__construct(sprintf('Class %s was not found while trying to analyse it - autoloading is not probably configured properly.', $functionName));
     $this->className = $functionName;
 }
 public function __construct(Scope $scope, string $variableName)
 {
     parent::__construct(sprintf('Undefined variable: $%s', $variableName));
     $this->scope = $scope;
     $this->variableName = $variableName;
 }
 public function __construct(string $functionName, \Throwable $previous)
 {
     parent::__construct(sprintf('%s (%s) thrown while autoloading class %s.', get_class($previous), $previous->getMessage(), $functionName), 0, $previous);
     $this->className = $functionName;
 }