## these all take Object or Number but seem like they should be whitelisted - many of these are called from other methods that will be flagged, so maybe could ignore hasheq,[java.lang.Number] ops,[java.lang.Object] rationalize,[java.lang.Number] reduceBigInt,[clojure.lang.BigInt] toBigDecimal,[java.lang.Object] toBigInt,[java.lang.Object] toBigInteger,[java.lang.Object] toRatio,[java.lang.Object] ## Object param, boxed math (generate warning): add,[double java.lang.Object] add,[java.lang.Object java.lang.Object] add,[java.lang.Object double] add,[java.lang.Object long] add,[long java.lang.Object] addP,[double java.lang.Object] addP,[java.lang.Object double] addP,[java.lang.Object java.lang.Object] addP,[java.lang.Object long] addP,[long java.lang.Object] and,[java.lang.Object java.lang.Object] and,[java.lang.Object long] and,[long java.lang.Object] andNot,[java.lang.Object java.lang.Object] andNot,[java.lang.Object long] andNot,[long java.lang.Object] bitOpsCast,[java.lang.Object] category,[java.lang.Object] clearBit,[java.lang.Object java.lang.Object] clearBit,[java.lang.Object long] clearBit,[long java.lang.Object] compare,[java.lang.Number java.lang.Number] dec,[java.lang.Object] decP,[java.lang.Object] divide,[double java.lang.Object] divide,[java.lang.Object double] divide,[java.lang.Object java.lang.Object] divide,[java.lang.Object long] divide,[long java.lang.Object] equiv,[double java.lang.Object] equiv,[java.lang.Object double] equiv,[java.lang.Object java.lang.Object] equiv,[java.lang.Object long] equiv,[long java.lang.Object] equiv,[java.lang.Number java.lang.Number] equal,[java.lang.Number java.lang.Number] flipBit,[java.lang.Object java.lang.Object] flipBit,[java.lang.Object long] flipBit,[long java.lang.Object] gt,[double java.lang.Object] gt,[java.lang.Object double] gt,[java.lang.Object java.lang.Object] gt,[java.lang.Object long] gt,[long java.lang.Object] gte,[double java.lang.Object] gte,[java.lang.Object double] gte,[java.lang.Object java.lang.Object] gte,[java.lang.Object long] gte,[long java.lang.Object] inc,[java.lang.Object] incP,[java.lang.Object] int_array,[int java.lang.Object] int_array,[java.lang.Object] ints,[java.lang.Object] isNaN,[java.lang.Object] ;; there is no prim version, should there be? isNeg,[java.lang.Object] isPos,[java.lang.Object] isZero,[java.lang.Object] lt,[double java.lang.Object] lt,[java.lang.Object double] lt,[java.lang.Object java.lang.Object] lt,[java.lang.Object long] lt,[long java.lang.Object] lte,[double java.lang.Object] lte,[java.lang.Object double] lte,[java.lang.Object java.lang.Object] lte,[java.lang.Object long] lte,[long java.lang.Object] max,[double java.lang.Object] max,[java.lang.Object double] max,[java.lang.Object java.lang.Object] max,[java.lang.Object long] max,[long java.lang.Object] min,[double java.lang.Object] min,[java.lang.Object double] min,[java.lang.Object java.lang.Object] min,[java.lang.Object long] min,[long java.lang.Object] minus,[double java.lang.Object] minus,[java.lang.Object double] minus,[java.lang.Object java.lang.Object] minus,[java.lang.Object long] minus,[java.lang.Object] minus,[long java.lang.Object] minusP,[double java.lang.Object] minusP,[java.lang.Object double] minusP,[java.lang.Object java.lang.Object] minusP,[java.lang.Object long] minusP,[java.lang.Object] minusP,[long java.lang.Object] multiply,[double java.lang.Object] multiply,[java.lang.Object double] multiply,[java.lang.Object java.lang.Object] multiply,[java.lang.Object long] multiply,[long java.lang.Object] multiplyP,[double java.lang.Object] multiplyP,[java.lang.Object double] multiplyP,[java.lang.Object java.lang.Object] multiplyP,[java.lang.Object long] multiplyP,[long java.lang.Object] not,[java.lang.Object] num,[double] ;; returns Number num,[float] ;; returns Number num,[long] ;; returns Number num,[java.lang.Object] or,[long java.lang.Object] quotient,[double java.lang.Object] quotient,[java.lang.Object double] quotient,[java.lang.Object java.lang.Object] quotient,[java.lang.Object long] quotient,[long java.lang.Object] or,[java.lang.Object java.lang.Object] or,[java.lang.Object long] remainder,[double java.lang.Object] remainder,[java.lang.Object double] remainder,[java.lang.Object java.lang.Object] remainder,[java.lang.Object long] remainder,[long java.lang.Object] setBit,[java.lang.Object java.lang.Object] setBit,[java.lang.Object long] setBit,[long java.lang.Object] shiftLeft,[java.lang.Object java.lang.Object] shiftLeft,[java.lang.Object long] shiftLeft,[long java.lang.Object] shiftRight,[java.lang.Object java.lang.Object] shiftRight,[java.lang.Object long] shiftRight,[long java.lang.Object] testBit,[java.lang.Object java.lang.Object] testBit,[java.lang.Object long] testBit,[long java.lang.Object] unchecked_add,[double java.lang.Object] unchecked_add,[java.lang.Object double] unchecked_add,[java.lang.Object java.lang.Object] unchecked_add,[java.lang.Object long] unchecked_add,[long java.lang.Object] unchecked_dec,[java.lang.Object] unchecked_inc,[java.lang.Object] unchecked_minus,[double java.lang.Object] unchecked_minus,[java.lang.Object double] unchecked_minus,[java.lang.Object java.lang.Object] unchecked_minus,[java.lang.Object long] unchecked_minus,[java.lang.Object] unchecked_minus,[long java.lang.Object] unchecked_multiply,[double java.lang.Object] unchecked_multiply,[java.lang.Object double] unchecked_multiply,[java.lang.Object java.lang.Object] unchecked_multiply,[java.lang.Object long] unchecked_multiply,[long java.lang.Object] unsignedShiftRight,[java.lang.Object java.lang.Object] unsignedShiftRight,[java.lang.Object long] unsignedShiftRight,[long java.lang.Object] xor,[java.lang.Object java.lang.Object] xor,[java.lang.Object long] xor,[long java.lang.Object] ## Object param but not boxed math (possible whitelist for Object param methods): boolean_array,[int java.lang.Object] boolean_array,[java.lang.Object] booleans,[java.lang.Object] byte_array,[int java.lang.Object] byte_array,[java.lang.Object] bytes,[java.lang.Object] char_array,[int java.lang.Object] char_array,[java.lang.Object] chars,[java.lang.Object] double_array,[int java.lang.Object] double_array,[java.lang.Object] doubles,[java.lang.Object] float_array,[int java.lang.Object] float_array,[java.lang.Object] floats,[java.lang.Object] long_array,[int java.lang.Object] long_array,[java.lang.Object] longs,[java.lang.Object] short_array,[int java.lang.Object] short_array,[java.lang.Object] shorts,[java.lang.Object] ## no Object/Number, not boxed math: - the ...P ops return Number - which might be ok, will catch in subsequent math op add,[double double] add,[double long] add,[long double] add,[long long] addP,[double double] addP,[double long] addP,[long double] addP,[long long] and,[long long] andNot,[long long] clearBit,[long long] dec,[double] dec,[long] decP,[double] decP,[long] divide,[double double] divide,[double long] divide,[java.math.BigInteger java.math.BigInteger] divide,[long double] divide,[long long] ;; returns Number, maybe flag? equiv,[double double] equiv,[double long] equiv,[long double] equiv,[long long] flipBit,[long long] gt,[double double] gt,[double long] gt,[long double] gt,[long long] gte,[double double] gte,[double long] gte,[long double] gte,[long long] inc,[double] inc,[long] incP,[double] incP,[long] isNeg,[double] isNeg,[long] isPos,[double] isPos,[long] isZero,[double] isZero,[long] lt,[double double] lt,[double long] lt,[long double] lt,[long long] lte,[double double] lte,[double long] lte,[long double] lte,[long long] max,[double double] max,[double long] ;; returns Object - maybe flag this? max,[long double] max,[long long] min,[double double] min,[double long] ;; returns Object - maybe flag this? min,[long double] min,[long long] minus,[double double] minus,[double long] minus,[double] minus,[long double] minus,[long long] minus,[long] minusP,[double double] minusP,[double long] minusP,[double] minusP,[long double] minusP,[long long] minusP,[long] multiply,[double double] multiply,[double long] multiply,[long double] multiply,[long long] multiplyP,[double double] multiplyP,[double long] multiplyP,[long double] multiplyP,[long long] not,[long] or,[long long] quotient,[double double] quotient,[double long] quotient,[long double] quotient,[long long] remainder,[double double] remainder,[double long] remainder,[long double] remainder,[long long] setBit,[long long] shiftLeft,[long long] shiftLeftInt,[int int] shiftRight,[long long] shiftRightInt,[int int] testBit,[long long] throwIntOverflow,[] unchecked_add,[double double] unchecked_add,[double long] unchecked_add,[long double] unchecked_add,[long long] unchecked_dec,[double] unchecked_dec,[long] unchecked_inc,[double] unchecked_inc,[long] unchecked_int_add,[int int] unchecked_int_dec,[int] unchecked_int_divide,[int int] unchecked_int_inc,[int] unchecked_int_multiply,[int int] unchecked_int_negate,[int] unchecked_int_remainder,[int int] unchecked_int_subtract,[int int] unchecked_minus,[double double] unchecked_minus,[double long] unchecked_minus,[double] unchecked_minus,[long double] unchecked_minus,[long long] unchecked_minus,[long] unchecked_multiply,[double double] unchecked_multiply,[double long] unchecked_multiply,[long double] unchecked_multiply,[long long] unsignedShiftRight,[long long] unsignedShiftRightInt,[int int] xor,[long long]