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 QoreValue exp, where_exp, sort_ascending, sort_descending;
73 LVList* lvars =
nullptr;
75 DLLLOCAL ContextStatement(
int start_line,
int end_line,
char* n,
QoreValue expr, ContextModList* cm,
77 DLLLOCAL
virtual ~ContextStatement();
80 DLLLOCAL
virtual bool hasFinalReturn()
const {
84 DLLLOCAL
virtual void parseCommit(
QoreProgram* pgm);
88 DLLLOCAL
virtual int parseInitImpl(QoreParseContext& parse_context);
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:48
supports parsing and executing Qore-language code, reference counted, dynamically-allocated only
Definition: QoreProgram.h:127
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:275
DLLEXPORT void discard(ExceptionSink *xsink)
dereferences any contained AbstractQoreNode pointer and sets to 0; does not modify other values