I am not working on an Eclipse plug-in project; however, I use an external library that generates an instance of org.eclipse.jdt.core.dom.CompilationUnit. Is there a way to generate Java bytecode from it?
Some searching revealed that CompilationUnit's are typically built by registering a custom builder for the Eclipse project, then letting eclipse invoke it... but I couldn't find any way to leverage that for a stand-alone application.
The Partial Program Analysis for Java tool can, theoretically, do this, by using the PPAUtil
class:
PPAUtil.compileCU(myCompilationUnit, baseOutputFolder)
Though in practice it only expects CompilationUnit
instances it creates by itself with PPAUtil.getCU(file, options, reqName, false)
, so I don't know if it will work on a CompilationUnit
instance not produced this way.