public ProcessReplacementsVisitorChain(IReplacementSource source, IReplacementListener listener, bool isPostOrder = false) { ExpressionReplacementsVisitor = new ProcessExpressionReplacementsVisitor(source, listener); StatementReplacementsVisitor = new ProcessStatementReplacementsVisitor(source, listener); TopLevelStatementReplacementsVisitor = new ProcessTopLevelStatementReplacementsVisitor(source, listener); ReplacementVisitor = new SyntaxTreeDelegator(); ReplacementVisitor.ExpressionVisitor = ExpressionReplacementsVisitor; ReplacementVisitor.StatementVisitor = StatementReplacementsVisitor; ReplacementVisitor.TopLevelVisitor = TopLevelStatementReplacementsVisitor; ChildrenVisitor = new SyntaxTreeDelegator(); ExpressionChildrenVisitor = new ExpressionChildrenVisitor( preOrderVisitor: isPostOrder ? null : ReplacementVisitor, postOrderVisitor: isPostOrder ? ReplacementVisitor : null, childrenVisitor: ChildrenVisitor); StatementChildrenVisitor = new StatementChildrenVisitor(ReplacementVisitor, ChildrenVisitor); TopLevelStatementChildrenVisitor = new TopLevelStatementChildrenVisitor(ReplacementVisitor, ChildrenVisitor); ChildrenVisitor.ExpressionVisitor = ExpressionChildrenVisitor; ChildrenVisitor.StatementVisitor = StatementChildrenVisitor; ChildrenVisitor.TopLevelVisitor = TopLevelStatementChildrenVisitor; }
public ProcessTopLevelStatementReplacementsVisitor(IReplacementSource replacementSource, IReplacementListener listener) { _processor = new ReplacementProcessor(replacementSource, listener); }
public ReplacementProcessor(IReplacementSource replacementSource, IReplacementListener listener) { _replacementSource = replacementSource; _listener = listener; }
public ProcessExpressionReplacementsVisitor(IReplacementSource replacementSource, IReplacementListener listener) { _processor = new ReplacementProcessor(replacementSource, listener); }
public ProcessParseTreeReplacementsVisitor(IReplacementSource replacementSource, IReplacementListener listener) { _processor = new ReplacementProcessor(replacementSource, listener); }