From 76977635e28e06192a486a9452e03bc7b8f612dc Mon Sep 17 00:00:00 2001 From: Teddy Date: Sun, 11 Aug 2013 22:25:22 +0800 Subject: fixed severe bug in many special opts --- model.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'model.h') 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 -- cgit v1.2.3