Passed
Push — master ( 1f00e7...2fa177 )
by Jean
03:16
created
src/Rule/NotRule.php 3 patches
Doc Comments   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
      * @todo use get_class instead of instanceof to avoid order issue
42 42
      *       in the conditions.
43 43
      *
44
-     * @return array
44
+     * @return AbstractRule
45 45
      */
46 46
     public function negateOperand(array $current_simplification_options)
47 47
     {
@@ -186,7 +186,7 @@  discard block
 block discarded – undo
186 186
      * @todo rename as RootifyDisjunjctions?
187 187
      * @todo return $this (implements a Rule monad?)
188 188
      *
189
-     * @return OrRule copied operands with one OR at its root
189
+     * @return NotRule copied operands with one OR at its root
190 190
      */
191 191
     public function rootifyDisjunctions($simplification_options)
192 192
     {
@@ -286,6 +286,7 @@  discard block
 block discarded – undo
286 286
      * This method is meant to be used during simplification that would
287 287
      * need to change the class of the current instance by a normal one.
288 288
      *
289
+     * @param AbstractRule[] $new_operands
289 290
      * @return OrRule The current instance (of or or subclass) or a new OrRule
290 291
      */
291 292
     public function setOperandsOrReplaceByOperation($new_operands, array $contextual_options)
Please login to merge, or discard this patch.
Spacing   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -12,9 +12,9 @@  discard block
 block discarded – undo
12 12
 
13 13
     /**
14 14
      */
15
-    public function __construct( AbstractRule $operand=null, array $options=[] )
15
+    public function __construct(AbstractRule $operand = null, array $options = [])
16 16
     {
17
-        if ( ! empty($options)) {
17
+        if (!empty($options)) {
18 18
             $this->setOptions($options);
19 19
         }
20 20
 
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
 
28 28
     /**
29 29
      */
30
-    public function isNormalizationAllowed(array $current_simplification_options=[])
30
+    public function isNormalizationAllowed(array $current_simplification_options = [])
31 31
     {
32 32
         $operand = $this->getOperandAt(0);
33 33
 
@@ -45,7 +45,7 @@  discard block
 block discarded – undo
45 45
      */
46 46
     public function negateOperand(array $current_simplification_options)
47 47
     {
48
-        if ( ! $this->isNormalizationAllowed($current_simplification_options)) {
48
+        if (!$this->isNormalizationAllowed($current_simplification_options)) {
49 49
             return $this;
50 50
         }
51 51
 
@@ -79,11 +79,11 @@  discard block
 block discarded – undo
79 79
                     ]);
80 80
                 }
81 81
                 else {
82
-                    $new_rule = new NotEqualRule( $field, $operand->getValue() );
82
+                    $new_rule = new NotEqualRule($field, $operand->getValue());
83 83
                 }
84 84
             }
85 85
             elseif ($operand instanceof NotEqualRule) {
86
-                $new_rule = new EqualRule( $field, $operand->getValue() );
86
+                $new_rule = new EqualRule($field, $operand->getValue());
87 87
             }
88 88
         }
89 89
 
@@ -118,13 +118,13 @@  discard block
 block discarded – undo
118 118
 
119 119
                 $tmp = [];
120 120
                 foreach ($current_operand_possibilities->getOperands() as $current_operand_possibility) {
121
-                    $tmp[] = $current_operand_possibility->addOperand( $next_operand->copy() );
121
+                    $tmp[] = $current_operand_possibility->addOperand($next_operand->copy());
122 122
                 }
123 123
                 $current_operand_possibilities->setOperands($tmp);
124 124
 
125 125
                 foreach ($next_operand_possibilities->getOperands() as $next_operand_possibility) {
126 126
                     $current_operand_possibilities->addOperand(
127
-                        $next_operand_possibility->addOperand( new NotRule($next_operand->copy()) )
127
+                        $next_operand_possibility->addOperand(new NotRule($next_operand->copy()))
128 128
                     );
129 129
                 }
130 130
             }
@@ -132,15 +132,15 @@  discard block
 block discarded – undo
132 132
             // We remove the only possibility where no rule is negated
133 133
             $combinations = $current_operand_possibilities->getOperands();
134 134
             array_shift($combinations); // The first rule contains no negation
135
-            $new_rule->setOperands( $combinations )
135
+            $new_rule->setOperands($combinations)
136 136
                 // ->dump(true)
137 137
                 ;
138 138
         }
139 139
         elseif ($operand instanceof OrRule) {
140 140
 
141 141
             // $operand->dump(true);
142
-            if (     $operand instanceof InRule
143
-                && ! $operand->isNormalizationAllowed($current_simplification_options)
142
+            if ($operand instanceof InRule
143
+                && !$operand->isNormalizationAllowed($current_simplification_options)
144 144
             ) {
145 145
                 // ['not', ['field', 'in', [2, 3]]] <=> ['field', '!in', [2, 3]]
146 146
                 $new_rule = new NotInRule(
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
                         [$sub_operand->copy()],
159 159
                         $current_simplification_options
160 160
                     );
161
-                    $new_rule->addOperand( $negation );
161
+                    $new_rule->addOperand($negation);
162 162
                 }
163 163
             }
164 164
             // $new_rule->dump(!true);
@@ -168,9 +168,9 @@  discard block
 block discarded – undo
168 168
             $new_rule = $operand->getOperandAt(0);
169 169
         }
170 170
 
171
-        if ( ! isset($new_rule)) {
171
+        if (!isset($new_rule)) {
172 172
             throw new \LogicException(
173
-                'Removing NotRule(' . var_export($operand, true) . ') '
173
+                'Removing NotRule('.var_export($operand, true).') '
174 174
                 . ' not implemented'
175 175
             );
176 176
         }
@@ -190,11 +190,11 @@  discard block
 block discarded – undo
190 190
      */
191 191
     public function rootifyDisjunctions($simplification_options)
192 192
     {
193
-        if ( ! $this->isNormalizationAllowed($simplification_options)) {
193
+        if (!$this->isNormalizationAllowed($simplification_options)) {
194 194
             return $this;
195 195
         }
196 196
 
197
-        $this->moveSimplificationStepForward( self::rootify_disjunctions, $simplification_options );
197
+        $this->moveSimplificationStepForward(self::rootify_disjunctions, $simplification_options);
198 198
 
199 199
         foreach ($this->operands as $id => $operand) {
200 200
             if ($operand instanceof AbstractOperationRule) {
@@ -212,12 +212,12 @@  discard block
 block discarded – undo
212 212
      */
213 213
     public function unifyAtomicOperands($simplification_strategy_step = false, array $contextual_options)
214 214
     {
215
-        if ( ! $this->isNormalizationAllowed($contextual_options)) {
215
+        if (!$this->isNormalizationAllowed($contextual_options)) {
216 216
             return $this;
217 217
         }
218 218
 
219 219
         if ($simplification_strategy_step) {
220
-            $this->moveSimplificationStepForward( self::unify_atomic_operands, $contextual_options );
220
+            $this->moveSimplificationStepForward(self::unify_atomic_operands, $contextual_options);
221 221
         }
222 222
 
223 223
         return $this;
@@ -228,19 +228,19 @@  discard block
 block discarded – undo
228 228
      *
229 229
      * @return array
230 230
      */
231
-    public function toArray(array $options=[])
231
+    public function toArray(array $options = [])
232 232
     {
233 233
         $default_options = [
234 234
             'show_instance' => false,
235 235
             'semantic'      => false,
236 236
         ];
237 237
         foreach ($default_options as $default_option => &$default_value) {
238
-            if ( ! isset($options[ $default_option ])) {
239
-                $options[ $default_option ] = $default_value;
238
+            if (!isset($options[$default_option])) {
239
+                $options[$default_option] = $default_value;
240 240
             }
241 241
         }
242 242
 
243
-        if ( ! $options['show_instance'] && isset($this->cache['array'])) {
243
+        if (!$options['show_instance'] && isset($this->cache['array'])) {
244 244
             return $this->cache['array'];
245 245
         }
246 246
 
@@ -250,7 +250,7 @@  discard block
 block discarded – undo
250 250
         ];
251 251
 
252 252
         // TODO make a dedicated cache entry for semantic array?
253
-        if ( ! $options['show_instance'] && ! $options['semantic']) {
253
+        if (!$options['show_instance'] && !$options['semantic']) {
254 254
             return $this->cache['array'] = $array;
255 255
         }
256 256
         else {
@@ -260,10 +260,10 @@  discard block
 block discarded – undo
260 260
 
261 261
     /**
262 262
      */
263
-    public function toString(array $options=[])
263
+    public function toString(array $options = [])
264 264
     {
265 265
         $operator = self::operator;
266
-        if ( ! $this->operands) {
266
+        if (!$this->operands) {
267 267
             return "['{$operator}']";
268 268
         }
269 269
 
@@ -272,7 +272,7 @@  discard block
 block discarded – undo
272 272
 
273 273
         $out = "['{$operator}',"
274 274
             . $line_break
275
-            . ($indent_unit ? : ' ')
275
+            . ($indent_unit ?: ' ')
276 276
             . str_replace($line_break, $line_break.$indent_unit, $this->getOperandAt(0)->toString($options))
277 277
             . ','
278 278
             . $line_break
@@ -308,21 +308,21 @@  discard block
 block discarded – undo
308 308
 
309 309
         if ($new_operand instanceof NotRule) {
310 310
             $operands = $new_operand->getOperands();
311
-            return reset( $operands );
311
+            return reset($operands);
312 312
         }
313
-        elseif ($new_operand instanceof EqualRule && ! $this->getOption('not_equal.normalization', $contextual_options)) {
314
-            return new NotEqualRule( $new_operand->getField(), $new_operand->getValue(), $this->options );
313
+        elseif ($new_operand instanceof EqualRule && !$this->getOption('not_equal.normalization', $contextual_options)) {
314
+            return new NotEqualRule($new_operand->getField(), $new_operand->getValue(), $this->options);
315 315
         }
316
-        elseif ($new_operand instanceof InRule && ! $this->getOption('not_in.normalization', $contextual_options)) {
317
-            return new NotInRule( $new_operand->getField(), $new_operand->getPossibilities(), $this->options );
316
+        elseif ($new_operand instanceof InRule && !$this->getOption('not_in.normalization', $contextual_options)) {
317
+            return new NotInRule($new_operand->getField(), $new_operand->getPossibilities(), $this->options);
318 318
         }
319 319
 
320 320
         try {
321 321
             // Don't use addOperand here to allow inheritance for optimizations (e.g. NotInRule)
322
-            $out = $this->setOperands( $new_operands );
322
+            $out = $this->setOperands($new_operands);
323 323
         }
324 324
         catch (\LogicException $e) {
325
-            $out = new NotRule( $new_operand );
325
+            $out = new NotRule($new_operand);
326 326
         }
327 327
 
328 328
         // $out->dump();
@@ -333,11 +333,11 @@  discard block
 block discarded – undo
333 333
     /**
334 334
      *
335 335
      */
336
-    public function hasSolution(array $contextual_options=[])
336
+    public function hasSolution(array $contextual_options = [])
337 337
     {
338 338
         $operand = $this->getOperandAt(0);
339 339
 
340
-        return $operand instanceof AbstractAtomicRule ? ! $operand->hasSolution($contextual_options) : true;
340
+        return $operand instanceof AbstractAtomicRule ? !$operand->hasSolution($contextual_options) : true;
341 341
     }
342 342
 
343 343
     /**/
Please login to merge, or discard this patch.
Braces   +12 added lines, -24 removed lines patch added patch discarded remove patch
@@ -59,30 +59,25 @@  discard block
 block discarded – undo
59 59
                     new BelowRule($field, $operand->getMinimum()),
60 60
                     new EqualRule($field, $operand->getMinimum()),
61 61
                 ]);
62
-            }
63
-            elseif ($operand instanceof BelowRule) {
62
+            } elseif ($operand instanceof BelowRule) {
64 63
                 // ! (v >  a) : v <= a : (v < a || a = v)
65 64
                 $new_rule = new OrRule([
66 65
                     new AboveRule($field, $operand->getMaximum()),
67 66
                     new EqualRule($field, $operand->getMaximum()),
68 67
                 ]);
69
-            }
70
-            elseif ($operand instanceof EqualRule && null === $operand->getValue()) {
68
+            } elseif ($operand instanceof EqualRule && null === $operand->getValue()) {
71 69
                 $new_rule = new NotEqualRule($field, null);
72
-            }
73
-            elseif ($operand instanceof EqualRule) {
70
+            } elseif ($operand instanceof EqualRule) {
74 71
                 // ! (v =  a) : (v < a) || (v > a)
75 72
                 if ($this->getOption('not_equal.normalization', $current_simplification_options)) {
76 73
                     $new_rule = new OrRule([
77 74
                         new AboveRule($field, $operand->getValue()),
78 75
                         new BelowRule($field, $operand->getValue()),
79 76
                     ]);
80
-                }
81
-                else {
77
+                } else {
82 78
                     $new_rule = new NotEqualRule( $field, $operand->getValue() );
83 79
                 }
84
-            }
85
-            elseif ($operand instanceof NotEqualRule) {
80
+            } elseif ($operand instanceof NotEqualRule) {
86 81
                 $new_rule = new EqualRule( $field, $operand->getValue() );
87 82
             }
88 83
         }
@@ -135,8 +130,7 @@  discard block
 block discarded – undo
135 130
             $new_rule->setOperands( $combinations )
136 131
                 // ->dump(true)
137 132
                 ;
138
-        }
139
-        elseif ($operand instanceof OrRule) {
133
+        } elseif ($operand instanceof OrRule) {
140 134
 
141 135
             // $operand->dump(true);
142 136
             if (     $operand instanceof InRule
@@ -147,8 +141,7 @@  discard block
 block discarded – undo
147 141
                     $operand->getField(),
148 142
                     $operand->getPossibilities()
149 143
                 );
150
-            }
151
-            else {
144
+            } else {
152 145
                 // ! (A || B) : !A && !B
153 146
                 // ! (A || B || C || D) : !A && !B && !C && !D
154 147
                 $new_rule = new AndRule;
@@ -162,8 +155,7 @@  discard block
 block discarded – undo
162 155
                 }
163 156
             }
164 157
             // $new_rule->dump(!true);
165
-        }
166
-        elseif ($operand instanceof NotRule) {
158
+        } elseif ($operand instanceof NotRule) {
167 159
             // ! (  !  a) : a
168 160
             $new_rule = $operand->getOperandAt(0);
169 161
         }
@@ -252,8 +244,7 @@  discard block
 block discarded – undo
252 244
         // TODO make a dedicated cache entry for semantic array?
253 245
         if ( ! $options['show_instance'] && ! $options['semantic']) {
254 246
             return $this->cache['array'] = $array;
255
-        }
256
-        else {
247
+        } else {
257 248
             return $array;
258 249
         }
259 250
     }
@@ -309,19 +300,16 @@  discard block
 block discarded – undo
309 300
         if ($new_operand instanceof NotRule) {
310 301
             $operands = $new_operand->getOperands();
311 302
             return reset( $operands );
312
-        }
313
-        elseif ($new_operand instanceof EqualRule && ! $this->getOption('not_equal.normalization', $contextual_options)) {
303
+        } elseif ($new_operand instanceof EqualRule && ! $this->getOption('not_equal.normalization', $contextual_options)) {
314 304
             return new NotEqualRule( $new_operand->getField(), $new_operand->getValue(), $this->options );
315
-        }
316
-        elseif ($new_operand instanceof InRule && ! $this->getOption('not_in.normalization', $contextual_options)) {
305
+        } elseif ($new_operand instanceof InRule && ! $this->getOption('not_in.normalization', $contextual_options)) {
317 306
             return new NotInRule( $new_operand->getField(), $new_operand->getPossibilities(), $this->options );
318 307
         }
319 308
 
320 309
         try {
321 310
             // Don't use addOperand here to allow inheritance for optimizations (e.g. NotInRule)
322 311
             $out = $this->setOperands( $new_operands );
323
-        }
324
-        catch (\LogicException $e) {
312
+        } catch (\LogicException $e) {
325 313
             $out = new NotRule( $new_operand );
326 314
         }
327 315
 
Please login to merge, or discard this patch.