@Override
  public void fromNative(Runtime runtime, Pointer memory, long offset) {
    switch (runtime.findType(typeAlias).getNativeType()) {
      case SCHAR:
      case UCHAR:
        value = memory.getByte(offset);
        break;

      case SSHORT:
      case USHORT:
        value = memory.getShort(offset);
        break;

      case SINT:
      case UINT:
        value = memory.getInt(offset);
        break;

      case SLONG:
      case ULONG:
        value = memory.getLong(offset);
        break;

      case SLONGLONG:
      case ULONGLONG:
        value = memory.getLongLong(offset);
        break;

      case ADDRESS:
        value = memory.getAddress(offset);
        break;

      case FLOAT:
        value = memory.getFloat(offset);
        break;

      case DOUBLE:
        value = memory.getDouble(offset);
        break;

      default:
        throw new UnsupportedOperationException("unsupported type: " + typeAlias);
    }
  }
Exemple #2
0
 @Override
 public int getInt(long offset) {
   checkBounds(size, offset, 4);
   return io.getInt(base + offset);
 }