diff --git a/SyntaxTree/tree/BaseEnterExitVisitor.cs b/SyntaxTree/tree/BaseEnterExitVisitor.cs new file mode 100644 index 000000000..123d5e9c5 --- /dev/null +++ b/SyntaxTree/tree/BaseEnterExitVisitor.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using PascalABCCompiler; +using PascalABCCompiler.SyntaxTree; + +namespace PascalABCCompiler.SyntaxTree +{ + public class BaseEnterExitVisitor: WalkingVisitorNew + { + public BaseEnterExitVisitor() + { + OnEnter = Enter; + OnLeave = Exit; + } + + public virtual void Enter(syntax_tree_node st) + { + } + public virtual void Exit(syntax_tree_node st) + { + } + } +} diff --git a/_ParsePABC1/ParsePABC1/ProcessYieldsCapturedVars.cs b/_ParsePABC1/ParsePABC1/ProcessYieldsCapturedVars.cs index 83dcb65ea..c37864255 100644 --- a/_ParsePABC1/ParsePABC1/ProcessYieldsCapturedVars.cs +++ b/_ParsePABC1/ParsePABC1/ProcessYieldsCapturedVars.cs @@ -54,7 +54,8 @@ namespace ParsePABC1 foreach (var m in fields) cm.Add(m); cm.Add(pd); - return new type_declaration(newClassName(), SyntaxTreeBuilder.BuildClassDefinition(cm), SyntaxTreeBuilder.BuildGenSC); + var td = new type_declaration(newClassName(), SyntaxTreeBuilder.BuildClassDefinition(cm), SyntaxTreeBuilder.BuildGenSC); + return td; } public override void visit(procedure_definition pd)