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

« back to all changes in this revision

Viewing changes to Puma/src/aspects/ExtACBuilderCC.ah

  • 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:
29
29
slice
30
30
bool ExtACBuilder::is_advice_decl () const {
31
31
  return (nodes () == 1 && 
32
 
          get_node ()->NodeName () == CT_AdviceDecl::NodeId ());
 
32
          get_node ()->NodeName () == Puma::CT_AdviceDecl::NodeId ());
33
33
}
34
34
 
35
35
slice
36
 
CTree *ExtACBuilder::advice_decl () { 
 
36
Puma::CTree *ExtACBuilder::advice_decl () { 
37
37
  // 3: ADVICE decl_list pointcut
38
38
  // 4: ADVICE :  decl pointcut
39
39
  return nodes () == 3 ?
40
 
    new CT_AdviceDecl (get_node (0), get_node (2), 0, get_node (1)) :
41
 
    new CT_AdviceDecl (get_node (0), get_node (3), get_node (1), get_node (2));
 
40
    new Puma::CT_AdviceDecl (get_node (0), get_node (2), 0, get_node (1)) :
 
41
    new Puma::CT_AdviceDecl (get_node (0), get_node (3), get_node (1), get_node (2));
42
42
}
43
43
 
44
44
slice
45
 
CTree *ExtACBuilder::order_list () { 
 
45
Puma::CTree *ExtACBuilder::order_list () { 
46
46
  // 2 + N: ( pointcut-expr-seq )
47
 
  return list (new CT_OrderList);
 
47
  return list (new Puma::CT_OrderList);
48
48
}
49
49
 
50
50
slice
51
 
CTree *ExtACBuilder::order_decl () {
 
51
Puma::CTree *ExtACBuilder::order_decl () {
52
52
  // 3: ORDER order_list ;
53
 
  return new CT_OrderDecl (get_node (0), get_node (1), get_node (2));
 
53
  return new Puma::CT_OrderDecl (get_node (0), get_node (1), get_node (2));
54
54
}
55
55
 
56
56
slice
57
 
CTree *ExtACBuilder::pointcut_decl () { 
 
57
Puma::CTree *ExtACBuilder::pointcut_decl () { 
58
58
  // 1: POINTCUT  decl
59
 
  return new CT_PointcutDecl (get_node (0), get_node (1));
 
59
  return new Puma::CT_PointcutDecl (get_node (0), get_node (1));
60
60
}
61
61
 
62
62
slice
63
 
CTree *ExtACBuilder::slice_ref () {
 
63
Puma::CTree *ExtACBuilder::slice_ref () {
64
64
  // 3: SLICE                        unqual_id  ;
65
65
  // 4: SLICE  ::                    unqual_id  ;
66
66
  // 4: SLICE      nested_name_spec  unqual_id  ;
67
67
  // 5: SLICE  ::  nested_name_spec  unqual_id  ;
68
 
  CT_QualName *qn = 0;
 
68
  Puma::CT_QualName *qn = 0;
69
69
  int num = nodes ();
70
70
  if (num == 3) {
71
71
    // 3: SLICE unqual_id ;
72
72
  }
73
73
  else if (num == 4) {
74
 
    if (get_node (1)->NodeName () == Container::NodeId ()) {
 
74
    if (get_node (1)->NodeName () == Builder::Container::NodeId ()) {
75
75
      // 4: SLICE nested_name_spec unqual_id ;
76
 
      Container *nns = (Container*)get_node (1);
77
 
      qn = new CT_QualName (nns->Sons ()+1);
 
76
      Builder::Container *nns = (Builder::Container*)get_node (1);
 
77
      qn = new Puma::CT_QualName (nns->Sons ()+1);
78
78
      copy_list (qn, nns);
79
79
      qn->AddSon (get_node (2));
80
80
      delete nns;
81
81
    }
82
82
    else {
83
83
      // 4: SLICE  :: unqual_id ;
84
 
      qn = new CT_RootQualName (2);
 
84
      qn = new Puma::CT_RootQualName (2);
85
85
      qn->AddSon (get_node (1));
86
86
      qn->AddSon (get_node (2));
87
87
    }
88
88
  }
89
89
  else if (num == 5) {
90
90
    // 5: SLICE  ::  nested_name_spec  unqual_id  ;
91
 
    Container *nns = (Container*)get_node (2);
92
 
    qn = new CT_RootQualName (nns->Sons ()+2);
 
91
    Builder::Container *nns = (Builder::Container*)get_node (2);
 
92
    qn = new Puma::CT_RootQualName (nns->Sons ()+2);
93
93
    qn->AddSon (get_node (1));
94
94
    copy_list (qn, nns);
95
95
    qn->AddSon (get_node (3));
96
96
    delete nns;
97
97
  }
98
 
  return new CT_SliceRef (get_node (0), qn ? (CTree*)qn : get_node (1),
 
98
  return new Puma::CT_SliceRef (get_node (0), qn ? (Puma::CTree*)qn : get_node (1),
99
99
    get_node (num-1));
100
100
}
101
101
 
102
102
slice
103
 
CTree *ExtACBuilder::class_slice_decl () {
 
103
Puma::CTree *ExtACBuilder::class_slice_decl () {
104
104
  // 1: SLICE class_key class_slice_name base_clause? memb_list? ;
105
105
  int n = nodes ();
106
 
  bool has_base = (get_node (3)->NodeName () == CT_Intro::NodeId ());
107
 
  bool has_members = (get_node (n - 2)->NodeName () == CT_MembList::NodeId ());
108
 
  return new CT_ClassSliceDecl (get_node (0), get_node (1), get_node (2),
109
 
    has_base ? get_node (3) : (CTree*)0,
110
 
    has_members ? get_node (nodes () - 2) : (CTree*)0,
 
106
  bool has_base = (get_node (3)->NodeName () == Puma::CT_Intro::NodeId ());
 
107
  bool has_members = (get_node (n - 2)->NodeName () == Puma::CT_MembList::NodeId ());
 
108
  return new Puma::CT_ClassSliceDecl (get_node (0), get_node (1), get_node (2),
 
109
    has_base ? get_node (3) : (Puma::CTree*)0,
 
110
    has_members ? get_node (nodes () - 2) : (Puma::CTree*)0,
111
111
    get_node (n - 1));
112
112
}
113
113
 
114
114
slice
115
 
CTree *ExtACBuilder::class_slice_name () {
 
115
Puma::CTree *ExtACBuilder::class_slice_name () {
116
116
  // 1: identifier
117
117
  // 1: private_name
118
118
  // 2: :: identifier
121
121
  int num = nodes ();
122
122
  if (num == 1)
123
123
    return get_node (0);
124
 
  CT_QualName *qn = 0;
 
124
  Puma::CT_QualName *qn = 0;
125
125
  if (num == 2) {
126
 
    if (get_node (0)->NodeName () == CT_Token::NodeId ()) {
 
126
    if (get_node (0)->NodeName () == Puma::CT_Token::NodeId ()) {
127
127
      // 2: :: identifier
128
 
      qn = new CT_RootQualName (2);
 
128
      qn = new Puma::CT_RootQualName (2);
129
129
      qn->AddSon (get_node (0));
130
130
      qn->AddSon (get_node (1));
131
131
    }
132
132
    else {
133
133
      // 2: nested_name_spec identifier
134
 
      Container *nns = (Container*)get_node (0);
135
 
      qn = new CT_QualName (nns->Sons ()+1);
 
134
      Builder::Container *nns = (Builder::Container*)get_node (0);
 
135
      qn = new Puma::CT_QualName (nns->Sons ()+1);
136
136
      copy_list (qn, nns);
137
137
      qn->AddSon (get_node (1));
138
138
      delete nns;
140
140
  }
141
141
  else if (num == 3) {
142
142
    // 3: :: nested_name_spec identifier
143
 
    Container *nns = (Container*)get_node (1);
144
 
    qn = new CT_RootQualName (nns->Sons () + 2);
 
143
    Builder::Container *nns = (Builder::Container*)get_node (1);
 
144
    qn = new Puma::CT_RootQualName (nns->Sons () + 2);
145
145
    qn->AddSon (get_node (0));
146
146
    copy_list (qn, nns);
147
147
    qn->AddSon (get_node (2));
151
151
}
152
152
 
153
153
slice
154
 
CTree *ExtACBuilder::class_slice_member_list () {
155
 
  CT_MembList *ml = new CT_MembList;
 
154
Puma::CTree *ExtACBuilder::class_slice_member_list () {
 
155
  Puma::CT_MembList *ml = new Puma::CT_MembList;
156
156
  ml->AddSon (get_node (0));
157
157
  for (int i = 1; i < nodes () - 1; i++)
158
158
    ml->AddSon (get_node (i));
159
159
  ml->AddSon (get_node (nodes () - 1));
160
 
  ml->AddProperties (CT_List::OPEN_CLOSE);
 
160
  ml->AddProperties (Puma::CT_List::OPEN_CLOSE);
161
161
  return ml;
162
162
}
163
163
 
164
164
slice
165
 
CTree *ExtACBuilder::class_slice_member_decl () {
 
165
Puma::CTree *ExtACBuilder::class_slice_member_decl () {
166
166
  // 2: SLICE intro
167
 
  CT_Intro *i = (CT_Intro*)get_node (1);
 
167
  Puma::CT_Intro *i = (Puma::CT_Intro*)get_node (1);
168
168
  i->PrefixSon (get_node (0));
169
 
  i->AddProperties (CT_List::OPEN);
 
169
  i->AddProperties (Puma::CT_List::OPEN);
170
170
  return i;
171
171
}
172
172
 
173
173
slice
174
 
CTree *ExtACBuilder::pointcut_expr () { 
 
174
Puma::CTree *ExtACBuilder::pointcut_expr () { 
175
175
  // 1: const_expr
176
176
  return get_node (0);
177
177
}
178
178
 
179
179
slice
180
 
CTree *ExtACBuilder::intro () { 
 
180
Puma::CTree *ExtACBuilder::intro () { 
181
181
  // N: token-seq
182
 
  return list (new CT_Intro);
 
182
  return list (new Puma::CT_Intro);
183
183
}
184
184
 
185
185
#endif /* __ext_ac_builder_cc_ah__ */