99use PHPSemVerChecker \Operation \ClassMethodAdded ;
1010use PHPSemVerChecker \Operation \ClassMethodImplementationChanged ;
1111use PHPSemVerChecker \Operation \ClassMethodParameterChanged ;
12+ use PHPSemVerChecker \Operation \ClassMethodParameterNameChanged ;
1213use PHPSemVerChecker \Operation \ClassMethodRemoved ;
13- use PHPSemVerChecker \Operation \Unknown ;
1414use PHPSemVerChecker \Report \Report ;
1515use PHPSemVerChecker \SemanticVersioning \Level ;
1616
@@ -49,14 +49,6 @@ public function analyze(Stmt $contextBefore, Stmt $contextAfter)
4949 $ methodsAfterKeyed [$ method ->name ] = $ method ;
5050 }
5151
52- $ methodsBeforeKeyed = array_filter ($ methodsBeforeKeyed , function (ClassMethod $ method ) {
53- return $ method ->isPublic ();
54- });
55-
56- $ methodsAfterKeyed = array_filter ($ methodsAfterKeyed , function (ClassMethod $ method ) {
57- return $ method ->isPublic ();
58- });
59-
6052 $ methodNamesBefore = array_keys ($ methodsBeforeKeyed );
6153 $ methodNamesAfter = array_keys ($ methodsAfterKeyed );
6254 $ methodsAdded = array_diff ($ methodNamesAfter , $ methodNamesBefore );
@@ -69,7 +61,7 @@ public function analyze(Stmt $contextBefore, Stmt $contextAfter)
6961 foreach ($ methodsRemoved as $ method ) {
7062 $ methodBefore = $ methodsBeforeKeyed [$ method ];
7163 $ data = new ClassMethodRemoved ($ this ->context , $ this ->fileBefore , $ contextBefore , $ methodBefore );
72- $ report ->addClassMethod ( $ data , Level:: MAJOR );
64+ $ report ->add ( $ this -> context , $ data );
7365 }
7466
7567 foreach ($ methodsToVerify as $ method ) {
@@ -82,24 +74,26 @@ public function analyze(Stmt $contextBefore, Stmt $contextAfter)
8274 if ($ methodBefore != $ methodAfter ) {
8375 $ paramsBefore = $ methodBefore ->params ;
8476 $ paramsAfter = $ methodAfter ->params ;
85- // Signature
8677
78+ // Signature
79+ $ signatureChanged = false ;
8780 if ( ! Signature::isSameTypehints ($ paramsBefore , $ paramsAfter )) {
8881 $ data = new ClassMethodParameterChanged ($ this ->context , $ this ->fileBefore , $ contextBefore , $ methodBefore , $ this ->fileAfter , $ contextAfter , $ methodAfter );
89- $ report ->addClassMethod ($ data , Level::MAJOR );
82+ $ report ->add ($ this ->context , $ data );
83+ $ signatureChanged = true ;
9084 }
9185
92- if ( ! Signature::isSameVariables ($ paramsBefore , $ paramsAfter )) {
93- $ data = new ClassMethodParameterChanged ($ this ->context , $ this ->fileBefore , $ contextBefore , $ methodBefore , $ this ->fileAfter , $ contextAfter , $ methodAfter );
94- $ report ->addClassMethod ( $ data , Level:: PATCH );
86+ if ( ! $ signatureChanged && ! Signature::isSameVariables ($ paramsBefore , $ paramsAfter )) {
87+ $ data = new ClassMethodParameterNameChanged ($ this ->context , $ this ->fileBefore , $ contextBefore , $ methodBefore , $ this ->fileAfter , $ contextAfter , $ methodAfter );
88+ $ report ->add ( $ this -> context , $ data );
9589 }
9690
9791 // Different length (considering params with defaults)
9892
9993 // Difference in source code
10094 if ($ methodBefore ->stmts != $ methodAfter ->stmts ) {
10195 $ data = new ClassMethodImplementationChanged ($ this ->context , $ this ->fileBefore , $ contextBefore , $ methodBefore , $ this ->fileAfter , $ contextAfter , $ methodAfter );
102- $ report ->addClassMethod ( $ data , Level:: PATCH );
96+ $ report ->add ( $ this -> context , $ data );
10397 }
10498 }
10599 }
@@ -108,7 +102,7 @@ public function analyze(Stmt $contextBefore, Stmt $contextAfter)
108102 foreach ($ methodsAdded as $ method ) {
109103 $ methodAfter = $ methodsAfterKeyed [$ method ];
110104 $ data = new ClassMethodAdded ($ this ->context , $ this ->fileAfter , $ contextAfter , $ methodAfter );
111- $ report ->addClassMethod ( $ data , Level:: MINOR );
105+ $ report ->add ( $ this -> context , $ data );
112106 }
113107
114108 return $ report ;
0 commit comments