fix bindings (python/java) and tests after the last change on the type of imm of cs_arm64_op
diff --git a/bindings/java/capstone/Arm64.java b/bindings/java/capstone/Arm64.java
index 0fa5e60..258e1b5 100644
--- a/bindings/java/capstone/Arm64.java
+++ b/bindings/java/capstone/Arm64.java
@@ -26,7 +26,7 @@
 
   public static class OpValue extends Union {
     public int reg;
-    public int imm;
+    public long imm;
     public double fp;
     public MemType mem;
     public int pstate;
diff --git a/bindings/python/capstone/arm64.py b/bindings/python/capstone/arm64.py
index 86ef46c..e33c7df 100644
--- a/bindings/python/capstone/arm64.py
+++ b/bindings/python/capstone/arm64.py
@@ -20,7 +20,7 @@
 class Arm64OpValue(ctypes.Union):
     _fields_ = (
         ('reg', ctypes.c_uint),
-        ('imm', ctypes.c_int32),
+        ('imm', ctypes.c_int64),
         ('fp', ctypes.c_double),
         ('mem', Arm64OpMem),
         ('pstate', ctypes.c_int),
diff --git a/tests/test_arm64.c b/tests/test_arm64.c
index 231f447..ca7419b 100644
--- a/tests/test_arm64.c
+++ b/tests/test_arm64.c
@@ -51,7 +51,7 @@
 				printf("\t\toperands[%u].type: REG = %s\n", i, cs_reg_name(handle, op->reg));
 				break;
 			case ARM64_OP_IMM:
-				printf("\t\toperands[%u].type: IMM = 0x%x\n", i, op->imm);
+				printf("\t\toperands[%u].type: IMM = 0x%"PRIx64 "\n", i, op->imm);
 				break;
 			case ARM64_OP_FP:
 				printf("\t\toperands[%u].type: FP = %f\n", i, op->fp);
@@ -67,7 +67,7 @@
 
 				break;
 			case ARM64_OP_CIMM:
-				printf("\t\toperands[%u].type: C-IMM = %u\n", i, op->imm);
+				printf("\t\toperands[%u].type: C-IMM = %u\n", i, (int)op->imm);
 				break;
 			case ARM64_OP_REG_MRS:
 				printf("\t\toperands[%u].type: REG_MRS = 0x%x\n", i, op->reg);