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);
 }
Esempio n. 3
0
 public ReplacementProcessor(IReplacementSource replacementSource, IReplacementListener listener)
 {
     _replacementSource = replacementSource;
     _listener          = listener;
 }
 public ProcessExpressionReplacementsVisitor(IReplacementSource replacementSource, IReplacementListener listener)
 {
     _processor = new ReplacementProcessor(replacementSource, listener);
 }
Esempio n. 5
0
 public ProcessParseTreeReplacementsVisitor(IReplacementSource replacementSource, IReplacementListener listener)
 {
     _processor = new ReplacementProcessor(replacementSource, listener);
 }