bug
bug copied to clipboard
Zinc Bridge does not report `generatedNonLocalClass` if callback is not enabled.
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 https://github.com/sbt/zinc/pull/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 https://github.com/scala/scala3/issues/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