Every temporary variable allocated is put in a PatternVar.
Given a tree, creates a new synthetic variable of the same type and assigns the tree to it.
Creates a new synthetic variable of the specified type and assigns the result of f(symbol) to it.
Sets the rhs to EmptyTree, which makes the valDef ignored in Scrutinee.