pascalabcnet/Yield/YieldConversionSyntax/YieldDesugarSyntaxTreeConverter.cs

40 lines
1.2 KiB
C#
Raw Normal View History

2016-05-19 02:14:06 +03:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PascalABCCompiler.SyntaxTree;
using SyntaxVisitors;
using PascalABCCompiler.SyntaxTreeConverters;
namespace YieldDesugarSyntaxTreeConverter
{
// Он перестал быть нужен, поскольку код YieldDesugarSyntaxTreeConverter.Convert был явно добавлен в StandardSyntaxTreeConverter.Convert
// Со временем этот проект надо исключить из решения, а YieldConversionSyntax.dll - исключить из инсталлята
2016-05-19 02:14:06 +03:00
public class YieldDesugarSyntaxTreeConverter : ISyntaxTreeConverter
{
public string Name { get; } = "YieldDesugar";
public syntax_tree_node Convert(syntax_tree_node root)
2016-05-19 02:14:06 +03:00
{
root.visit(new MarkMethodHasYieldAndCheckSomeErrorsVisitor());
2016-08-20 11:55:59 +03:00
ProcessYieldCapturedVarsVisitor.New.ProcessNode(root);
2016-06-11 13:25:29 +03:00
#if DEBUG
2016-07-19 23:07:47 +03:00
try
{
2017-04-28 22:41:40 +03:00
//root.visit(new SimplePrettyPrinterVisitor(@"d:\\zzz3.txt"));
2016-07-19 23:07:47 +03:00
}
catch
{
}
#endif
2016-06-11 13:25:29 +03:00
2016-05-19 02:14:06 +03:00
return root;
}
}
}