Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zinc Bridge does not report generatedNonLocalClass if callback is not enabled. #13020

Open
bishabosha opened this issue Jul 15, 2024 · 0 comments

Comments

@bishabosha
Copy link
Member

bishabosha commented Jul 15, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant