/// <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());
        }
示例#2
0
        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;
 }