You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Before the change, given the following code
class A extends App
The compiler will generate the following setter in the phase Mixin:
scala[Qualified $ App][Qualified $_setter_$ scala$App$$initCode_=]
After the change, the following setter is generated instead:
scala[Qualified $ App][Qualified $$ initCode_=]
The former will cause a problem in the phase Memoize in the line below:
val field = sym.field.orElse(newField).asTerm
The problem is that, for the setter, `sym.field` will be unable to
find the field generated by the getter below, due to the name mismatch:
scala[Qualified $ App][Qualified $$ initCode][Suffix $$local]
Consequently, the method `newField` will be called to create another
field symbol without corresponding trees.
This fix avoids generate a phantom symbol without corresponding trees.
0 commit comments