Class CompilerJavac
- java.lang.Object
-
- io.github.mkoncek.classpathless.impl.CompilerJavac
-
- All Implemented Interfaces:
ClasspathlessCompiler
public class CompilerJavac extends java.lang.Object implements ClasspathlessCompiler
An implementation using javax.tools compiler API
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
CompilerJavac.DiagnosticToMessagesListener
-
Nested classes/interfaces inherited from interface io.github.mkoncek.classpathless.api.ClasspathlessCompiler
ClasspathlessCompiler.Arguments
-
-
Field Summary
Fields Modifier and Type Field Description private ClasspathlessCompiler.Arguments
arguments
private javax.tools.JavaCompiler
compiler
private InMemoryFileManager
fileManager
private SourcePostprocessor
postprocessor
-
Constructor Summary
Constructors Constructor Description CompilerJavac()
CompilerJavac(ClasspathlessCompiler.Arguments arguments)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<IdentifiedBytecode>
compileClass(ClassesProvider classprovider, java.util.Optional<MessagesListener> messagesConsumer, IdentifiedSource... javaSourceFiles)
private static ClassIdentifier
getIdentifier(javax.tools.JavaFileObject object)
void
setPostProcessor(SourcePostprocessor postprocessor)
-
-
-
Field Detail
-
compiler
private javax.tools.JavaCompiler compiler
-
fileManager
private InMemoryFileManager fileManager
-
arguments
private ClasspathlessCompiler.Arguments arguments
-
postprocessor
private SourcePostprocessor postprocessor
-
-
Constructor Detail
-
CompilerJavac
public CompilerJavac(ClasspathlessCompiler.Arguments arguments)
-
CompilerJavac
public CompilerJavac()
-
-
Method Detail
-
getIdentifier
private static ClassIdentifier getIdentifier(javax.tools.JavaFileObject object)
-
setPostProcessor
public void setPostProcessor(SourcePostprocessor postprocessor)
-
compileClass
public java.util.Collection<IdentifiedBytecode> compileClass(ClassesProvider classprovider, java.util.Optional<MessagesListener> messagesConsumer, IdentifiedSource... javaSourceFiles)
- Specified by:
compileClass
in interfaceClasspathlessCompiler
- Parameters:
classprovider
- Provider for missing elements on the classpath.messagesConsumer
- Accepts any diagnostic or logging information from the compiler.javaSourceFiles
- Files to compile.- Returns:
- Compiled bytecode of all javaSourceFiles.
-
-