Skip to content

Commit 3e30f6b

Browse files
committed
Fix ignore always
1 parent f0bc392 commit 3e30f6b

File tree

2 files changed

+5
-27
lines changed

2 files changed

+5
-27
lines changed

conformance/expected-failures.yaml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -107,24 +107,3 @@ custom_constraints:
107107
#ERROR: <input>:1:1: expression of type 'int' cannot be range of a comprehension (must be list, map, or dynamic)
108108
# | this.all(e, e == 1)
109109
# | ^
110-
standard_constraints/ignore:
111-
- proto3/repeated/items/ignore_always/valid/zero_invalid_value
112-
- proto3/map/values/ignore_always/valid/populated_invalid_value
113-
- proto3/repeated/items/ignore_always/valid/populated_invalid_value
114-
- proto2/map/keys/ignore_always/valid/zero_invalid_value
115-
- proto/2023/map/values/ignore_always/valid/populated_invalid_value
116-
- proto3/map/keys/ignore_always/valid/zero_invalid_value
117-
- proto3/map/values/ignore_always/valid/zero_invalid_value
118-
- proto2/map/values/ignore_always/valid/zero_valid_value
119-
- proto/2023/repeated/expanded/items/ignore_always/valid/zero_invalid_value
120-
- proto/2023/repeated/expanded/items/ignore_always/valid/populated_invalid_value
121-
- proto/2023/map/keys/ignore_always/valid/zero_invalid_value
122-
- proto2/map/values/ignore_always/valid/populated_invalid_value
123-
- proto/2023/map/values/ignore_always/valid/zero_invalid_value
124-
- proto2/repeated/items/ignore_always/valid/populated_invalid_value
125-
- proto/2023/repeated/compact/items/ignore_always/valid/zero_invalid_value
126-
- proto3/map/keys/ignore_always/valid/populated_invalid_value
127-
- proto/2023/repeated/compact/items/ignore_always/valid/populated_invalid_value
128-
- proto2/map/keys/ignore_always/valid/populated_invalid_value
129-
- proto/2023/map/keys/ignore_always/valid/populated_invalid_value
130-
- proto2/repeated/items/ignore_always/valid/zero_invalid_value

src/main/java/build/buf/protovalidate/EvaluatorBuilder.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -232,10 +232,6 @@ private FieldEvaluator buildField(
232232
return fieldEvaluator;
233233
}
234234

235-
private boolean shouldSkip(FieldConstraints constraints) {
236-
return constraints.getIgnore() == Ignore.IGNORE_ALWAYS;
237-
}
238-
239235
private static boolean shouldIgnoreEmpty(FieldConstraints constraints) {
240236
return constraints.getIgnore() == Ignore.IGNORE_IF_UNPOPULATED
241237
|| constraints.getIgnore() == Ignore.IGNORE_IF_DEFAULT_VALUE;
@@ -250,6 +246,11 @@ private void buildValue(
250246
FieldConstraints fieldConstraints,
251247
ValueEvaluator valueEvaluator)
252248
throws CompilationException {
249+
250+
if (fieldConstraints.getIgnore() == Ignore.IGNORE_ALWAYS) {
251+
return;
252+
}
253+
253254
processIgnoreEmpty(fieldDescriptor, fieldConstraints, valueEvaluator);
254255
processFieldExpressions(fieldDescriptor, fieldConstraints, valueEvaluator);
255256
processEmbeddedMessage(fieldDescriptor, fieldConstraints, valueEvaluator);
@@ -371,7 +372,6 @@ private void processEmbeddedMessage(
371372
ValueEvaluator valueEvaluatorEval)
372373
throws CompilationException {
373374
if (fieldDescriptor.getJavaType() != FieldDescriptor.JavaType.MESSAGE
374-
|| shouldSkip(fieldConstraints)
375375
|| fieldDescriptor.isMapField()
376376
|| (fieldDescriptor.isRepeated() && !valueEvaluatorEval.hasNestedRule())) {
377377
return;
@@ -388,7 +388,6 @@ private void processWrapperConstraints(
388388
ValueEvaluator valueEvaluatorEval)
389389
throws CompilationException {
390390
if (fieldDescriptor.getJavaType() != FieldDescriptor.JavaType.MESSAGE
391-
|| shouldSkip(fieldConstraints)
392391
|| fieldDescriptor.isMapField()
393392
|| (fieldDescriptor.isRepeated() && !valueEvaluatorEval.hasNestedRule())) {
394393
return;

0 commit comments

Comments
 (0)