Microsoft.CodeAnalysis.Simplification Namespace

Classes

SimplificationOptions

Contains the options that needs to be drilled down to the Simplification Engine

Simplifier

Expands and Reduces subtrees.

Expansion: 1) Makes inferred names explicit (on anonymous types and tuples). 2) Replaces names with fully qualified dotted names. 3) Adds parentheses around expressions 4) Adds explicit casts/conversions where implicit conversions exist 5) Adds escaping to identifiers 6) Rewrites extension method invocations with explicit calls on the class containing the extension method.

Reduction: 1) Shortens dotted names to their minimally qualified form 2) Removes unnecessary parentheses 3) Removes unnecessary casts/conversions 4) Removes unnecessary escaping 5) Rewrites explicit calls to extension methods to use dot notation 6) Removes unnecessary tuple element names and anonymous type member names