22
33namespace PHPSemVerChecker \Operation ;
44
5+ use PhpParser \Node \Stmt \Class_ ;
56use PhpParser \Node \Stmt \ClassMethod ;
67
78class ClassMethodImplementationChanged extends Operation {
@@ -12,31 +13,43 @@ class ClassMethodImplementationChanged extends Operation {
1213 /**
1314 * @var string
1415 */
15- private $ fileBefore ;
16+ protected $ fileBefore ;
17+ /**
18+ * @var \PhpParser\Node\Stmt\Class_
19+ */
20+ protected $ classBefore ;
1621 /**
1722 * @var \PhpParser\Node\Stmt\ClassMethod
1823 */
19- private $ classMethodBefore ;
24+ protected $ classMethodBefore ;
2025 /**
2126 * @var string
2227 */
23- private $ fileAfter ;
28+ protected $ fileAfter ;
29+ /**
30+ * @var \PhpParser\Node\Stmt\Class_
31+ */
32+ protected $ classAfter ;
2433 /**
2534 * @var \PhpParser\Node\Stmt\ClassMethod
2635 */
27- private $ classMethodAfter ;
36+ protected $ classMethodAfter ;
2837
2938 /**
3039 * @param string $fileBefore
40+ * @param \PhpParser\Node\Stmt\Class_ $classBefore
3141 * @param \PhpParser\Node\Stmt\ClassMethod $classMethodBefore
3242 * @param string $fileAfter
43+ * @param \PhpParser\Node\Stmt\Class_ $classAfter
3344 * @param \PhpParser\Node\Stmt\ClassMethod $classMethodAfter
3445 */
35- public function __construct ($ fileBefore , ClassMethod $ classMethodBefore , $ fileAfter , ClassMethod $ classMethodAfter )
46+ public function __construct ($ fileBefore , Class_ $ classBefore , ClassMethod $ classMethodBefore , $ fileAfter, Class_ $ classAfter , ClassMethod $ classMethodAfter )
3647 {
3748 $ this ->fileBefore = $ fileBefore ;
49+ $ this ->classBefore = $ classBefore ;
3850 $ this ->classMethodBefore = $ classMethodBefore ;
3951 $ this ->fileAfter = $ fileAfter ;
52+ $ this ->classAfter = $ classAfter ;
4053 $ this ->classMethodAfter = $ classMethodAfter ;
4154 }
4255
@@ -45,6 +58,18 @@ public function __construct($fileBefore, ClassMethod $classMethodBefore, $fileAf
4558 */
4659 public function getLocation ()
4760 {
48- return $ this ->fileAfter . '# ' . $ this ->classMethodAfter ->getLine () . ' ' . $ this ->classMethodAfter ->name ;
61+ return $ this ->fileAfter . '# ' . $ this ->classMethodAfter ->getLine ();
62+ }
63+
64+ /**
65+ * @return string
66+ */
67+ public function getTarget ()
68+ {
69+ $ fqcn = $ this ->classAfter ->name ;
70+ if ($ this ->classAfter ->namespacedName ) {
71+ $ fqcn = $ this ->classAfter ->namespacedName ->toString ();
72+ }
73+ return $ fqcn . ':: ' . $ this ->classMethodBefore ->name ;
4974 }
5075}
0 commit comments