/// <summary> /// Migrates old method names to new names based on priorNameHints from LibraryServices /// </summary> /// <param name="astNodes"></param> /// <param name="priorNames">dictionary of old names vs. new names for node migration</param> /// <param name="logWarningHandler"></param> /// <returns>migrated AST nodes after method renaming</returns> public static IEnumerable <Node> MigrateMethodNames(IEnumerable <Node> astNodes, IDictionary <string, string> priorNames, LogWarningHandler logWarningHandler) { var rewriter = new MigrationRewriter(priorNames, logWarningHandler); return(astNodes.OfType <AssociativeNode>().Select(astNode => astNode.Accept(rewriter)).Cast <Node>().ToList()); }
internal static void LogWaring(string log) { Console.WriteLine(log); if (LogWarningHandler != null) { LogWarningHandler.Invoke(log); } }
private MigrationRewriter(IDictionary <string, string> priorNames, LogWarningHandler logWarningHandler) { this.priorNames = priorNames; this.logWarningHandler = logWarningHandler; }