Go to the documentation of this file.
25 #include "util/util.h"
26 #include "util/logging.h"
27 #include "re2/regexp.h"
28 #include "re2/walker-inl.h"
38 class PCREWalker :
public Regexp::Walker<bool> {
43 bool* child_args,
int nchild_args);
47 #ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
48 LOG(DFATAL) <<
"PCREWalker::ShortVisit called";
62 bool* child_args,
int nchild_args) {
64 for (
int i = 0;
i < nchild_args;
i++)
84 if (re->rune() ==
'\v')
111 return w.Walk(
this,
true);
122 class EmptyStringWalker :
public Regexp::Walker<bool> {
127 bool* child_args,
int nchild_args);
131 #ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
132 LOG(DFATAL) <<
"EmptyStringWalker::ShortVisit called";
147 bool* child_args,
int nchild_args) {
170 for (
int i = 0;
i < nchild_args;
i++)
176 for (
int i = 0;
i < nchild_args;
i++)
183 return child_args[0];
186 return child_args[0] || re->min() == 0;
194 return w.Walk(re,
true);
bool PostVisit(Regexp *re, bool parent_arg, bool pre_arg, bool *child_args, int nchild_args)
PCREWalker & operator=(const PCREWalker &)=delete
EmptyStringWalker & operator=(const EmptyStringWalker &)=delete
static bool CanBeEmptyString(Regexp *re)
bool PostVisit(Regexp *re, bool parent_arg, bool pre_arg, bool *child_args, int nchild_args)
virtual bool ShortVisit(Regexp *re, bool a)
virtual bool ShortVisit(Regexp *re, bool a)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:29