@@ -23,6 +23,7 @@ final class BooleanAndConstantConditionRule implements Rule
2323
2424 public function __construct (
2525 private ConstantConditionRuleHelper $ helper ,
26+ private PossiblyImpureTipHelper $ possiblyImpureTipHelper ,
2627 #[AutowiredParameter]
2728 private bool $ treatPhpDocTypesAsCertain ,
2829 #[AutowiredParameter]
@@ -51,18 +52,20 @@ public function processNode(
5152 if ($ leftType instanceof ConstantBooleanType) {
5253 $ addTipLeft = function (RuleErrorBuilder $ ruleErrorBuilder ) use ($ scope , $ originalNode ): RuleErrorBuilder {
5354 if (!$ this ->treatPhpDocTypesAsCertain ) {
54- return $ ruleErrorBuilder ;
55+ return $ this -> possiblyImpureTipHelper -> addTip ( $ scope , $ originalNode -> left , $ ruleErrorBuilder) ;
5556 }
5657
5758 $ booleanNativeType = $ this ->helper ->getNativeBooleanType ($ scope , $ originalNode ->left );
5859 if ($ booleanNativeType instanceof ConstantBooleanType) {
59- return $ ruleErrorBuilder ;
60+ return $ this -> possiblyImpureTipHelper -> addTip ( $ scope , $ originalNode -> left , $ ruleErrorBuilder) ;
6061 }
6162 if (!$ this ->treatPhpDocTypesAsCertainTip ) {
62- return $ ruleErrorBuilder ;
63+ return $ this -> possiblyImpureTipHelper -> addTip ( $ scope , $ originalNode -> left , $ ruleErrorBuilder) ;
6364 }
6465
65- return $ ruleErrorBuilder ->treatPhpDocTypesAsCertainTip ();
66+ $ ruleErrorBuilder = $ ruleErrorBuilder ->treatPhpDocTypesAsCertainTip ();
67+
68+ return $ this ->possiblyImpureTipHelper ->addTip ($ scope , $ originalNode ->left , $ ruleErrorBuilder );
6669 };
6770
6871 $ isLast = $ node ->getAttribute (LastConditionVisitor::ATTRIBUTE_NAME );
@@ -89,21 +92,23 @@ public function processNode(
8992 if ($ rightType instanceof ConstantBooleanType && !$ scope ->isInFirstLevelStatement ()) {
9093 $ addTipRight = function (RuleErrorBuilder $ ruleErrorBuilder ) use ($ rightScope , $ originalNode ): RuleErrorBuilder {
9194 if (!$ this ->treatPhpDocTypesAsCertain ) {
92- return $ ruleErrorBuilder ;
95+ return $ this -> possiblyImpureTipHelper -> addTip ( $ rightScope , $ originalNode -> right , $ ruleErrorBuilder) ;
9396 }
9497
9598 $ booleanNativeType = $ this ->helper ->getNativeBooleanType (
9699 $ rightScope ,
97100 $ originalNode ->right ,
98101 );
99102 if ($ booleanNativeType instanceof ConstantBooleanType) {
100- return $ ruleErrorBuilder ;
103+ return $ this -> possiblyImpureTipHelper -> addTip ( $ rightScope , $ originalNode -> right , $ ruleErrorBuilder) ;
101104 }
102105 if (!$ this ->treatPhpDocTypesAsCertainTip ) {
103- return $ ruleErrorBuilder ;
106+ return $ this -> possiblyImpureTipHelper -> addTip ( $ rightScope , $ originalNode -> right , $ ruleErrorBuilder) ;
104107 }
105108
106- return $ ruleErrorBuilder ->treatPhpDocTypesAsCertainTip ();
109+ $ ruleErrorBuilder = $ ruleErrorBuilder ->treatPhpDocTypesAsCertainTip ();
110+
111+ return $ this ->possiblyImpureTipHelper ->addTip ($ rightScope , $ originalNode ->right , $ ruleErrorBuilder );
107112 };
108113
109114 $ isLast = $ node ->getAttribute (LastConditionVisitor::ATTRIBUTE_NAME );
@@ -127,18 +132,20 @@ public function processNode(
127132 if ($ nodeType instanceof ConstantBooleanType) {
128133 $ addTip = function (RuleErrorBuilder $ ruleErrorBuilder ) use ($ scope , $ originalNode ): RuleErrorBuilder {
129134 if (!$ this ->treatPhpDocTypesAsCertain ) {
130- return $ ruleErrorBuilder ;
135+ return $ this -> possiblyImpureTipHelper -> addTip ( $ scope , $ originalNode , $ ruleErrorBuilder) ;
131136 }
132137
133138 $ booleanNativeType = $ scope ->getNativeType ($ originalNode );
134139 if ($ booleanNativeType instanceof ConstantBooleanType) {
135- return $ ruleErrorBuilder ;
140+ return $ this -> possiblyImpureTipHelper -> addTip ( $ scope , $ originalNode , $ ruleErrorBuilder) ;
136141 }
137142 if (!$ this ->treatPhpDocTypesAsCertainTip ) {
138- return $ ruleErrorBuilder ;
143+ return $ this -> possiblyImpureTipHelper -> addTip ( $ scope , $ originalNode , $ ruleErrorBuilder) ;
139144 }
140145
141- return $ ruleErrorBuilder ->treatPhpDocTypesAsCertainTip ();
146+ $ ruleErrorBuilder = $ ruleErrorBuilder ->treatPhpDocTypesAsCertainTip ();
147+
148+ return $ this ->possiblyImpureTipHelper ->addTip ($ scope , $ originalNode , $ ruleErrorBuilder );
142149 };
143150
144151 $ isLast = $ node ->getAttribute (LastConditionVisitor::ATTRIBUTE_NAME );
0 commit comments