diff options
author | 2016-01-19 15:46:42 +0000 | |
---|---|---|
committer | 2016-01-19 16:41:00 +0000 | |
commit | ba39507b066ab509984fa732a844debf588720d7 (patch) | |
tree | c8badbb4183476f0db5e0aaaa20a8988e58a4dad /src/main/java/com/google/devtools/build/lib/syntax | |
parent | b136315c05a87314e2b74b0a999512032c65d425 (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.java | 12 |
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++) { |