32 #ifndef _QORE_CONTEXTSTATEMENT_H
34 #define _QORE_CONTEXTSTATEMENT_H
36 #include "qore/intern/AbstractStatement.h"
38 #include <qore/safe_dslist>
51 DLLLOCAL ContextMod(
int t,
QoreValue e) : type(t), exp(e) {
54 DLLLOCAL ~ContextMod() {
59 typedef safe_dslist<ContextMod*> cxtmod_list_t;
61 class ContextModList :
public cxtmod_list_t {
63 DLLLOCAL ContextModList(ContextMod *cm);
64 DLLLOCAL ~ContextModList();
65 DLLLOCAL
void addContextMod(ContextMod *cm);
68 class ContextStatement :
public AbstractStatement {
71 DLLLOCAL
virtual int parseInitImpl(LocalVar *oflag,
int pflag = 0);
75 QoreValue exp, where_exp, sort_ascending, sort_descending;
77 LVList* lvars =
nullptr;
79 DLLLOCAL ContextStatement(
int start_line,
int end_line,
char* n,
QoreValue expr, ContextModList* cm, StatementBlock* cd);
80 DLLLOCAL
virtual ~ContextStatement();
83 DLLLOCAL
virtual bool hasFinalReturn()
const {
86 DLLLOCAL
virtual void parseCommit(
QoreProgram* pgm);