mirror of
https://github.com/zeek/zeek.git
synced 2025-10-15 13:08:20 +00:00
41 lines
749 B
C++
41 lines
749 B
C++
// $Id: TraverseTypes.h 6219 2008-10-01 05:39:07Z vern $
|
|
//
|
|
// See the file "COPYING" in the main distribution directory for copyright.
|
|
|
|
#ifndef statictypes_h
|
|
#define statictypes_h
|
|
|
|
enum TraversalCode {
|
|
TC_CONTINUE = 0,
|
|
TC_ABORTALL = 1,
|
|
TC_ABORTSTMT = 2,
|
|
};
|
|
|
|
#define HANDLE_TC_STMT_PRE(code) \
|
|
{ \
|
|
if ( (code) == TC_ABORTALL || (code) == TC_ABORTSTMT ) \
|
|
return (code); \
|
|
}
|
|
|
|
#define HANDLE_TC_STMT_POST(code) \
|
|
{ \
|
|
if ( (code) == TC_ABORTALL ) \
|
|
return (code); \
|
|
else if ( (code) == TC_ABORTSTMT ) \
|
|
return TC_CONTINUE; \
|
|
else \
|
|
return (code); \
|
|
}
|
|
|
|
#define HANDLE_TC_EXPR_PRE(code) \
|
|
{ \
|
|
if ( (code) != TC_CONTINUE ) \
|
|
return (code); \
|
|
}
|
|
|
|
#define HANDLE_TC_EXPR_POST(code) \
|
|
return (code);
|
|
|
|
class TraversalCallback;
|
|
|
|
#endif
|