The Kotlin compiler uses PSI classes too, don’t it? So how does the Kotlin compiler create the psi classes? Do you really run a headless IntelliJ instance? The custom language plugin tutorial and its parsers heavily based on virtual files and IntelliJ project service 🤔