@Nonnull
	@Override
	public DecompileResult decompileInternal(@Nonnull Workspace workspace, @Nonnull JvmClassInfo info) {
		Fernflower fernflower = new Fernflower(dummySaver, config.getFernflowerProperties(), logger);

		try {
			ClassSource source = new ClassSource(workspace, info);
			fernflower.addSource(source);
			fernflower.addLibrary(new LibrarySource(workspace, info));
			fernflower.decompileContext();

			String decompiled = source.getSink().getDecompiledOutput().get();

			if (decompiled == null || decompiled.isEmpty()) {
				return new DecompileResult(new IllegalStateException("Missing decompilation output"), config.getHash());
			}

			return new DecompileResult(decompiled, config.getHash());
		} catch (Exception e) {
			return new DecompileResult(e, config.getHash());
		}
	}
New Vineflower decompiler instance.

@param config
		Decompiler configuration.
recaf-core/src/main/java/software/coley/recaf/services/decompile/vineflower/VineflowerDecompiler.java