Skip to content

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

Open
@bishabosha

Description

@bishabosha

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions