59
60
set<PointCutExpr*> _cflow_exprs;
61
void setup (CTranslationUnit& tunit);
62
void scopes (CTranslationUnit& tunit);
63
62
CFunctionInfo *lookup_pointcut(ACAspectInfo *ai, CFunctionInfo *fi);
67
PointCutContext (CTranslationUnit& tunit) :
68
_func (0), _aspect (0), _per_aspect_cflows (0),
66
PointCutContext (JoinPointModel &jpm) :
67
_jpm (jpm), _func (0), _aspect (0), _per_aspect_cflows (0),
69
68
_in_arg (-1), _in_result (false), _in_that (false), _in_target (false),
70
69
_pseudo_true (false) {
74
JoinPointLocList &scopes () { return _world; }
75
JoinPointLocList &world () { return _world; }
72
JoinPointModel &jpm () { return _jpm; }
76
74
CFunctionInfo *func (CFunctionInfo *new_func) {
77
75
CFunctionInfo *result = _func;
81
79
CFunctionInfo *func () const { return _func; }
82
void aspect_info (ACAspectInfo *ai) { _aspect = ai; _per_aspect_cflows = 0; }
83
ACAspectInfo *aspect_info () const { return _aspect; }
80
void concrete_aspect (JPL_Aspect &ai) { _aspect = &ai; _per_aspect_cflows = 0; }
81
// ACAspectInfo *aspect_info () const { return _aspect; }
84
82
CFunctionInfo *lookup_pointcut (CFunctionInfo *func, ErrorStream &err,
86
84
bool in_project (CObjectInfo *obj);