aboutsummaryrefslogtreecommitdiff
path: root/model.h
diff options
context:
space:
mode:
authorTeddy <ted.sybil@gmail.com>2013-08-11 22:25:22 +0800
committerTeddy <ted.sybil@gmail.com>2013-08-11 22:25:22 +0800
commit76977635e28e06192a486a9452e03bc7b8f612dc (patch)
treec8eaf0c22f1516bb88c2a21661a3bc2b8eadd2c6 /model.h
parentab3a756ccb788487136d6982a7ddf6d4053ec133 (diff)
fixed severe bug in many special opts
Diffstat (limited to 'model.h')
-rw-r--r--model.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/model.h b/model.h
index 6f4dfd5..7fb9fc8 100644
--- a/model.h
+++ b/model.h
@@ -89,6 +89,8 @@ class EvalObj : public FrameObj {
bool is_str_obj();
/** Check if the object is a promise */
bool is_prom_obj();
+ /** Check if the object is a vector */
+ bool is_vect_obj();
int get_otype();
virtual void prepare(Pair *pc);
/** Any EvalObj has its external representation */
@@ -99,4 +101,16 @@ class EvalObj : public FrameObj {
virtual ReprCons *get_repr_cons() = 0;
};
+/** @class RetAddr
+ * Tracking the caller's Pair pointer
+ */
+class RetAddr : public FrameObj {/*{{{*/
+ public:
+ Pair* addr; /**< The return address */
+ Pair* state;
+ /** Constructs a return address object which refers to the node addr in
+ * the AST */
+ RetAddr(Pair *addr, Pair *state = NULL);
+};/*}}}*/
+
#endif