Skip to content

Commit ed2155c

Browse files
Fix args length == 1 case handling in ESLoggerUsageChecker (#102382)
* Fix args length == 1 case handling in ESLoggerUsageChecker There was an operator precedence mistake in: (lengthWithoutMarker == 1 || lengthWithoutMarker == 2) && lengthWithoutMarker == 2 ? ... Logical AND && has higher precedence than ternary operator ?:, So the above expression is equivalent to lengthWithoutMarker == 2 ? ... --------- Co-authored-by: Elastic Machine <[email protected]>
1 parent 3166035 commit ed2155c

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

test/logger-usage/src/main/java/org/elasticsearch/test/loggerusage/ESLoggerUsageChecker.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -364,9 +364,8 @@ private void verifyLoggerUsage(
364364
&& argumentTypes[markerOffset + 1].equals(OBJECT_CLASS)) {
365365
// MULTI-PARAM METHOD: debug(Marker?, String, Object p0, ...)
366366
checkFixedArityArgs(methodNode, logMessageFrames[i], lineNumber, methodInsn, markerOffset + 0, lengthWithoutMarker - 1);
367-
} else if ((lengthWithoutMarker == 1 || lengthWithoutMarker == 2) && lengthWithoutMarker == 2
368-
? argumentTypes[markerOffset + 1].equals(THROWABLE_CLASS)
369-
: true) {
367+
} else if (lengthWithoutMarker == 1
368+
|| (lengthWithoutMarker == 2 && argumentTypes[markerOffset + 1].equals(THROWABLE_CLASS))) {
370369
// all the rest: debug(Marker?, (Message|MessageSupplier|CharSequence|Object|String|Supplier), Throwable?)
371370
checkFixedArityArgs(methodNode, logMessageFrames[i], lineNumber, methodInsn, markerOffset + 0, 0);
372371
} else {

0 commit comments

Comments
 (0)