|
6 | 6 | using System.Linq.Expressions; |
7 | 7 | using static ExpressionToString.Globals; |
8 | 8 | using static ExpressionToString.Util.Functions; |
9 | | -using static System.Linq.Expressions.ExpressionType; |
10 | 9 | using static ExpressionToString.FormatterNames; |
11 | 10 | using static System.Linq.Expressions.Expression; |
12 | 11 | using System.Collections; |
@@ -145,101 +144,13 @@ private void WriteMethodCall(Expression<Action> expr) { |
145 | 144 | WriteMethodCall(callExpr.Method.Name, pairs.ToList()); |
146 | 145 | } |
147 | 146 |
|
148 | | - static Dictionary<ExpressionType, string> binaryUnaryMethods = new Dictionary<ExpressionType, string>() { |
149 | | - { ExpressionType.Add, "Add" }, |
150 | | - { ExpressionType.AddAssign, "AddAssign" }, |
151 | | - { ExpressionType.AddAssignChecked, "AddAssignChecked" }, |
152 | | - { ExpressionType.AddChecked, "AddChecked" }, |
153 | | - { ExpressionType.And, "And" }, |
154 | | - { ExpressionType.AndAlso, "AndAlso" }, |
155 | | - { ExpressionType.AndAssign, "AndAssign" }, |
156 | | - { ExpressionType.ArrayIndex, "ArrayIndex" }, |
157 | | - { ExpressionType.ArrayLength, "ArrayLength" }, |
158 | | - { ExpressionType.Assign, "Assign" }, |
159 | | - { ExpressionType.Block, "Block" }, |
160 | | - { ExpressionType.Call, "Call" }, |
161 | | - { ExpressionType.Coalesce, "Coalesce" }, |
162 | | - { Conditional, "Conditional" }, |
163 | | - { ExpressionType.Constant, "Constant" }, |
164 | | - { ExpressionType.Convert, "Convert" }, |
165 | | - { ExpressionType.ConvertChecked, "ConvertChecked" }, |
166 | | - { ExpressionType.DebugInfo, "DebugInfo" }, |
167 | | - { ExpressionType.Decrement, "Decrement" }, |
168 | | - { ExpressionType.Default, "Default" }, |
169 | | - { ExpressionType.Divide, "Divide" }, |
170 | | - { ExpressionType.DivideAssign, "DivideAssign" }, |
171 | | - { ExpressionType.Dynamic, "Dynamic" }, |
172 | | - { ExpressionType.Equal, "Equal" }, |
173 | | - { ExpressionType.ExclusiveOr, "ExclusiveOr" }, |
174 | | - { ExpressionType.ExclusiveOrAssign, "ExclusiveOrAssign" }, |
175 | | - { Extension, "Extension" }, |
176 | | - { ExpressionType.Goto, "Goto" }, |
177 | | - { ExpressionType.GreaterThan, "GreaterThan" }, |
178 | | - { ExpressionType.GreaterThanOrEqual, "GreaterThanOrEqual" }, |
179 | | - { ExpressionType.Increment, "Increment" }, |
180 | | - { Index, "Index" }, |
181 | | - { ExpressionType.Invoke, "Invoke" }, |
182 | | - { ExpressionType.IsFalse, "IsFalse" }, |
183 | | - { ExpressionType.IsTrue, "IsTrue" }, |
184 | | - { ExpressionType.Label, "Label" }, |
185 | | - { ExpressionType.Lambda, "Lambda" }, |
186 | | - { ExpressionType.LeftShift, "LeftShift" }, |
187 | | - { ExpressionType.LeftShiftAssign, "LeftShiftAssign" }, |
188 | | - { ExpressionType.LessThan, "LessThan" }, |
189 | | - { ExpressionType.LessThanOrEqual, "LessThanOrEqual" }, |
190 | | - { ExpressionType.ListInit, "ListInit" }, |
191 | | - { ExpressionType.Loop, "Loop" }, |
192 | | - { MemberAccess, "MemberAccess" }, |
193 | | - { ExpressionType.MemberInit, "MemberInit" }, |
194 | | - { ExpressionType.Modulo, "Modulo" }, |
195 | | - { ExpressionType.ModuloAssign, "ModuloAssign" }, |
196 | | - { ExpressionType.Multiply, "Multiply" }, |
197 | | - { ExpressionType.MultiplyAssign, "MultiplyAssign" }, |
198 | | - { ExpressionType.MultiplyAssignChecked, "MultiplyAssignChecked" }, |
199 | | - { ExpressionType.MultiplyChecked, "MultiplyChecked" }, |
200 | | - { ExpressionType.Negate, "Negate" }, |
201 | | - { ExpressionType.NegateChecked, "NegateChecked" }, |
202 | | - { ExpressionType.New, "New" }, |
203 | | - { ExpressionType.NewArrayBounds, "NewArrayBounds" }, |
204 | | - { ExpressionType.NewArrayInit, "NewArrayInit" }, |
205 | | - { ExpressionType.Not, "Not" }, |
206 | | - { ExpressionType.NotEqual, "NotEqual" }, |
207 | | - { ExpressionType.OnesComplement, "OnesComplement" }, |
208 | | - { ExpressionType.Or, "Or" }, |
209 | | - { ExpressionType.OrAssign, "OrAssign" }, |
210 | | - { ExpressionType.OrElse, "OrElse" }, |
211 | | - { ExpressionType.Parameter, "Parameter" }, |
212 | | - { ExpressionType.PostDecrementAssign, "PostDecrementAssign" }, |
213 | | - { ExpressionType.PostIncrementAssign, "PostIncrementAssign" }, |
214 | | - { ExpressionType.Power, "Power" }, |
215 | | - { ExpressionType.PowerAssign, "PowerAssign" }, |
216 | | - { ExpressionType.PreDecrementAssign, "PreDecrementAssign" }, |
217 | | - { ExpressionType.PreIncrementAssign, "PreIncrementAssign" }, |
218 | | - { ExpressionType.Quote, "Quote" }, |
219 | | - { ExpressionType.RightShift, "RightShift" }, |
220 | | - { ExpressionType.RightShiftAssign, "RightShiftAssign" }, |
221 | | - { ExpressionType.RuntimeVariables, "RuntimeVariables" }, |
222 | | - { ExpressionType.Subtract, "Subtract" }, |
223 | | - { ExpressionType.SubtractAssign, "SubtractAssign" }, |
224 | | - { ExpressionType.SubtractAssignChecked, "SubtractAssignChecked" }, |
225 | | - { ExpressionType.SubtractChecked, "SubtractChecked" }, |
226 | | - { ExpressionType.Switch, "Switch" }, |
227 | | - { ExpressionType.Throw, "Throw" }, |
228 | | - { Try, "Try" }, |
229 | | - { ExpressionType.TypeAs, "TypeAs" }, |
230 | | - { ExpressionType.TypeEqual, "TypeEqual" }, |
231 | | - { ExpressionType.TypeIs, "TypeIs" }, |
232 | | - { ExpressionType.UnaryPlus, "UnaryPlus" }, |
233 | | - { ExpressionType.Unbox, "Unbox" }, |
234 | | - }; |
235 | | - |
236 | 147 | protected override void WriteBinary(BinaryExpression expr) { |
237 | | - if (!binaryUnaryMethods.TryGetValue(expr.NodeType, out var name)) { throw new InvalidOperationException($"Method not found for '{expr.NodeType}' node type"); } |
| 148 | + if (!BinaryUnaryMethods.TryGetValue(expr.NodeType, out var name)) { throw new InvalidOperationException($"Method not found for '{expr.NodeType}' node type"); } |
238 | 149 | WriteMethodCall(name, new[] { ("Left", expr.Left), ("Right", expr.Right) }); |
239 | 150 | } |
240 | 151 |
|
241 | 152 | protected override void WriteUnary(UnaryExpression expr) { |
242 | | - if (!binaryUnaryMethods.TryGetValue(expr.NodeType, out var name)) { throw new InvalidOperationException($"Method not found for '{expr.NodeType}' node type"); } |
| 153 | + if (!BinaryUnaryMethods.TryGetValue(expr.NodeType, out var name)) { throw new InvalidOperationException($"Method not found for '{expr.NodeType}' node type"); } |
243 | 154 | switch (expr.NodeType) { |
244 | 155 | case ExpressionType.Convert: |
245 | 156 | case ExpressionType.ConvertChecked: |
|
0 commit comments