aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax
diff options
context:
space:
mode:
authorGravatar Janak Ramakrishnan <janakr@google.com>2016-01-19 15:46:42 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2016-01-19 16:41:00 +0000
commitba39507b066ab509984fa732a844debf588720d7 (patch)
treec8badbb4183476f0db5e0aaaa20a8988e58a4dad /src/main/java/com/google/devtools/build/lib/syntax
parentb136315c05a87314e2b74b0a999512032c65d425 (diff)
Avoid auto-unboxing in Preconditions check that has string then two integer arguments (seems too messy for a family of functions).
-- MOS_MIGRATED_REVID=112472644
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
index eb28b68fbb..6cbbf2363a 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
@@ -248,9 +248,15 @@ public class BuiltinFunction extends BaseFunction {
int arguments = signature.getSignature().getShape().getArguments();
innerArgumentCount = arguments + (extraArgs == null ? 0 : extraArgs.length);
Class<?>[] parameterTypes = invokeMethod.getParameterTypes();
- Preconditions.checkArgument(innerArgumentCount == parameterTypes.length,
- "bad argument count for %s: method has %s arguments, type list has %s",
- getName(), innerArgumentCount, parameterTypes.length);
+ if (innerArgumentCount != parameterTypes.length) {
+ // Guard message construction by check to avoid autoboxing two integers.
+ throw new IllegalStateException(
+ String.format(
+ "bad argument count for %s: method has %s arguments, type list has %s",
+ getName(),
+ innerArgumentCount,
+ parameterTypes.length));
+ }
if (enforcedArgumentTypes != null) {
for (int i = 0; i < arguments; i++) {