code: @Override
      public Analysis performCompile( CompilerConfiguration configuration )
          throws CompilerException
      {
          CompilerLogger logger = configuration.getLogger();
          SBT012Logger sbtLogger = new SBT012Logger( logger );
          Setup setup =
              Setup.create( configuration.getScalaCompilerFile(), configuration.getScalaLibraryFile(),
                            configuration.getScalaExtraJarFiles(), configuration.getXsbtiFile(),
                            configuration.getCompilerInterfaceSrcFile(), null/* , FORK_JAVA */ );
          if ( logger.isDebugEnabled() )
          {
              Setup.debug( setup, sbtLogger );
          }
          Compiler compiler = Compiler.create( setup, sbtLogger );
  
          Inputs inputs =
              Inputs.create( configuration.getClasspathFiles(), configuration.getSourceFiles(),
                             configuration.getOutputDirectory(), resolveScalacOptions( configuration ),
                             resolveJavacOptions( configuration ), configuration.getAnalysisCacheFile(),
                             configuration.getAnalysisCacheMap(), SBT012Compiler.COMPILE_ORDER,
                             /* getIncOptions(), */logger.isDebugEnabled() /* mirrorAnalysisCache */ );
          if ( configuration.getSourcePositionMapper() != null )
          {
              logger.warn( "Source position mappers not supported" );
          }
          if ( logger.isDebugEnabled() )
          {
              Inputs.debug( inputs, sbtLogger );
          }
  
          try
          {
              return new SBT012Analysis( compiler.compile( inputs, sbtLogger ) );
          }
          catch ( CompileFailed e )
          {
              CompilationProblem[] problems = getScalacProblems( e.problems() );
              if ( problems.length == 0 )
              {
                  String[] consoleErrorLines = sbtLogger.getConsoleErrorLines();
                  problems = getJavacProblems( consoleErrorLines );
              }
  
              throw new CompilerException( "Scala compilation failed", e, problems );
          }
      }
docs: {@inheritDoc}