### Error messages for ValueChecker
method.find.failed.in.class=Failed to find a method named %s with argument types %s in class %s.
method.find.failed=Failed to find a method named %s with argument types %s.
method.evaluation.failed=Failed to invoke method %s for evaluation.
method.evaluation.exception=Failed to evaluate method %s because it threw an exception: %s.
class.find.failed=Failed to find class named %s: %s
constructor.evaluation.failed=Failed to evaluate constructor for class %s with arguments %s.
constructor.invocation.failed=Failed to invoke constructor for class.
operator.unary.evaluation.failed=Failed to find unary operator %s with arguments %s.
operator.binary.evaluation.failed=Failed to find binary operator %s with arguments %s.
field.access.failed=Failed to access field %s in class %s: %s
too.many.values.given=The maximum number of arguments permitted is %s.
too.many.values.given.int=The maximum number of arguments permitted is %s.  Use @IntRange instead.
no.values.given=No values specified.
from.greater.than.to=The "from" value must be less than or equal to the "to" value.
negative.arraylen=Negative array lengths are not allowed.%nfound: %s
class.convert.failed=Cannot convert annotation %s to class %s"
annotation.intrange.on.noninteger=@IntRange can only be used on integral types.
statically.executable.not.pure=method is @StaticallyExecutable but is not @Pure
statically.executable.nonconstant.parameter.type=parameter %s has type %s which cannot be constant
statically.executable.nonconstant.return.type=return type %s cannot be constant
invalid.matches.regex=Invalid regex in @MatchesRegex; Pattern.compile() reported: %s
