sinterface IResourceLoader { S loadSnippet(S snippetID); S getTranspiled(S snippetID); // with libs int getSnippetType(S snippetID); S getSnippetTitle(S snippetID); File loadLibrary(S snippetID); ifndef NoJavaXJar default File pathToJavaXJar() { ret pathToJavaxJar_noResourceLoader(); endifndef } // may return null, then caller compiles themselves default File getSnippetJar(S snippetID, S transpiledSrc) { null; } }