945 strncpy(str, (char *) (bytes+2), len);
946 str[len] = '\0';
947 printf("Utf8 \"%s\"", str);
948 ent_size = 2 + len;
949 break;
950 }
951 case JVM_CONSTANT_Integer: {
952 u4 val = Bytes::get_Java_u4(bytes);
953 printf("int %d", *(int *) &val);
954 ent_size = 4;
955 break;
956 }
957 case JVM_CONSTANT_Float: {
958 u4 val = Bytes::get_Java_u4(bytes);
959 printf("float %5.3ff", *(float *) &val);
960 ent_size = 4;
961 break;
962 }
963 case JVM_CONSTANT_Long: {
964 u8 val = Bytes::get_Java_u8(bytes);
965 printf("long %lldl", *(jlong *) &val);
966 ent_size = 8;
967 idx++; // Long takes two cpool slots
968 break;
969 }
970 case JVM_CONSTANT_Double: {
971 u8 val = Bytes::get_Java_u8(bytes);
972 printf("double %5.3fd", *(jdouble *)&val);
973 ent_size = 8;
974 idx++; // Double takes two cpool slots
975 break;
976 }
977 case JVM_CONSTANT_Class: {
978 idx1 = Bytes::get_Java_u2(bytes);
979 printf("class #%03d", idx1);
980 ent_size = 2;
981 break;
982 }
983 case JVM_CONSTANT_String: {
984 idx1 = Bytes::get_Java_u2(bytes);
985 printf("String #%03d", idx1);
|
945 strncpy(str, (char *) (bytes+2), len);
946 str[len] = '\0';
947 printf("Utf8 \"%s\"", str);
948 ent_size = 2 + len;
949 break;
950 }
951 case JVM_CONSTANT_Integer: {
952 u4 val = Bytes::get_Java_u4(bytes);
953 printf("int %d", *(int *) &val);
954 ent_size = 4;
955 break;
956 }
957 case JVM_CONSTANT_Float: {
958 u4 val = Bytes::get_Java_u4(bytes);
959 printf("float %5.3ff", *(float *) &val);
960 ent_size = 4;
961 break;
962 }
963 case JVM_CONSTANT_Long: {
964 u8 val = Bytes::get_Java_u8(bytes);
965 printf("long "INT64_FORMAT, *(jlong *) &val);
966 ent_size = 8;
967 idx++; // Long takes two cpool slots
968 break;
969 }
970 case JVM_CONSTANT_Double: {
971 u8 val = Bytes::get_Java_u8(bytes);
972 printf("double %5.3fd", *(jdouble *)&val);
973 ent_size = 8;
974 idx++; // Double takes two cpool slots
975 break;
976 }
977 case JVM_CONSTANT_Class: {
978 idx1 = Bytes::get_Java_u2(bytes);
979 printf("class #%03d", idx1);
980 ent_size = 2;
981 break;
982 }
983 case JVM_CONSTANT_String: {
984 idx1 = Bytes::get_Java_u2(bytes);
985 printf("String #%03d", idx1);
|