static TypedConstant getConstant ( Object value ) { if ( value == null ) { return CstKnownNull . THE_ONE ; } else if ( value instanceof Boolean ) { return CstBoolean . make ( ( Boolean ) value ) ; } else if ( value instanceof Byte ) { return CstByte . make ( ( Byte ) value ) ; } else if ( value instanceof Character ) { return CstChar . make ( ( Character ) value ) ; } else if ( value instanceof Double ) { return CstDouble . make ( Double . doubleToLongBits ( ( Double ) value ) ) ; } else if ( value instanceof Float ) { return CstFloat . make ( Float . floatToIntBits ( ( Float ) value ) ) ; } else if ( value instanceof Integer ) { return CstInteger . make ( ( Integer ) value ) ; } else if ( value instanceof Long ) { return CstLong . make ( ( Long ) value ) ; } else if ( value instanceof Short ) { return CstShort . make ( ( Short ) value ) ; } else if ( value instanceof String ) { return new CstString ( ( String ) value ) ; } else if ( value instanceof Class ) { return new CstType ( TypeId . get ( ( Class < ? > ) value ) . ropType ) ; } else if ( value instanceof TypeId ) { return new CstType ( ( ( TypeId ) value ) . ropType ) ; } else { throw new UnsupportedOperationException ( "Not a constant: " + value ) ; } }
Returns a rop constant for the specified value .