Skip to content

Commit 0391076

Browse files
committed
Restore checkNotNull guards accidentally removed from ParserUtils
Guards for userDefinedSegmentMatcherData, whitelistMatcherData, unaryNumericMatcherData, and betweenMatcherData were dropped as an unintended side effect of the DataType import refactor in ed86b23. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> AI-Session-Id: 588a98fd-ba49-4318-8286-5fb79f9efaca AI-Tool: claude-code AI-Model: unknown
1 parent ed86b23 commit 0391076

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

client/src/main/java/io/split/engine/experiments/ParserUtils.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
import java.util.ArrayList;
3737
import java.util.List;
3838

39+
import static com.google.common.base.Preconditions.checkNotNull;
40+
3941
public final class ParserUtils {
4042

4143
private ParserUtils() {
@@ -94,37 +96,47 @@ public static AttributeMatcher toMatcher(Matcher matcher) {
9496
delegate = new AllKeysMatcher();
9597
break;
9698
case IN_SEGMENT:
99+
checkNotNull(matcher.userDefinedSegmentMatcherData);
97100
String segmentName = matcher.userDefinedSegmentMatcherData.segmentName;
98101
delegate = new UserDefinedSegmentMatcher(segmentName);
99102
break;
100103
case WHITELIST:
104+
checkNotNull(matcher.whitelistMatcherData);
101105
delegate = new WhitelistMatcher(matcher.whitelistMatcherData.whitelist);
102106
break;
103107
case EQUAL_TO:
108+
checkNotNull(matcher.unaryNumericMatcherData);
104109
delegate = new EqualToMatcher(matcher.unaryNumericMatcherData.value, toRulesDataType(matcher.unaryNumericMatcherData.dataType));
105110
break;
106111
case GREATER_THAN_OR_EQUAL_TO:
112+
checkNotNull(matcher.unaryNumericMatcherData);
107113
delegate = new GreaterThanOrEqualToMatcher(
108114
matcher.unaryNumericMatcherData.value, toRulesDataType(matcher.unaryNumericMatcherData.dataType));
109115
break;
110116
case LESS_THAN_OR_EQUAL_TO:
117+
checkNotNull(matcher.unaryNumericMatcherData);
111118
delegate = new LessThanOrEqualToMatcher(
112119
matcher.unaryNumericMatcherData.value, toRulesDataType(matcher.unaryNumericMatcherData.dataType));
113120
break;
114121
case BETWEEN:
122+
checkNotNull(matcher.betweenMatcherData);
115123
delegate = new BetweenMatcher(matcher.betweenMatcherData.start,
116124
matcher.betweenMatcherData.end, toRulesDataType(matcher.betweenMatcherData.dataType));
117125
break;
118126
case EQUAL_TO_SET:
127+
checkNotNull(matcher.whitelistMatcherData);
119128
delegate = new EqualToSetMatcher(matcher.whitelistMatcherData.whitelist);
120129
break;
121130
case PART_OF_SET:
131+
checkNotNull(matcher.whitelistMatcherData);
122132
delegate = new PartOfSetMatcher(matcher.whitelistMatcherData.whitelist);
123133
break;
124134
case CONTAINS_ALL_OF_SET:
135+
checkNotNull(matcher.whitelistMatcherData);
125136
delegate = new ContainsAllOfSetMatcher(matcher.whitelistMatcherData.whitelist);
126137
break;
127138
case CONTAINS_ANY_OF_SET:
139+
checkNotNull(matcher.whitelistMatcherData);
128140
delegate = new ContainsAnyOfSetMatcher(matcher.whitelistMatcherData.whitelist);
129141
break;
130142
case STARTS_WITH:

0 commit comments

Comments
 (0)