Skip to content

Commit

Permalink
calls previous wrapper if one was set [Closes #9]
Browse files Browse the repository at this point in the history
fixed interoperability with Infection library
  • Loading branch information
dg committed Sep 6, 2022
1 parent 41726fb commit 97abcd8
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/BypassFinals.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,16 @@ class BypassFinals
/** @var array */
private static $pathWhitelist = ['*'];

/** @var ?object */
private static $previousWrapperClass;


public static function enable(): void
{
$meta = stream_get_meta_data(fopen(__FILE__, 'r'));
self::$previousWrapperClass = empty($meta['wrapper_data'])
? NativeWrapper::class
: get_class($meta['wrapper_data']);
NativeWrapper::$outerWrapper = self::class;
stream_wrapper_unregister(self::PROTOCOL);
stream_wrapper_register(self::PROTOCOL, self::class);
Expand Down Expand Up @@ -115,7 +122,7 @@ private static function isPathInWhiteList(string $path): bool
/** @return object */
private function createWrapper()
{
$wrapper = new NativeWrapper;
$wrapper = new self::$previousWrapperClass;
$wrapper->context = $this->context;
return $wrapper;
}
Expand Down

0 comments on commit 97abcd8

Please sign in to comment.