@Override public void call(SourceUnit source, GeneratorContext context, ClassNode classNode) throws CompilationFailedException { ImportCustomizer importCustomizer = new SmartImportCustomizer(source); ClassNode mainClassNode = MainClass.get(source.getAST().getClasses()); // Additional auto configuration for (CompilerAutoConfiguration autoConfiguration : GroovyCompiler.this.compilerAutoConfigurations) { if (autoConfiguration.matches(classNode)) { if (GroovyCompiler.this.configuration.isGuessImports()) { autoConfiguration.applyImports(importCustomizer); importCustomizer.call(source, context, classNode); } if (classNode.equals(mainClassNode)) { autoConfiguration.applyToMainClass(GroovyCompiler.this.loader, GroovyCompiler.this.configuration, context, source, classNode); } autoConfiguration.apply(GroovyCompiler.this.loader, GroovyCompiler.this.configuration, context, source, classNode); } } importCustomizer.call(source, context, classNode); }