@@ -153,110 +153,9 @@ private function isPrivateChange($operation): bool
153
153
{
154
154
$ target = $ operation ->getTarget ();
155
155
$ reason = $ operation ->getReason ();
156
- $ operationClass = get_class ($ operation );
157
-
158
- // For visibility operations, check if they involve private visibility
159
- if ($ operation instanceof \Magento \SemanticVersionChecker \Operation \VisibilityOperation) {
160
- try {
161
- // Use reflection to access protected properties
162
- $ reflection = new \ReflectionClass ($ operation );
163
-
164
- if ($ reflection ->hasProperty ('memberBefore ' )) {
165
- $ memberBeforeProperty = $ reflection ->getProperty ('memberBefore ' );
166
- $ memberBeforeProperty ->setAccessible (true );
167
- $ memberBefore = $ memberBeforeProperty ->getValue ($ operation );
168
-
169
- if ($ memberBefore && method_exists ('\PHPSemVerChecker\Operation\Visibility ' , 'getForContext ' )) {
170
- $ visibilityBefore = \PHPSemVerChecker \Operation \Visibility::getForContext ($ memberBefore );
171
- // 1 = public, 2 = protected, 3 = private
172
- if ($ visibilityBefore === 3 ) {
173
- return true ;
174
- }
175
- }
176
- }
177
-
178
- if ($ reflection ->hasProperty ('memberAfter ' )) {
179
- $ memberAfterProperty = $ reflection ->getProperty ('memberAfter ' );
180
- $ memberAfterProperty ->setAccessible (true );
181
- $ memberAfter = $ memberAfterProperty ->getValue ($ operation );
182
-
183
- if ($ memberAfter && method_exists ('\PHPSemVerChecker\Operation\Visibility ' , 'getForContext ' )) {
184
- $ visibilityAfter = \PHPSemVerChecker \Operation \Visibility::getForContext ($ memberAfter );
185
- // 1 = public, 2 = protected, 3 = private
186
- if ($ visibilityAfter === 3 ) {
187
- return true ;
188
- }
189
- }
190
- }
191
- } catch (\Exception $ e ) {
192
- // Fall back to string matching if reflection fails
193
- }
194
- }
195
-
196
- // Check if the reason explicitly mentions private visibility
197
- if (preg_match ('/\[private\]/ ' , $ reason )) {
198
- return true ;
199
- }
200
-
201
- // Check if the target or reason indicates a private method/property
202
- $ privateIndicators = [
203
- 'private method ' ,
204
- 'private property ' ,
205
- 'Private method ' ,
206
- 'Private property ' ,
207
- '::private ' ,
208
- ' private ' ,
209
- 'private function ' ,
210
- 'private static ' ,
211
- 'visibility has been changed to lower lever from private ' ,
212
- 'visibility has been changed to higher lever from private ' ,
213
- 'visibility has been changed from private ' ,
214
- 'visibility has been changed to private ' ,
215
- 'Method visibility has been changed from public to private ' ,
216
- 'Method visibility has been changed from protected to private ' ,
217
- 'Property visibility has been changed from public to private ' ,
218
- 'Property visibility has been changed from protected to private ' ,
219
- ];
220
-
221
- foreach ($ privateIndicators as $ indicator ) {
222
- if (stripos ($ target , $ indicator ) !== false || stripos ($ reason , $ indicator ) !== false ) {
223
- return true ;
224
- }
225
- }
226
-
227
- // Check for visibility operations that involve private members
228
- if (strpos ($ operationClass , 'Visibility ' ) !== false ) {
229
- // For visibility operations, check if it involves changing from/to private
230
- if (stripos ($ reason , 'private ' ) !== false ) {
231
- return true ;
232
- }
233
- }
234
-
235
- // Check for specific operation classes that handle private changes
236
- $ privateOperationClasses = [
237
- 'PrivateMethod ' ,
238
- 'PrivateProperty ' ,
239
- 'Private ' ,
240
- ];
241
-
242
- foreach ($ privateOperationClasses as $ privateClass ) {
243
- if (stripos ($ operationClass , $ privateClass ) !== false ) {
244
- return true ;
245
- }
246
- }
247
-
248
- // Check if the target contains patterns that suggest private members
249
- // Pattern: ClassName::privateMethodName or ClassName::$privateProperty
250
- if (preg_match ('/::([a-z_][a-zA-Z0-9_]*|\$[a-z_][a-zA-Z0-9_]*)/ ' , $ target , $ matches )) {
251
- $ memberName = $ matches [1 ];
252
- // If member name starts with underscore (common private naming convention)
253
- if (strpos ($ memberName , '_ ' ) === 0 ) {
254
- return true ;
255
- }
256
- }
257
-
258
- // Check for common private method patterns in the target
259
- if (preg_match ('/::(_[a-zA-Z0-9_]+|[a-z][a-zA-Z0-9]*Private[a-zA-Z0-9]*)\(/ ' , $ target )) {
156
+
157
+ // Simple string check for 'private' keyword (covers all cases)
158
+ if (stripos ($ target , 'private ' ) !== false || stripos ($ reason , 'private ' ) !== false ) {
260
159
return true ;
261
160
}
262
161
0 commit comments