📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-03 16:27:35
📂
/ (Root)
/
home
/
orkouolp
/
web
/
testing.orkobd
/
laravel
/
vendor
/
nette
/
utils
/
tests
/
Utils
📍 /home/orkouolp/web/testing.orkobd/laravel/vendor/nette/utils/tests/Utils
🔄 Refresh
✏️
Editing: Reflection.getDeclaringMethod.insteadof.phpt
Writable
<?php /** * Test: Nette\Utils\Reflection::getDeclaringMethod */ declare(strict_types=1); use Nette\Utils\Reflection; use Tester\Assert; require __DIR__ . '/../bootstrap.php'; trait A { public function foo() { } } trait B { public function foo() { } } class C { use A; use B { B::foo insteadof A; } } class D { use A; use B { B::foo insteadof A; } public function foo() { } } function get(ReflectionMethod $m) { $res = Reflection::getMethodDeclaringMethod($m); return $res->getDeclaringClass()->name . '::' . $res->name; } // Method in class Assert::same('D::foo', get(new ReflectionMethod('D', 'foo'))); // Method in trait - uses doccomment & file-line workaround Assert::same('B::foo', get(new ReflectionMethod('C', 'foo'))); // Method in trait Assert::same('B::foo', get(new ReflectionMethod('B', 'foo'))); // Method in trait Assert::same('A::foo', get(new ReflectionMethod('A', 'foo')));
💾 Save Changes
❌ Cancel