/** * Sets an option when loading libraries. * * @see LibraryOption * * @param option The option to set. * @param value The value for the option. * @return The {@code LibraryLoader} instance. */ public LibraryLoader<T> option(LibraryOption option, Object value) { switch (option) { case TypeMapper: if (value instanceof SignatureTypeMapper) { mapper((SignatureTypeMapper) value); } else if (value instanceof TypeMapper) { mapper((TypeMapper) value); } else if (value != null) { throw new IllegalArgumentException("invalid TypeMapper: " + value.getClass()); } break; case FunctionMapper: mapper((FunctionMapper) value); break; default: optionMap.put(option, value); } return this; }
/** * Sets an option when loading libraries. * * @see LibraryOption * * @param option The option to set. * @param value The value for the option. * @return The {@code LibraryLoader} instance. */ public LibraryLoader<T> option(LibraryOption option, Object value) { switch (option) { case TypeMapper: if (value instanceof SignatureTypeMapper) { mapper((SignatureTypeMapper) value); } else if (value instanceof TypeMapper) { mapper((TypeMapper) value); } else if (value != null) { throw new IllegalArgumentException("invalid TypeMapper: " + value.getClass()); } break; case FunctionMapper: mapper((FunctionMapper) value); break; default: optionMap.put(option, value); } return this; }
/** * Sets an option when loading libraries. * * @see LibraryOption * * @param option The option to set * @param value The value for the option. * @return The {@code LibraryLoader} instance. */ public LibraryLoader<T> option(LibraryOption option, Object value) { switch (option) { case TypeMapper: if (value instanceof SignatureTypeMapper) { mapper((SignatureTypeMapper) value); } else if (value instanceof TypeMapper) { mapper((TypeMapper) value); } else if (value != null) { throw new IllegalArgumentException("invalid TypeMapper: " + value.getClass()); } break; case FunctionMapper: mapper((FunctionMapper) value); break; default: optionMap.put(option, value); } return this; }
static UDis86 loadUDis86() { DefaultTypeMapper typeMapper = new DefaultTypeMapper(); typeMapper.put(X86Disassembler.class, new X86DisassemblerConverter()); return LibraryLoader.create(UDis86.class) .library("udis86") .search("/usr/local/lib") .search("/opt/local/lib") .search("/usr/lib") .mapper(typeMapper) .load(); }
static UDis86 loadUDis86() { DefaultTypeMapper typeMapper = new DefaultTypeMapper(); typeMapper.put(X86Disassembler.class, new X86DisassemblerConverter()); return LibraryLoader.create(UDis86.class) .library("udis86") .search("/usr/local/lib") .search("/opt/local/lib") .search("/usr/lib") .mapper(typeMapper) .load(); }
static UDis86 loadUDis86() { DefaultTypeMapper typeMapper = new DefaultTypeMapper(); typeMapper.put(X86Disassembler.class, new X86DisassemblerConverter()); return LibraryLoader.create(UDis86.class) .library("udis86") .search("/usr/local/lib") .search("/opt/local/lib") .search("/usr/lib") .mapper(typeMapper) .load(); }