case classReplacements(map: Map[Ast, Ast]) extends Product with Serializable
When doing beta reductions, the Opinions of AST elements need to be set to their
neutral positions.
For example, the Property AST element has a field
called renameable which dicatates whether to use a NamingStrategy
during tokenization in SqlIdiom (and other idioms) or not. Since this property
only does things after Normalization, it should be completely transparent to
beta reduction (all AST Opinion's have the same behavior).
This is why we need to automatically set the renameable field to
a pre-defined value every time Property is looked up. This is
done via the Ast.neutralize method.
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
When doing beta reductions, the Opinions of AST elements need to be set to their neutral positions.
For example, the
Property
AST element has a field calledrenameable
which dicatates whether to use aNamingStrategy
during tokenization inSqlIdiom
(and other idioms) or not. Since this property only does things after Normalization, it should be completely transparent to beta reduction (all AST Opinion's have the same behavior). This is why we need to automatically set therenameable
field to a pre-defined value every timeProperty
is looked up. This is done via theAst.neutralize
method.