Inheritance: implements BetterReflection\SourceLocator\Type\SourceLocator
 /**
  * @param string $source
  */
 public function __construct($source)
 {
     parent::__construct();
     $this->source = (string) $source;
     if (empty($this->source)) {
         // Whilst an empty string is still "valid" PHP code, there is no
         // point in us even trying to parse it because we won't find what
         // we are looking for, therefore this throws an exception
         throw new EmptyPhpSourceCode('Source code string was empty');
     }
 }
 public function __construct($filename)
 {
     parent::__construct();
     $this->filename = (string) $filename;
     if (empty($this->filename)) {
         throw new InvalidFileLocation('Filename was empty');
     }
     if (!file_exists($this->filename)) {
         throw new InvalidFileLocation('File does not exist');
     }
     if (!is_file($this->filename)) {
         throw new InvalidFileLocation('Is not a file: ' . $this->filename);
     }
 }
 public function __construct()
 {
     parent::__construct();
     $this->stubber = new SourceStubber();
 }
 public function __construct(ClassLoader $classLoader)
 {
     parent::__construct();
     $this->classLoader = $classLoader;
 }