public static ICode V(ICode ast) {
     var nowReplace = new Dictionary<ExprVar, ExprVarLocal>();
     for (; ; ) {
         var v = new VisitorTypeCorrector {
             nowReplace = nowReplace
         };
         ast = v.Visit(ast);
         if (!v.toReplace.Any()) {
             return ast;
         }
         nowReplace = v.toReplace;
     }
 }
Пример #2
0
        public static ICode V(ICode ast)
        {
            var nowReplace = new Dictionary <ExprVar, ExprVarLocal>();

            for (; ;)
            {
                var v = new VisitorTypeCorrector {
                    nowReplace = nowReplace
                };
                ast = v.Visit(ast);
                if (!v.toReplace.Any())
                {
                    return(ast);
                }
                nowReplace = v.toReplace;
            }
        }