~ubuntu-branches/ubuntu/quantal/aspectc++/quantal

« back to all changes in this revision

Viewing changes to AspectC++/JoinPointPlan.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-04-10 17:40:52 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080410174052-xdnsm7oi8hauyyf1
Tags: 1.0pre4~svn.20080409+dfsg-3
Fix another missing include, this time in Ag++/StdSystem.cc

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
#include "JPAdvice.h"
23
23
#include "AdviceInfo.h"
24
 
#include "IntroductionInfo.h"
25
24
#include "OrderPlanner.h"
26
25
#include "CFlow.h"
27
26
 
33
32
  class CUnit;
34
33
  class ManipCommander;
35
34
  class ACAspectInfo;
 
35
  class ACSliceInfo;
36
36
} // namespace Puma
37
37
 
38
38
class Condition;
39
39
class LineDirectiveMgr;
 
40
class ACUnit;
 
41
class IntroductionUnit;
40
42
 
41
43
// abstract base of all join point plans
42
44
// (referenced by JoinPointLoc)
80
82
};
81
83
 
82
84
class JPP_Class : public JoinPointPlan {
83
 
  Array<IntroductionInfo*> _base;
84
 
  Array<IntroductionInfo*> _other;
85
 
  Array<IntroductionInfo*> _unsorted;
 
85
  Array<JPL_Introduction*> _base;
 
86
  Array<JPL_Introduction*> _other;
 
87
  Array<JPL_Introduction*> _unsorted;
86
88
 
 
89
  void gen_intro_inline (Unit *unit, JPL_Introduction *ii,
 
90
    ACSliceInfo *acsi, ErrorStream &err, LineDirectiveMgr &lmgr,
 
91
    CStructure *target) const;
 
92
  void gen_intro_non_inline (Unit *unit, JPL_Introduction *ii,
 
93
    ACSliceInfo *acsi, ErrorStream &err, LineDirectiveMgr &lmgr,
 
94
    CStructure *target) const;
 
95
  void gen_base_intro (IntroductionUnit &intro_unit,
 
96
    JPL_Introduction *ii, bool first) const;
 
97
  
 
98
  void instantiate_intro (ErrorStream &err, Unit *unit, CT_Intro *intro,
 
99
    const Unit &pattern, CStructure *target, Location &loc) const;
 
100
  
87
101
 public:
88
102
  // consider an introduction in the plan for this class join point
89
 
  bool consider (IntroductionInfo *ii);
90
 
  void issue (IntroductionInfo *ii);
91
 
 
 
103
  bool consider (JPL_Introduction *ii);
 
104
  void issue (JPL_Introduction*ii);
92
105
  bool check(ErrorSink &err);
93
106
 
94
107
  int baseIntros () const { return _base.length (); }
95
 
  IntroductionInfo *baseIntro (int i) const { return _base.lookup (i); }
96
 
  string gen_baseclass_list () const;
 
108
  JPL_Introduction *baseIntro (int i) const { return _base.lookup (i); }
 
109
 
97
110
  int otherIntros () const { return _other.length (); }
98
 
  IntroductionInfo *otherIntro (int i) const { return _other.lookup (i); }
99
 
  Unit *gen_intro (ErrorStream &err, CStructure *target,
100
 
    LineDirectiveMgr &lmgr) const;
101
 
  void instantiate_intro (ErrorStream &err, Unit *unit, CT_Intro *intro,
102
 
    const Unit &pattern, Unit &target_name, Location &loc) const;
103
 
  
 
111
  JPL_Introduction *otherIntro (int i) const { return _other.lookup (i); }
 
112
 
 
113
  void gen_intros (list<Unit*> &units, ErrorStream &err, 
 
114
    CStructure *target, LineDirectiveMgr &lmgr, bool non_inline = false) const;
 
115
  void gen_base_intros (list<Unit*> &units, ErrorStream &err,
 
116
    CClassInfo *target, LineDirectiveMgr &lmgr) const;
104
117
};
105
118
 
106
119
#endif // __JoinPointPlan_h__