1
#ifndef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
2
#define __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
3
#define __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_inc_Puma_Signature_h__
9
typedef const char* Type;
10
enum JPType { CALL = 0x0004, EXECUTION = 0x0008, CONSTRUCTION = 0x0010, DESTRUCTION = 0x0020 };
12
void **_args; void *_result; void *_target; void *_that; void *_fptr;
13
void (*_wrapper)(Action &);
14
inline void trigger () { _wrapper (*this); }
16
struct AnyResultBuffer {};
17
template <typename T> struct ResultBuffer : public AnyResultBuffer {
18
char _data[sizeof (T)];
19
~ResultBuffer () { ((T*)_data)->T::~T(); }
20
operator T& () const { return *(T*)_data; }
22
template <typename T, typename N> struct TL {
23
typedef T type; typedef N next; enum { ARGS = next::ARGS + 1 };
25
struct TLE { enum { ARGS = 0 }; };
26
template <typename T> struct Referred { typedef T type; };
27
template <typename T> struct Referred<T &> { typedef T type; };
28
template <typename TL, int I> struct Arg {
29
typedef typename Arg<typename TL::next, I - 1>::Type Type;
30
typedef typename Referred<Type>::type ReferredType;
32
template <typename TL> struct Arg<TL, 0> {
33
typedef typename TL::type Type;
34
typedef typename Referred<Type>::type ReferredType;
36
template <class Aspect, int Index>
38
static int &instance () {
39
static int counter = 0;
42
CFlow () { instance ()++; }
43
~CFlow () { instance ()--; }
44
static bool active () { return instance () > 0; }
47
inline void * operator new (__SIZE_TYPE__, AC::AnyResultBuffer *p) { return p; }
48
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
51
#endif // __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
53
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Signature.h"
54
// This file is part of PUMA.
55
// Copyright (C) 1999-2003 The PUMA developer team.
57
// This program is free software; you can redistribute it and/or
58
// modify it under the terms of the GNU General Public License as
59
// published by the Free Software Foundation; either version 2 of
60
// the License, or (at your option) any later version.
62
// This program is distributed in the hope that it will be useful,
63
// but WITHOUT ANY WARRANTY; without even the implied warranty of
64
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
65
// GNU General Public License for more details.
67
// You should have received a copy of the GNU General Public
68
// License along with this program; if not, write to the Free
69
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
72
#ifndef __Signature_h__
73
#define __Signature_h__
75
#include "Puma/Array.h"
81
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/Signature.h"
86
class WinImportHandler;
90
class WinMemberExplSpec;
91
class WinTypeKeywords;
94
class ExtACBuilderCoupling;
95
class ExtACSyntaxCoupling;
99
class PragmaOnceUnitState;
104
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Signature.h"
106
#line 107 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/Signature.h"
107
friend class ::CCExprResolve;
108
friend class ::CExprResolve;
109
friend class ::WinIfExists;
110
friend class ::WinImportHandler;
111
friend class ::WinMacros;
112
friend class ::WinAsm;
113
friend class ::WinDeclSpecs;
114
friend class ::WinMemberExplSpec;
115
friend class ::WinTypeKeywords;
116
friend class ::WinFriend;
117
friend class ::ExtAC;
118
friend class ::ExtACBuilderCoupling;
119
friend class ::ExtACSyntaxCoupling;
120
friend class ::ExtACTree;
121
friend class ::ExtACKeywords;
122
friend class ::ExtGnu;
123
friend class ::PragmaOnceUnitState;
124
friend class ::PragmaOnce;
125
friend class ::CMatchSyntax;
127
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Signature.h"
131
Array<const char*> _argv;
135
static void translate_multiword_identifiers (char *);
136
void parse (const char *);
139
Signature (const char *);
143
const char *argv (int);
151
#endif /* __Signature_h__ */
153
#line 154 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/Signature.h"
155
#ifdef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_inc_Puma_Signature_h__
156
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
157
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
158
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
159
#include "CCExprResolveCC.ah"
161
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
162
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
163
#include "ExtACTree.ah"
165
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
166
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
170
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
171
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
172
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
173
#include "CCExprResolveH.ah"
176
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
177
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
178
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
179
#include "CExprResolveCC.ah"
181
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
182
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
183
#include "ExtACTree.ah"
185
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
186
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
190
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
191
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
192
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
193
#include "CExprResolveH.ah"
196
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
197
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
198
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
199
#include "WinIfExists.ah"
202
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
203
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
204
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
205
#include "WinImportHandler.ah"
208
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
209
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
210
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
211
#include "WinMacros.ah"
213
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
214
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
215
#include "PragmaOnceUnitState.ah"
218
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
219
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
220
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
223
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
224
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
225
#include "ExtACTree.ah"
228
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
229
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
230
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
231
#include "WinDeclSpecs.ah"
234
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
235
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
236
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
237
#include "WinMemberExplSpec.ah"
240
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
241
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
242
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
243
#include "WinTypeKeywords.ah"
246
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
247
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
248
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
249
#include "WinFriend.ah"
252
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
253
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
254
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
257
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
258
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
259
#include "ExtACTree.ah"
261
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
262
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
263
#include "ExtACKeywords.ah"
265
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
266
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
269
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
270
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
271
#include "PragmaOnceUnitState.ah"
273
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
274
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
275
#include "CMatchSyntax.ah"
278
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
279
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
280
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
281
#include "ExtACBuilderH.ah"
284
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
285
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
286
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
287
#include "ExtACBuilderCC.ah"
289
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
290
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
291
#include "ExtACTree.ah"
294
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
295
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
296
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
297
#include "ExtACSyntaxH.ah"
300
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
301
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
302
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
303
#include "ExtACSyntaxCC.ah"
306
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
307
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
308
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
309
#include "ExtACTree.ah"
312
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
313
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
314
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
315
#include "ExtACKeywords.ah"
317
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
318
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
319
#include "PragmaOnceUnitState.ah"
322
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
323
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
324
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
325
#include "ExtACTree.ah"
327
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
328
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
332
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
333
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
334
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
335
#include "ExtACTree.ah"
337
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
338
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
339
#include "ExtGnuCSemDeclSpecs.ah"
342
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
343
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
344
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
345
#include "PragmaOnceUnitState.ah"
348
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
349
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
350
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
351
#include "PragmaOnceUnitState.ah"
353
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
354
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
355
#include "PragmaOnce.ah"
358
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
359
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
360
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
361
#include "TraceSyntax.ah"
364
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
365
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
366
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
367
#include "CMatchSyntax.ah"
370
#undef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
371
#undef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_inc_Puma_Signature_h__
372
#endif // __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_inc_Puma_Signature_h__