public synchronized void use ( ) { assert ( ! inUse ) ; inUse = true ; compiler = com . sun . tools . javac . api . JavacTool . create ( ) ; fileManager = compiler . getStandardFileManager ( null , null , null ) ; fileManagerBase = ( BaseFileManager ) fileManager ; smartFileManager = new SmartFileManager ( fileManager ) ; context = new Context ( ) ; context . put ( JavaFileManager . class , smartFileManager ) ; ResolveWithDeps . preRegister ( context ) ; JavaCompilerWithDeps . preRegister ( context , this ) ; subTasks = new ArrayList < Future < ? > > ( ) ; }
Prepare the compiler thread for use . It is not yet started . It will be started by the executor service .