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
In the HoistSuperArgs phase we have established which tree should be
hoisted, and replace all references in the Tree with params that are
accessible in the hoisted tree.
When the Tree contains an anonymous class without parameters,
the paramSyms of that class refer to the created 'fresh' super symbol
(e.g. `B$superArg$1`), while the RefTree symbol belongs to the
superclass `B`.
This meant that the conditional was never satisfied, and the type was
never replaced by the primary constructor argument of the generated
superArg class.
In the current design `treeMap` is called before `typeMap` on a given
tree, thus the code in `treeMap` was never executed.
This is mitigated by rewriting the check, to only take params or
accessors into account in the scope of the hoisted tree.
0 commit comments