Prevent IllegalAccessException in Enum.
Small optimization in access checks for reflection members. No need to get the caller class if the member and its declaring class both are public.
Fixed problems with array types in strings returned by Constructor.toString(), Method.toString() and Field.toString().