question: static boolean isJavaBaseAssignable ( Class lhsType , Class rhsType ) { if ( lhsType == null ) return false ; if ( rhsType == null ) return ! lhsType . isPrimitive ( ) ; if ( lhsType . isPrimitive ( ) && rhsType . isPrimitive ( ) ) { if ( lhsType == rhsType ) return true ; if ( ( rhsType == Byte . TYPE ) && ( lhsType == Short . TYPE || lhsType == Integer . TYPE || lhsType == Long . TYPE || lhsType == Float . TYPE || lhsType == Double . TYPE ) ) return true ; if ( ( rhsType == Short . TYPE ) && ( lhsType == Integer . TYPE || lhsType == Long . TYPE || lhsType == Float . TYPE || lhsType == Double . TYPE ) ) return true ; if ( ( rhsType == Character . TYPE ) && ( lhsType == Integer . TYPE || lhsType == Long . TYPE || lhsType == Float . TYPE || lhsType == Double . TYPE ) ) return true ; if ( ( rhsType == Integer . TYPE ) && ( lhsType == Long . TYPE || lhsType == Float . TYPE || lhsType == Double . TYPE ) ) return true ; if ( ( rhsType == Long . TYPE ) && ( lhsType == Float . TYPE || lhsType == Double . TYPE ) ) return true ; if ( ( rhsType == Float . TYPE ) && ( lhsType == Double . TYPE ) ) return true ; } else if ( lhsType . isAssignableFrom ( rhsType ) ) return true ; return false ; }
target:  Is the assignment legal via original Java (up to version 1.4) assignment rules, not including auto-boxing/unboxing.