<NME> BarClass.php
<BEF> <?php

namespace ZendTest\Code\TestAsset;

include __DIR__ . '/foo/bar/baz.php';

use A\B\C;
use Foo\Bar\Baz as FooBarBaz;

abstract class BarClass
{
    public const BAR = 5;
    public const FOO = self::BAR;

    protected static $bar = 'value';

    final public function one()
    {
        // foo
    }

    protected function two(\ArrayObject $o = null)
    {
        // two
    }

    protected function three(\ArrayObject $o, &$t = 2, FooBarBaz\BazBarFoo $bbf = self::BAR)
    {
        $x = 5 + 5;
        $y = 'this string';
    }

    protected function four($one, $two = array([array('default')]))
    {
        // four
    }
}

<MSG> Fix handling of FQCNs in method parameters

Previously, MethodScanner did not detect a leading T_NS_SEPARATOR
character for a type name. By failing to detect it, it passes it to
ParameterScanner without it, who then dutifully resolves the classname
as if it was relative to the current namespace.

This is obviously incorrect behaviour, and it is fixed with this patch.
Tests have also been added and updated.

<DFF> @@ -34,4 +34,9 @@ abstract class BarClass
     {
         // four
     }
+
+    private function five(\ZendTest\Code\TestAsset\AbstractClass $a)
+    {
+        // five
+    }
 }

Fix handling of FQCNs in method parameters