logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

CQL::Visitor - visit nodes in a CQL parse tree

Description

       CQL::Visitor provides a simple interface for visiting nodes in your parse tree.  It could be useful if
       you want to do something like change a query like this:

           dc.title=foo and dc.creator=bar

           into

           title=foo and creator=bar

       Or some similar procedure. You simply create a new subclass of CQL::Visitor and override the appropriate
       method, such as term(). Every term that is encountered during the traversal will be handed off to your
       term() method.

       Note: at the moment only term() is supported because that's what was needed, but if you need other ones
       feel free to add them, or ask for them.

Methods

new()visit()
       Call this to traverse your parse tree, starting at the root.

   term()
       Your subclass should override this, and do something meaningful with the CQL::TermNode object.

perl v5.36.0                                       2022-12-11                                  CQL::Visitor(3pm)

Name

       CQL::Visitor - visit nodes in a CQL parse tree

Synopsis

           package MyVisitor;
           use base qw( CQL::Visitor );

           sub term {
               my ($self,$node) = @_;
               # do something to the node
           }

           # later on

           my $parser = CQL::Parser->new();
           my $root = $parser->parse($cql);

           my $visitor = MyVisitor->new();
           $vistor->visit($root);