An interface for compilers which instrument some sources before the compilation starts. Note that it's better to perform compilation-related
tasks inside inside a separate (external) build process, see
this guide
for details. If you really need to perform the instrumentation inside the IDE process (e.g. because it operates on PSI structures),
implement this interface and register the implementation in plugin.xml:
<extensions defaultExtensionNs="com.intellij">
<compiler implementation="qualified-class-name"/>
</extensions>