private Bindable getBindable(ClassDeclaration expr,
String s) throws CompileException, IOException {
if (context.spark().enabled()) {
return context.spark().compile(expr, s);
}
ICompilerFactory compilerFactory;
try {
compilerFactory = CompilerFactoryFactory.getDefaultCompilerFactory();
} catch (Exception e) {
throw new IllegalStateException(
"Unable to instantiate java compiler", e);
}
IClassBodyEvaluator cbe = compilerFactory.newClassBodyEvaluator();
cbe.setClassName(expr.name);
cbe.setExtendedClass(Utilities.class);
cbe.setImplementedInterfaces(new Class[]{Bindable.class, Typed.class});
cbe.setParentClassLoader(getClass().getClassLoader());
if (DEBUG) {