Description
TL;DR in theory IntelliJ's sbt compiler should not be working in Scala 2 because generatedNonLocalClass
is not called, but in reality it does work, which might mean there is a bug (e.g. maybe assuming all classes are Local classes?)
Problem
it used to be the case that generatedNonLocalClass
is called in "xsbt-analyzer"
phase, which always runs when the bridge wraps the compiler - even if AnalysisCallback
is disabled (enabled == false
).
in sbt/zinc#582 (in 2018) this call was moved to the "xsbt-api"
phase, which only runs when the AnalysisCallback
is enabled (enabled == true
).
however it seems that perhaps classes that should be generatedNonLocalClass
are actually being reported as generatedLocalClass
- cc @lrytz, @vasilmkd and @Gedochao
this investigation is prompted by discussion on scala/scala3#21179 where I raised the point that in theory Scala 3 copied the behaviour of Scala 2 by moving generatedNonLocalClass
calls to ExtractAPI, but in practice it behaves differently