Skip to content

Commit f42cb96

Browse files
committed
Support eval()'d code
1 parent 5d831ec commit f42cb96

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/Types/ContextFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function createFromReflector(\Reflector $reflector)
4747
$fileName = $reflector->getFileName();
4848
$namespace = $reflector->getNamespaceName();
4949

50-
if (!$fileName) {
50+
if (!$fileName || false !== strpos($fileName, 'eval()\'d code')) {
5151
return new Context($namespace, []);
5252
}
5353

tests/unit/Types/ContextFactoryTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,25 @@ public function testEmptyFileName()
160160

161161
$this->assertSame([], $context->getNamespaceAliases());
162162
}
163+
164+
/**
165+
* @covers ::createFromReflector
166+
*/
167+
public function testEvalDClass()
168+
{
169+
eval(<<<PHP
170+
namespace Foo;
171+
172+
class Bar
173+
{
174+
}
175+
PHP
176+
);
177+
$fixture = new ContextFactory();
178+
$context = $fixture->createFromReflector(new \ReflectionClass('Foo\Bar'));
179+
180+
$this->assertSame([], $context->getNamespaceAliases());
181+
}
163182
}
164183
}
165184

0 commit comments

Comments
 (0)