public static Class<?> eval(Code code, String fileName) {
        File root = new File(isWindows()? "C:\\" : "/tmp/java-fun/");
        File sourceFile = new File(root, fileName + ".java");
        root.mkdirs();
        
        try {
            FileUtils.write(sourceFile, code.wrappedCode);
        } catch (IOException e) {
            e.printStackTrace();
        }

        JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler();
        javaCompiler.run(null, null, null, sourceFile.getPath());
        
        URLClassLoader urlClassLoader = null;
        try {
            urlClassLoader = URLClassLoader.newInstance(new URL[] { root.toURI().toURL() });
        } catch (MalformedURLException e1) {
            e1.printStackTrace();
        }
        try {
            return Class.forName(fileName, true, urlClassLoader);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    }