Package org.agrona.generation
Class CompilerUtil
java.lang.Object
org.agrona.generation.CompilerUtil
Utilities for compiling Java source files at runtime.
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleancompile(DiagnosticCollector<JavaFileObject> diagnostics, JavaCompiler.CompilationTask task) Execute compilation task and report errors if it fails.static Class<?>compileAndLoad(String className, DiagnosticCollector<JavaFileObject> diagnostics, JavaFileManager fileManager, JavaCompiler.CompilationTask task) Compile and load a class.static Class<?>compileInMemory(String className, Map<String, CharSequence> sources)
-
Method Details
-
compileInMemory
public static Class<?> compileInMemory(String className, Map<String, CharSequence> sources) throws ClassNotFoundException- Parameters:
className- to return after compilation.sources- to be compiled.- Returns:
- the named class that is the result of the compilation.
- Throws:
ClassNotFoundException- of the named class cannot be found.
-
compileAndLoad
public static Class<?> compileAndLoad(String className, DiagnosticCollector<JavaFileObject> diagnostics, JavaFileManager fileManager, JavaCompiler.CompilationTask task) throws ClassNotFoundException Compile and load a class.- Parameters:
className- name of the class to compile.diagnostics- attached to the compilation task.fileManager- to load compiled class from disk.task- compilation task.- Returns:
Classfor the compiled class ornullif compilation fails.- Throws:
ClassNotFoundException- if compiled class was not loaded.
-
compile
public static boolean compile(DiagnosticCollector<JavaFileObject> diagnostics, JavaCompiler.CompilationTask task) Execute compilation task and report errors if it fails.- Parameters:
diagnostics- attached to the compilation task.task- compilation to be executed.- Returns:
trueif compilation succeeds.
-