ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pointerrule.h
Go to the documentation of this file.
1 
2 #ifndef BDWY_POINTERRULE_H
3 #define BDWY_POINTERRULE_H
4 
5 typedef std::list< pointerRuleAnn * > pointerrule_list;
6 typedef pointerrule_list::iterator pointerrule_list_p;
7 typedef pointerrule_list::const_iterator pointerrule_list_cp;
8 
9 
14 class pointerRuleAnn : public Ann
15 {
16 private:
17 
23 
29 
37 
43 
44  public:
45 
51 
55 
58  inline bool has_condition() const { return _condition != 0; }
59 
62  inline exprAnn * condition() const { return _condition; }
63 
66  inline structuretree_list * effects_tree() const { return _effects_tree; }
67 
72  inline structure_list & effects() { return _effects; }
73 
79 #ifdef __PROCLOCATION
80  void test(procLocation * where,
81  propertyAnalyzer * property_analyzer);
82 #endif
83 
85  bool is_condition_true() const { return _is_condition_true; }
86 
89  void lookup(procedureAnn * procedure,
90  Annotations * annotations);
91 
92  private:
93  // DQ (9/13/2011): This copy constructor was built because static analysis tools (made it private to force compile time error if used).
95  pointerRuleAnn(const pointerRuleAnn & X);
96 
97 };
98 
99 #endif /* BDWY_POINTERRULE_H */