scala.tools.nsc.typechecker.MethodSynthesis.MethodSynth
type completer for the synthetic member.
The derived symbol.
The derived symbol. It is assumed that this symbol already exists and has been entered in the parent scope when derivedSym is called
The definition tree of the derived symbol.
The flags that the derived symbol has in addition to those retained from the original symbol
The flags that are retained from the original symbol
The name of the method
The tree from which we are deriving a synthetic member.
The tree from which we are deriving a synthetic member. Typically, that's given as an argument of the instance.
This trait assembles what's needed for synthesizing derived methods. Important: Typically, instances of this trait are created TWICE for each derived symbol; once form Namers in an enter method, and once from Typers in addDerivedTrees. So it's important that creating an instance of Derived does not have a side effect, or if it has a side effect, control that it is done only once.