public static List<DecompilerOption> getAll() {
    List<DecompilerOption> options = new ArrayList<>();

    List<Field> fields = Arrays.stream(IFernflowerPreferences.class.getDeclaredFields())
      .filter(field -> field.getType() == String.class)
      .toList();

    Map<String, Object> defaults = IFernflowerPreferences.DEFAULTS;
    addOptions(fields, options, defaults, null);

    PluginContext ctx = new PluginContext();
    ctx.findPlugins();

    for (Plugin plugin : ctx.getPlugins()) {
      PluginOptions opt = plugin.getPluginOptions();

      if (opt != null) {
        var opts = opt.provideOptions();

        List<Field> pluginFields = Arrays.stream(opts.a.getDeclaredFields())
          .filter(field -> field.getType() == String.class)
          .toList();

        Map<String, Object> pluginDefaults = new HashMap<>();
        opts.b.accept(pluginDefaults::put);

        addOptions(pluginFields, options, pluginDefaults, plugin);
      }
    }

    options.sort(DecompilerOption::compareTo);

    return options;
  }
Get all decompiler options from all plugins and the core decompiler.
@return A list of all decompiler options, sorted by plugin and id, with core decompiler options first.
src/org/jetbrains/java/decompiler/api/DecompilerOption.java