public AstNode Optimize(AstNode astNode) { //if (AstNode != null) { //Console.WriteLine("Optimize.AstNode: {0}", AstNode); astNode.TransformNodes(Optimize); var astNodeType = astNode.GetType(); if (_generateMappings.ContainsKey(astNodeType)) { astNode = (AstNode)_generateMappings[astNodeType].Invoke(this, new object[] { astNode }); } else { //throw(new NotImplementedException(String.Format("Don't know how to optimize {0}", AstNodeType))); } } return(astNode); }
public AstNode Optimize(AstNode AstNode) { //if (AstNode != null) { //Console.WriteLine("Optimize.AstNode: {0}", AstNode); AstNode.TransformNodes(Optimize); var AstNodeType = AstNode.GetType(); if (GenerateMappings.ContainsKey(AstNodeType)) { AstNode = (AstNode)GenerateMappings[AstNodeType].Invoke(this, new[] { AstNode }); } else { //throw(new NotImplementedException(String.Format("Don't know how to optimize {0}", AstNodeType))); } } return AstNode; }