protected void compile(String source, ClassType projectionType, String[] names, Type[] types,
                           String id, Map<String, Object> constants) throws IOException {
        // create source
        source = createSource(source, projectionType, names, types, id, constants);

        // compile
        SimpleJavaFileObject javaFileObject = new MemSourceFileObject(id, source);
        Writer out = new StringWriter();

        CompilationTask task = compiler.getTask(out, fileManager, null, compilationOptions, null,
                Collections.singletonList(javaFileObject));
        if (!task.call().booleanValue()) {
            throw new CodegenException("Compilation of " + source + " failed.\n" + out.toString());
        }
    }
JDKEvaluatorFactory is a factory implementation for creating Evaluator instances

@author tiwe
querydsl-codegen-utils/src/main/java/com/querydsl/codegen/utils/JDKEvaluatorFactory.java