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

Avoid stackoverflow in ExplicitOuter #16381

Merged
merged 1 commit into from
Nov 19, 2022
Merged

Commits on Nov 19, 2022

  1. Avoid stackoverflow in ExplicitOuter

    When transforming a class at ExplicitOuter we create outer accessors for it.
    The newSymbol call to do this takes place at phase ExplicitOuter + 1, but
    its arguments need to be evaluated at phase ExplicitOuter. This was not true
    for the nestingLevel argument, which demanded the denotation of the class
    at phase ExplicitOuter + 1, thus leading to the SO.
    
    Interestingly, the same path is not taken if the class has all abstract members defined
    or is declared abstract. It's only in the error case that I could reproduce the SO.
    odersky committed Nov 19, 2022
    Configuration menu
    Copy the full SHA
    e92dd4d View commit details
    Browse the repository at this point in the history