~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to projectmanagers/cmake/parser/cmakeast.h

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2010-05-05 07:21:55 UTC
  • mfrom: (1.2.3 upstream) (5.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100505072155-h78lx19pu04sbhtn
Tags: 4:4.0.0-2
* Upload to unstable (Closes: #579947, #481832).
* Acknowledge obsolete NMU fixes (Closes: #562410, #546961).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* KDevelop CMake Support
 
2
 *
 
3
 * Copyright 2006 Matt Rogers <mattr@kde.org>
 
4
 * Copyright 2007 Aleix Pol <aleixpol@gmail.com>
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or
 
7
 * modify it under the terms of the GNU General Public License
 
8
 * as published by the Free Software Foundation; either version 2
 
9
 * of the License, or (at your option) any later version.
 
10
 *
 
11
 * This program is distributed in the hope that it will be useful,
 
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
 * GNU General Public License for more details.
 
15
 *
 
16
 * You should have received a copy of the GNU General Public License
 
17
 * along with this program; if not, write to the Free Software
 
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 
19
 * 02110-1301, USA.
 
20
 */
 
21
 
 
22
#ifndef CMAKEAST_H
 
23
#define CMAKEAST_H
 
24
 
 
25
#include <QtCore/QList>
 
26
#include <QtCore/QString>
 
27
#include <QtCore/QStringList>
 
28
 
 
29
#include "cmakeexport.h"
 
30
#include "cmakelistsparser.h"
 
31
#include "cmakeastvisitor.h"
 
32
#include "cmaketypes.h"
 
33
 
 
34
class KDEVCMAKECOMMON_EXPORT CMakeAst /*Should considerate making it abstract. */
 
35
{
 
36
    public:
 
37
        CMakeAst() : m_line(-1) { }
 
38
        virtual ~CMakeAst() { /*qDeleteAll( m_children );*/ }
 
39
        
 
40
        virtual int accept(CMakeAstVisitor * v) const { return v->visit(this); }
 
41
    
 
42
        /**
 
43
        * Writes the information stored in the Ast into the @p buffer.
 
44
        * All Asts that are a child of this Ast are written back as well.
 
45
        */
 
46
        virtual bool isDeprecated() const { return false; }
 
47
    
 
48
        virtual bool parseFunctionInfo( const CMakeFunctionDesc& )=0;
 
49
    
 
50
        int line() const { return m_line; }
 
51
        const CMakeFileContent & content() const { return m_content; }
 
52
        void setContent(const CMakeFileContent &cont, int nline=0) { m_content=cont; m_line=nline; }
 
53
        const QList<CMakeFunctionArgument> & outputArguments() const { return m_outputArguments; }
 
54
    private:
 
55
        CMakeAst( const CMakeAst&  ) {}
 
56
        
 
57
        QList<CMakeFunctionArgument> m_outputArguments;
 
58
        CMakeFileContent m_content;
 
59
 
 
60
        int m_line;
 
61
    protected:
 
62
        void addOutputArgument(const CMakeFunctionArgument& arg) { m_outputArguments.append(arg); }
 
63
};
 
64
 
 
65
#define CMAKE_REGISTER_AST( klassName, astId ) namespace {                 \
 
66
        CMakeAst* Create##klassName() { return new klassName; }            \
 
67
        bool b_##astId = AstFactory::self()->registerAst( QLatin1String( #astId ), Create##klassName ); }
 
68
 
 
69
#define CMAKE_BEGIN_AST_CLASS( klassName ) class klassName : public CMakeAst {  \
 
70
    public:                                                  \
 
71
        klassName();                                         \
 
72
       ~klassName();                                         \
 
73
                                                             \
 
74
        virtual int accept(CMakeAstVisitor * visitor) const { return visitor->visit(this); } \
 
75
        virtual bool parseFunctionInfo( const CMakeFunctionDesc& );
 
76
 
 
77
#define CMAKE_ADD_AST_MEMBER( returnType, returnName )             \
 
78
    public:                                                         \
 
79
        returnType returnName() const { return m_##returnName; }    \
 
80
    private:                                                        \
 
81
        returnType m_##returnName;
 
82
 
 
83
#define CMAKE_MARK_AS_DEPRECATED() virtual bool isDeprecated() const { return true; }
 
84
 
 
85
#define CMAKE_END_AST_CLASS( klassName ) };
 
86
 
 
87
CMAKE_BEGIN_AST_CLASS( CustomCommandAst )
 
88
    enum BuildStage {
 
89
        PreBuild,
 
90
        PreLink,
 
91
        PostBuild };
 
92
 
 
93
    CMAKE_ADD_AST_MEMBER( bool, isForTarget )
 
94
    CMAKE_ADD_AST_MEMBER( QString, targetName )
 
95
    CMAKE_ADD_AST_MEMBER( BuildStage, buildStage )
 
96
    CMAKE_ADD_AST_MEMBER( QStringList, outputs )
 
97
    CMAKE_ADD_AST_MEMBER( QStringList, commands )
 
98
    CMAKE_ADD_AST_MEMBER( QString, mainDependency )    
 
99
    CMAKE_ADD_AST_MEMBER( QStringList, otherDependencies )
 
100
    CMAKE_ADD_AST_MEMBER( QString, workingDirectory )
 
101
    CMAKE_ADD_AST_MEMBER( QString, comment )
 
102
    CMAKE_ADD_AST_MEMBER( QString, source )
 
103
    CMAKE_ADD_AST_MEMBER( bool, isVerbatim )
 
104
    CMAKE_ADD_AST_MEMBER( bool, append )
 
105
CMAKE_END_AST_CLASS( CustomCommandAst )
 
106
 
 
107
CMAKE_BEGIN_AST_CLASS( MacroCallAst )
 
108
CMAKE_ADD_AST_MEMBER( QString, name )
 
109
CMAKE_ADD_AST_MEMBER( QStringList, arguments )
 
110
CMAKE_END_AST_CLASS( MacroCallAst )
 
111
 
 
112
CMAKE_BEGIN_AST_CLASS( CustomTargetAst )
 
113
typedef QMap<QString, QStringList> cmdAndArgs; //Just to make preprocessor not to cry
 
114
CMAKE_ADD_AST_MEMBER( QString, target )
 
115
CMAKE_ADD_AST_MEMBER( bool, buildAlways )
 
116
CMAKE_ADD_AST_MEMBER( cmdAndArgs, commandArgs )
 
117
CMAKE_ADD_AST_MEMBER( QStringList, dependencies )
 
118
CMAKE_ADD_AST_MEMBER( QString, workingDir )
 
119
CMAKE_ADD_AST_MEMBER( QString, comment )
 
120
CMAKE_ADD_AST_MEMBER( bool, isVerbatim )
 
121
CMAKE_END_AST_CLASS( CustomTargetAst )
 
122
 
 
123
CMAKE_BEGIN_AST_CLASS( AddDefinitionsAst )
 
124
CMAKE_ADD_AST_MEMBER( QStringList, definitions )
 
125
CMAKE_END_AST_CLASS( AddDefinitionsAst )
 
126
 
 
127
CMAKE_BEGIN_AST_CLASS( AddDependenciesAst )
 
128
CMAKE_ADD_AST_MEMBER( QString, target )
 
129
CMAKE_ADD_AST_MEMBER( QStringList, dependencies )
 
130
CMAKE_END_AST_CLASS( AddDependenciesAst )
 
131
 
 
132
CMAKE_BEGIN_AST_CLASS( AddExecutableAst )
 
133
CMAKE_ADD_AST_MEMBER( QString, executable )
 
134
CMAKE_ADD_AST_MEMBER( bool, isWin32 )
 
135
CMAKE_ADD_AST_MEMBER( bool, isOsXBundle )
 
136
CMAKE_ADD_AST_MEMBER( bool, excludeFromAll )
 
137
CMAKE_ADD_AST_MEMBER( bool, isImported )
 
138
CMAKE_ADD_AST_MEMBER( QStringList, sourceLists )
 
139
CMAKE_END_AST_CLASS( AddExecutableAst )
 
140
 
 
141
CMAKE_BEGIN_AST_CLASS( AddLibraryAst )
 
142
enum LibraryType {Shared, Static, Module, Unknown};
 
143
CMAKE_ADD_AST_MEMBER( QString, libraryName )
 
144
CMAKE_ADD_AST_MEMBER( LibraryType, type )
 
145
CMAKE_ADD_AST_MEMBER( bool, isImported )
 
146
CMAKE_ADD_AST_MEMBER( bool, excludeFromAll )
 
147
CMAKE_ADD_AST_MEMBER( QStringList, sourceLists )
 
148
static QMap<QString, LibraryType> s_typeForName;
 
149
CMAKE_END_AST_CLASS( AddLibraryAst )
 
150
 
 
151
CMAKE_BEGIN_AST_CLASS( AddSubdirectoryAst )
 
152
CMAKE_ADD_AST_MEMBER( QString, sourceDir )
 
153
CMAKE_ADD_AST_MEMBER( QString, binaryDir )
 
154
CMAKE_ADD_AST_MEMBER( bool, excludeFromAll )
 
155
CMAKE_END_AST_CLASS( AddSubdirectoryAst )
 
156
 
 
157
 
 
158
CMAKE_BEGIN_AST_CLASS( AddTestAst )
 
159
CMAKE_ADD_AST_MEMBER( QString, testName )
 
160
CMAKE_ADD_AST_MEMBER( QString, exeName )
 
161
CMAKE_ADD_AST_MEMBER( QStringList, testArgs )
 
162
CMAKE_END_AST_CLASS( AddTestAst )
 
163
 
 
164
 
 
165
CMAKE_BEGIN_AST_CLASS( AuxSourceDirectoryAst )
 
166
CMAKE_ADD_AST_MEMBER( QString, dirName )
 
167
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
168
CMAKE_END_AST_CLASS( AuxSourceDirectoryAst )
 
169
 
 
170
 
 
171
CMAKE_BEGIN_AST_CLASS( BuildCommandAst )
 
172
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
173
CMAKE_ADD_AST_MEMBER( QString, makeCommand )
 
174
CMAKE_END_AST_CLASS( BuildCommandAst )
 
175
 
 
176
 
 
177
CMAKE_BEGIN_AST_CLASS( BuildNameAst )
 
178
CMAKE_ADD_AST_MEMBER( QString, buildName )
 
179
CMAKE_END_AST_CLASS( BuildNameAst )
 
180
 
 
181
 
 
182
CMAKE_BEGIN_AST_CLASS( CMakeMinimumRequiredAst )
 
183
CMAKE_ADD_AST_MEMBER( QList<int>, version )
 
184
CMAKE_ADD_AST_MEMBER( bool, wrongVersionIsFatal )
 
185
CMAKE_END_AST_CLASS( CMakeMinimumRequiredAst )
 
186
 
 
187
 
 
188
CMAKE_BEGIN_AST_CLASS( ConfigureFileAst )
 
189
CMAKE_ADD_AST_MEMBER( QString, inputFile )
 
190
CMAKE_ADD_AST_MEMBER( QString, outputFile )
 
191
CMAKE_ADD_AST_MEMBER( bool, copyOnly )
 
192
CMAKE_ADD_AST_MEMBER( bool, escapeQuotes )
 
193
CMAKE_ADD_AST_MEMBER( bool, atsOnly )
 
194
CMAKE_ADD_AST_MEMBER( bool, immediate )
 
195
CMAKE_END_AST_CLASS( ConfigureFileAst )
 
196
 
 
197
 
 
198
CMAKE_BEGIN_AST_CLASS( CreateTestSourcelistAst )
 
199
CMAKE_ADD_AST_MEMBER( QString, name )
 
200
CMAKE_ADD_AST_MEMBER( QString, driverName )
 
201
CMAKE_ADD_AST_MEMBER( QStringList, tests )
 
202
CMAKE_ADD_AST_MEMBER( QStringList, extraIncludes )
 
203
CMAKE_ADD_AST_MEMBER( QString, function )
 
204
CMAKE_END_AST_CLASS( CreateTestSourcelistAst )
 
205
 
 
206
 
 
207
CMAKE_BEGIN_AST_CLASS( EnableLanguageAst )
 
208
CMAKE_ADD_AST_MEMBER( QString, language )
 
209
CMAKE_END_AST_CLASS( EnableLanguageAst )
 
210
 
 
211
 
 
212
CMAKE_BEGIN_AST_CLASS( EnableTestingAst )
 
213
CMAKE_END_AST_CLASS( EnableTestingAst )
 
214
 
 
215
 
 
216
CMAKE_BEGIN_AST_CLASS( ExecProgramAst )
 
217
CMAKE_MARK_AS_DEPRECATED()
 
218
CMAKE_ADD_AST_MEMBER( QString, executableName )
 
219
CMAKE_ADD_AST_MEMBER( QString, workingDirectory )
 
220
CMAKE_ADD_AST_MEMBER( QStringList, arguments )
 
221
CMAKE_ADD_AST_MEMBER( QString, outputVariable )
 
222
CMAKE_ADD_AST_MEMBER( QString, returnValue )
 
223
CMAKE_END_AST_CLASS( ExecProgramAst )
 
224
 
 
225
 
 
226
CMAKE_BEGIN_AST_CLASS( ExecuteProcessAst )
 
227
CMAKE_ADD_AST_MEMBER( QList<QStringList>, commands )
 
228
CMAKE_ADD_AST_MEMBER( QString, resultVariable )
 
229
CMAKE_ADD_AST_MEMBER( QString, outputVariable )
 
230
CMAKE_ADD_AST_MEMBER( QString, errorVariable )
 
231
CMAKE_ADD_AST_MEMBER( QString, inputFile )
 
232
CMAKE_ADD_AST_MEMBER( QString, outputFile )
 
233
CMAKE_ADD_AST_MEMBER( QString, errorFile )
 
234
CMAKE_ADD_AST_MEMBER( QString, workingDirectory )
 
235
CMAKE_ADD_AST_MEMBER( float, timeout )
 
236
CMAKE_ADD_AST_MEMBER( bool, isOutputQuiet )
 
237
CMAKE_ADD_AST_MEMBER( bool, isErrorQuiet )
 
238
CMAKE_ADD_AST_MEMBER( bool, isOutputStrip )
 
239
CMAKE_ADD_AST_MEMBER( bool, isErrorStrip )
 
240
CMAKE_END_AST_CLASS( ExecuteProcessAst )
 
241
 
 
242
 
 
243
CMAKE_BEGIN_AST_CLASS( ExportLibraryDepsAst )
 
244
CMAKE_MARK_AS_DEPRECATED()
 
245
CMAKE_ADD_AST_MEMBER( QString, file )
 
246
CMAKE_ADD_AST_MEMBER( bool, append )
 
247
CMAKE_END_AST_CLASS( ExportLibraryDepsAst )
 
248
 
 
249
 
 
250
CMAKE_BEGIN_AST_CLASS( FileAst )
 
251
enum TypeFile { Write, Append, Read, Glob, GlobRecurse, Remove, RemoveRecurse,
 
252
            MakeDirectory, RelativePath, ToCmakePath, ToNativePath, Strings, Download };
 
253
CMAKE_ADD_AST_MEMBER( TypeFile, type )
 
254
CMAKE_ADD_AST_MEMBER( QString, path )
 
255
CMAKE_ADD_AST_MEMBER( QString, variable )
 
256
CMAKE_ADD_AST_MEMBER( QString, directory )
 
257
CMAKE_ADD_AST_MEMBER( QString, message )
 
258
CMAKE_ADD_AST_MEMBER( QStringList, globbingExpressions )
 
259
CMAKE_ADD_AST_MEMBER( QStringList, directories )
 
260
 
 
261
CMAKE_ADD_AST_MEMBER( KUrl, url )
 
262
CMAKE_ADD_AST_MEMBER( int, timeout )
 
263
 
 
264
CMAKE_ADD_AST_MEMBER( int, limitCount )
 
265
CMAKE_ADD_AST_MEMBER( int, limitInput )
 
266
CMAKE_ADD_AST_MEMBER( int, limitOutput )
 
267
CMAKE_ADD_AST_MEMBER( int, lengthMinimum )
 
268
CMAKE_ADD_AST_MEMBER( int, lengthMaximum )
 
269
CMAKE_ADD_AST_MEMBER( bool, newlineConsume )
 
270
CMAKE_ADD_AST_MEMBER( bool, noHexConversion )
 
271
CMAKE_ADD_AST_MEMBER( QString, regex )
 
272
CMAKE_END_AST_CLASS( FileAst )
 
273
 
 
274
 
 
275
CMAKE_BEGIN_AST_CLASS( FindFileAst )
 
276
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
277
CMAKE_ADD_AST_MEMBER( QStringList, filenames )
 
278
CMAKE_ADD_AST_MEMBER( QStringList, path )
 
279
CMAKE_ADD_AST_MEMBER( QStringList, hints )
 
280
CMAKE_ADD_AST_MEMBER( QStringList, pathSuffixes )
 
281
CMAKE_ADD_AST_MEMBER( QString, documentation )
 
282
 
 
283
CMAKE_ADD_AST_MEMBER( bool, noDefaultPath )
 
284
CMAKE_ADD_AST_MEMBER( bool, noCmakeEnvironmentPath )
 
285
CMAKE_ADD_AST_MEMBER( bool, noCmakePath )
 
286
CMAKE_ADD_AST_MEMBER( bool, noSystemEnvironmentPath )
 
287
CMAKE_ADD_AST_MEMBER( bool, noCmakeSystemPath )
 
288
CMAKE_END_AST_CLASS( FindFileAst )
 
289
 
 
290
 
 
291
CMAKE_BEGIN_AST_CLASS( FindLibraryAst )
 
292
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
293
CMAKE_ADD_AST_MEMBER( QStringList, filenames )
 
294
CMAKE_ADD_AST_MEMBER( QStringList, path )
 
295
CMAKE_ADD_AST_MEMBER( QStringList, hints )
 
296
CMAKE_ADD_AST_MEMBER( QStringList, pathSuffixes )
 
297
CMAKE_ADD_AST_MEMBER( QString, documentation )
 
298
 
 
299
CMAKE_ADD_AST_MEMBER( bool, noDefaultPath )
 
300
CMAKE_ADD_AST_MEMBER( bool, noCmakeEnvironmentPath )
 
301
CMAKE_ADD_AST_MEMBER( bool, noCmakePath )
 
302
CMAKE_ADD_AST_MEMBER( bool, noSystemEnvironmentPath )
 
303
CMAKE_ADD_AST_MEMBER( bool, noCmakeSystemPath )
 
304
CMAKE_END_AST_CLASS( FindLibraryAst )
 
305
 
 
306
 
 
307
CMAKE_BEGIN_AST_CLASS( FindPackageAst ) //FIXME: there are things that I don't understand
 
308
CMAKE_ADD_AST_MEMBER( QString, name )
 
309
CMAKE_ADD_AST_MEMBER( QString, version )
 
310
CMAKE_ADD_AST_MEMBER( bool, isQuiet )
 
311
CMAKE_ADD_AST_MEMBER( bool, noModule )
 
312
CMAKE_ADD_AST_MEMBER( bool, isRequired )
 
313
CMAKE_END_AST_CLASS( FindPackageAst )
 
314
 
 
315
 
 
316
CMAKE_BEGIN_AST_CLASS( FindPathAst )
 
317
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
318
CMAKE_ADD_AST_MEMBER( QStringList, filenames )
 
319
CMAKE_ADD_AST_MEMBER( QStringList, path )
 
320
CMAKE_ADD_AST_MEMBER( QStringList, hints )
 
321
CMAKE_ADD_AST_MEMBER( QStringList, pathSuffixes )
 
322
CMAKE_ADD_AST_MEMBER( QString, documentation )
 
323
 
 
324
CMAKE_ADD_AST_MEMBER( bool, noDefaultPath )
 
325
CMAKE_ADD_AST_MEMBER( bool, noCmakeEnvironmentPath )
 
326
CMAKE_ADD_AST_MEMBER( bool, noCmakePath )
 
327
CMAKE_ADD_AST_MEMBER( bool, noSystemEnvironmentPath )
 
328
CMAKE_ADD_AST_MEMBER( bool, noCmakeSystemPath )
 
329
CMAKE_END_AST_CLASS( FindPathAst )
 
330
 
 
331
 
 
332
CMAKE_BEGIN_AST_CLASS( FindProgramAst )
 
333
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
334
CMAKE_ADD_AST_MEMBER( QStringList, filenames )
 
335
CMAKE_ADD_AST_MEMBER( QStringList, path )
 
336
CMAKE_ADD_AST_MEMBER( QStringList, hints )
 
337
CMAKE_ADD_AST_MEMBER( QStringList, pathSuffixes )
 
338
CMAKE_ADD_AST_MEMBER( QString, documentation )
 
339
 
 
340
CMAKE_ADD_AST_MEMBER( bool, noDefaultPath )
 
341
CMAKE_ADD_AST_MEMBER( bool, noCmakeEnvironmentPath )
 
342
CMAKE_ADD_AST_MEMBER( bool, noCmakePath )
 
343
CMAKE_ADD_AST_MEMBER( bool, noSystemEnvironmentPath )
 
344
CMAKE_ADD_AST_MEMBER( bool, noCmakeSystemPath )
 
345
CMAKE_END_AST_CLASS( FindProgramAst )
 
346
 
 
347
 
 
348
CMAKE_BEGIN_AST_CLASS( FltkWrapUiAst )
 
349
CMAKE_END_AST_CLASS( FltkWrapUiAst )
 
350
 
 
351
 
 
352
CMAKE_BEGIN_AST_CLASS( ForeachAst )
 
353
    struct rangeValues { int start, stop, step; };
 
354
CMAKE_ADD_AST_MEMBER( QString, loopVar )
 
355
CMAKE_ADD_AST_MEMBER( rangeValues, ranges )
 
356
CMAKE_ADD_AST_MEMBER( QStringList, arguments )
 
357
CMAKE_ADD_AST_MEMBER( bool, range )
 
358
CMAKE_END_AST_CLASS( ForeachAst )
 
359
 
 
360
 
 
361
CMAKE_BEGIN_AST_CLASS( GetCMakePropertyAst )
 
362
        enum PropertyType { Variables, CacheVariables, Commands, Macros };
 
363
CMAKE_ADD_AST_MEMBER( PropertyType, type )
 
364
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
365
CMAKE_END_AST_CLASS( GetCMakePropertyAst )
 
366
 
 
367
 
 
368
CMAKE_BEGIN_AST_CLASS( SetPropertyAst )
 
369
CMAKE_ADD_AST_MEMBER( PropertyType, type )
 
370
CMAKE_ADD_AST_MEMBER( bool, append )
 
371
CMAKE_ADD_AST_MEMBER( QStringList, args )
 
372
CMAKE_ADD_AST_MEMBER( QString, name )
 
373
CMAKE_ADD_AST_MEMBER( QStringList, values )
 
374
CMAKE_END_AST_CLASS( SetPropertyAst )
 
375
 
 
376
 
 
377
CMAKE_BEGIN_AST_CLASS( GetPropertyAst )
 
378
CMAKE_ADD_AST_MEMBER( PropertyType, type )
 
379
CMAKE_ADD_AST_MEMBER( QString, outputVariable )
 
380
CMAKE_ADD_AST_MEMBER( QString, typeName )
 
381
CMAKE_ADD_AST_MEMBER( QString, name )
 
382
 
 
383
enum Behaviour { None, Set, Defined, BriefDocs, FullDocs };
 
384
CMAKE_ADD_AST_MEMBER( Behaviour, behaviour )
 
385
CMAKE_END_AST_CLASS( GetPropertyAst )
 
386
 
 
387
 
 
388
CMAKE_BEGIN_AST_CLASS( GetDirPropertyAst )
 
389
CMAKE_ADD_AST_MEMBER( QString, propName )
 
390
CMAKE_ADD_AST_MEMBER( QString, outputVariable )
 
391
CMAKE_ADD_AST_MEMBER( QString, directory )
 
392
CMAKE_END_AST_CLASS( GetDirPropertyAst )
 
393
 
 
394
 
 
395
CMAKE_BEGIN_AST_CLASS( GetFilenameComponentAst )
 
396
        enum ComponentType { Path, Absolute, Name, Ext, NameWe, Program };
 
397
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
398
CMAKE_ADD_AST_MEMBER( QString, fileName )
 
399
CMAKE_ADD_AST_MEMBER( ComponentType, type )
 
400
CMAKE_ADD_AST_MEMBER( QStringList, programArgs )
 
401
CMAKE_ADD_AST_MEMBER( bool, cache )
 
402
CMAKE_END_AST_CLASS( GetFilenameComponentAst )
 
403
 
 
404
 
 
405
CMAKE_BEGIN_AST_CLASS( GetSourceFilePropAst )
 
406
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
407
CMAKE_ADD_AST_MEMBER( QString, filename )
 
408
CMAKE_ADD_AST_MEMBER( QString, property )
 
409
CMAKE_END_AST_CLASS( GetSourceFilePropAst )
 
410
 
 
411
 
 
412
CMAKE_BEGIN_AST_CLASS( GetTargetPropAst )
 
413
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
414
CMAKE_ADD_AST_MEMBER( QString, target )
 
415
CMAKE_ADD_AST_MEMBER( QString, property )
 
416
CMAKE_END_AST_CLASS( GetTargetPropAst )
 
417
 
 
418
 
 
419
CMAKE_BEGIN_AST_CLASS( GetTestPropAst )
 
420
CMAKE_ADD_AST_MEMBER( QString, test )
 
421
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
422
CMAKE_ADD_AST_MEMBER( QString, property )
 
423
CMAKE_END_AST_CLASS( GetTestPropAst )
 
424
 
 
425
 
 
426
CMAKE_BEGIN_AST_CLASS( IfAst )
 
427
CMAKE_ADD_AST_MEMBER( QStringList, condition )
 
428
CMAKE_ADD_AST_MEMBER( QString, kind )
 
429
CMAKE_END_AST_CLASS( IfAst )
 
430
 
 
431
 
 
432
CMAKE_BEGIN_AST_CLASS( IncludeAst )
 
433
CMAKE_ADD_AST_MEMBER( QString, includeFile )
 
434
CMAKE_ADD_AST_MEMBER( bool, optional )
 
435
CMAKE_ADD_AST_MEMBER( QString, resultVariable )
 
436
CMAKE_END_AST_CLASS( IncludeAst )
 
437
 
 
438
 
 
439
CMAKE_BEGIN_AST_CLASS( IncludeDirectoriesAst )
 
440
        enum IncludeType { Default=0, After, Before };
 
441
CMAKE_ADD_AST_MEMBER( IncludeType, includeType )
 
442
CMAKE_ADD_AST_MEMBER( bool, isSystem )
 
443
CMAKE_ADD_AST_MEMBER( QStringList, includedDirectories )
 
444
CMAKE_END_AST_CLASS( IncludeDirectoriesAst )
 
445
 
 
446
 
 
447
CMAKE_BEGIN_AST_CLASS( IncludeExternalMsProjectAst )
 
448
CMAKE_END_AST_CLASS( IncludeExternalMsProjectAst )
 
449
 
 
450
 
 
451
CMAKE_BEGIN_AST_CLASS( IncludeRegularExpressionAst )
 
452
CMAKE_ADD_AST_MEMBER( QString, match )
 
453
CMAKE_ADD_AST_MEMBER( QString, complain )
 
454
CMAKE_END_AST_CLASS( IncludeRegularExpressionAst )
 
455
 
 
456
 
 
457
CMAKE_BEGIN_AST_CLASS( InstallAst )
 
458
struct InstallTargetForm {    //Targets
 
459
    enum DestType { };
 
460
    QStringList targets;
 
461
    QString destination;
 
462
    QString permissions;
 
463
    QString configuration;
 
464
    QString component;
 
465
    QString optional;
 
466
};
 
467
 
 
468
struct InstallFileForm {
 
469
    QStringList files;
 
470
    
 
471
};
 
472
 
 
473
CMAKE_ADD_AST_MEMBER( QList<InstallTargetForm>, targets )
 
474
CMAKE_END_AST_CLASS( InstallAst )
 
475
 
 
476
 
 
477
CMAKE_BEGIN_AST_CLASS( InstallFilesAst )
 
478
CMAKE_MARK_AS_DEPRECATED()
 
479
CMAKE_ADD_AST_MEMBER( QString, directory )
 
480
CMAKE_ADD_AST_MEMBER( QString, extension )
 
481
CMAKE_ADD_AST_MEMBER( QStringList, files )
 
482
CMAKE_ADD_AST_MEMBER( QString, regex )
 
483
CMAKE_END_AST_CLASS( InstallFilesAst )
 
484
 
 
485
 
 
486
CMAKE_BEGIN_AST_CLASS( InstallProgramsAst )
 
487
CMAKE_MARK_AS_DEPRECATED()
 
488
CMAKE_ADD_AST_MEMBER( QString, directory )
 
489
CMAKE_ADD_AST_MEMBER( QStringList, files )
 
490
CMAKE_ADD_AST_MEMBER( QString, regex )
 
491
CMAKE_END_AST_CLASS( InstallProgramsAst )
 
492
 
 
493
 
 
494
CMAKE_BEGIN_AST_CLASS( InstallTargetsAst )
 
495
CMAKE_MARK_AS_DEPRECATED()
 
496
CMAKE_ADD_AST_MEMBER( QString, directory )
 
497
CMAKE_ADD_AST_MEMBER( QStringList, targets )
 
498
CMAKE_ADD_AST_MEMBER( QString, runtimeDir )
 
499
CMAKE_END_AST_CLASS( InstallTargetsAst )
 
500
 
 
501
 
 
502
CMAKE_BEGIN_AST_CLASS( LinkDirectoriesAst )
 
503
    CMAKE_ADD_AST_MEMBER( QStringList, directories )
 
504
CMAKE_END_AST_CLASS( LinkDirectoriesAst )
 
505
 
 
506
 
 
507
CMAKE_BEGIN_AST_CLASS( LinkLibrariesAst )
 
508
    CMAKE_MARK_AS_DEPRECATED()
 
509
    enum BuildType { Optimized, Debug, None };
 
510
    typedef QPair<QString, BuildType> LibraryType;
 
511
    CMAKE_ADD_AST_MEMBER( QList<LibraryType>, libraries )
 
512
CMAKE_END_AST_CLASS( LinkLibrariesAst )
 
513
 
 
514
 
 
515
CMAKE_BEGIN_AST_CLASS( ListAst )
 
516
    enum ListType { Length, Get, Append, Find, Insert, RemoveItem, RemoveAt, Sort, Reverse };
 
517
    CMAKE_ADD_AST_MEMBER( ListType, type )
 
518
    CMAKE_ADD_AST_MEMBER( QString, list )
 
519
    CMAKE_ADD_AST_MEMBER( QString, output )
 
520
    CMAKE_ADD_AST_MEMBER( QList<int>, index )
 
521
    CMAKE_ADD_AST_MEMBER( QStringList, elements )
 
522
CMAKE_END_AST_CLASS( ListAst )
 
523
 
 
524
 
 
525
CMAKE_BEGIN_AST_CLASS( LoadCacheAst )
 
526
    typedef QPair<QString, QString> PrefixEntry;
 
527
    CMAKE_ADD_AST_MEMBER( QString, cachePath )
 
528
    CMAKE_ADD_AST_MEMBER( PrefixEntry, prefixes )
 
529
    
 
530
    CMAKE_ADD_AST_MEMBER( QStringList, exclude )
 
531
    CMAKE_ADD_AST_MEMBER( QStringList, includeInternals )
 
532
CMAKE_END_AST_CLASS( LoadCacheAst )
 
533
 
 
534
 
 
535
CMAKE_BEGIN_AST_CLASS( LoadCommandAst )
 
536
    CMAKE_ADD_AST_MEMBER( QString, cmdName )
 
537
    CMAKE_ADD_AST_MEMBER( QStringList, location )
 
538
CMAKE_END_AST_CLASS( LoadCommandAst )
 
539
 
 
540
 
 
541
CMAKE_BEGIN_AST_CLASS( MacroAst )
 
542
CMAKE_ADD_AST_MEMBER( QString, macroName )
 
543
CMAKE_ADD_AST_MEMBER( QStringList, knownArgs )
 
544
CMAKE_END_AST_CLASS( MacroAst )
 
545
 
 
546
 
 
547
CMAKE_BEGIN_AST_CLASS( MakeDirectoryAst )
 
548
CMAKE_MARK_AS_DEPRECATED()
 
549
CMAKE_ADD_AST_MEMBER( QString, directory )
 
550
CMAKE_END_AST_CLASS( MakeDirectoryAst )
 
551
 
 
552
 
 
553
CMAKE_BEGIN_AST_CLASS( MarkAsAdvancedAst )
 
554
CMAKE_ADD_AST_MEMBER( QStringList, advancedVars )
 
555
CMAKE_ADD_AST_MEMBER( bool, isClear )
 
556
CMAKE_ADD_AST_MEMBER( bool, isForce )
 
557
CMAKE_END_AST_CLASS( MarkAsAdvancedAst )
 
558
 
 
559
 
 
560
CMAKE_BEGIN_AST_CLASS( MathAst )
 
561
CMAKE_ADD_AST_MEMBER( QString, outputVariable )
 
562
CMAKE_ADD_AST_MEMBER( QString, expression )
 
563
CMAKE_END_AST_CLASS( MathAst )
 
564
 
 
565
 
 
566
CMAKE_BEGIN_AST_CLASS( MessageAst )
 
567
enum MessageType { SendError, Status, FatalError };
 
568
CMAKE_ADD_AST_MEMBER( MessageType, type )
 
569
CMAKE_ADD_AST_MEMBER( QStringList, message )
 
570
CMAKE_END_AST_CLASS( MessageAst )
 
571
 
 
572
 
 
573
CMAKE_BEGIN_AST_CLASS( OptionAst )
 
574
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
575
CMAKE_ADD_AST_MEMBER( QString, description )
 
576
CMAKE_ADD_AST_MEMBER( QString, defaultValue )
 
577
CMAKE_END_AST_CLASS( OptionAst )
 
578
 
 
579
 
 
580
CMAKE_BEGIN_AST_CLASS( OutputRequiredFilesAst )
 
581
    CMAKE_ADD_AST_MEMBER( QString, srcFile )
 
582
    CMAKE_ADD_AST_MEMBER( QString, outputFile )
 
583
CMAKE_END_AST_CLASS( OutputRequiredFilesAst )
 
584
 
 
585
 
 
586
CMAKE_BEGIN_AST_CLASS( ProjectAst )
 
587
CMAKE_ADD_AST_MEMBER( QString, projectName )
 
588
CMAKE_ADD_AST_MEMBER( bool, useCpp )
 
589
CMAKE_ADD_AST_MEMBER( bool, useC )
 
590
CMAKE_ADD_AST_MEMBER( bool, useJava )
 
591
CMAKE_END_AST_CLASS( ProjectAst )
 
592
 
 
593
 
 
594
CMAKE_BEGIN_AST_CLASS( QtWrapCppAst )
 
595
CMAKE_END_AST_CLASS( QtWrapCppAst )
 
596
 
 
597
 
 
598
CMAKE_BEGIN_AST_CLASS( QtWrapUiAst )
 
599
CMAKE_END_AST_CLASS( QtWrapUiAst )
 
600
 
 
601
 
 
602
CMAKE_BEGIN_AST_CLASS( RemoveAst )
 
603
    CMAKE_MARK_AS_DEPRECATED()
 
604
    CMAKE_ADD_AST_MEMBER( QString, variableName )
 
605
    CMAKE_ADD_AST_MEMBER( QStringList, values )
 
606
CMAKE_END_AST_CLASS( RemoveAst )
 
607
 
 
608
 
 
609
CMAKE_BEGIN_AST_CLASS( RemoveDefinitionsAst )
 
610
    CMAKE_ADD_AST_MEMBER( QStringList, definitions )
 
611
CMAKE_END_AST_CLASS( RemoveDefinitionsAst )
 
612
 
 
613
 
 
614
CMAKE_BEGIN_AST_CLASS( SeparateArgumentsAst )
 
615
    CMAKE_ADD_AST_MEMBER( QString, variableName )
 
616
CMAKE_END_AST_CLASS( SeparateArgumentsAst )
 
617
 
 
618
 
 
619
CMAKE_BEGIN_AST_CLASS( SetAst )
 
620
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
621
CMAKE_ADD_AST_MEMBER( QStringList, values )
 
622
CMAKE_ADD_AST_MEMBER( bool, storeInCache )
 
623
CMAKE_ADD_AST_MEMBER( bool, forceStoring )
 
624
CMAKE_ADD_AST_MEMBER( QString, entryType )
 
625
CMAKE_ADD_AST_MEMBER( QString, documentation )
 
626
CMAKE_ADD_AST_MEMBER( bool, parentScope )
 
627
CMAKE_END_AST_CLASS( SetAst )
 
628
 
 
629
 
 
630
CMAKE_BEGIN_AST_CLASS( SetDirectoryPropsAst )
 
631
        typedef QPair<QString, QString> PropPair;
 
632
CMAKE_ADD_AST_MEMBER( QList<PropPair>, properties )
 
633
CMAKE_END_AST_CLASS( SetDirectoryPropsAst )
 
634
 
 
635
 
 
636
CMAKE_BEGIN_AST_CLASS( SetSourceFilesPropsAst )
 
637
        typedef QPair<QString, QString> PropPair;
 
638
CMAKE_ADD_AST_MEMBER( QStringList, files )
 
639
CMAKE_ADD_AST_MEMBER( QList<PropPair>, properties )
 
640
CMAKE_END_AST_CLASS( SetSourceFilesPropsAst )
 
641
 
 
642
 
 
643
CMAKE_BEGIN_AST_CLASS( SetTargetPropsAst )
 
644
        typedef QPair<QString, QString> PropPair;
 
645
CMAKE_ADD_AST_MEMBER( QStringList, targets )
 
646
CMAKE_ADD_AST_MEMBER( QList<PropPair>, properties )
 
647
CMAKE_END_AST_CLASS( SetTargetPropsAst )
 
648
 
 
649
 
 
650
CMAKE_BEGIN_AST_CLASS( SetTestsPropsAst )
 
651
        typedef QPair<QString, QString> PropPair;
 
652
CMAKE_ADD_AST_MEMBER( QStringList, tests )
 
653
CMAKE_ADD_AST_MEMBER( QList<PropPair>, properties )
 
654
CMAKE_END_AST_CLASS( SetTestsPropsAst )
 
655
 
 
656
 
 
657
CMAKE_BEGIN_AST_CLASS( SiteNameAst )
 
658
CMAKE_ADD_AST_MEMBER( QString, variableName )
 
659
CMAKE_END_AST_CLASS( SiteNameAst )
 
660
 
 
661
 
 
662
CMAKE_BEGIN_AST_CLASS( SourceGroupAst )
 
663
CMAKE_ADD_AST_MEMBER( QString, name )
 
664
CMAKE_ADD_AST_MEMBER( QString, regex )
 
665
CMAKE_ADD_AST_MEMBER( QStringList, files )
 
666
CMAKE_END_AST_CLASS( SourceGroupAst )
 
667
 
 
668
 
 
669
CMAKE_BEGIN_AST_CLASS( StringAst )
 
670
enum StringAstType { Regex, Replace, Compare, Ascii, Configure,
 
671
    ToUpper, ToLower, Length, Substring, Strip, Random };
 
672
enum CommandType { Match, MatchAll, RegexReplace, Equal, NotEqual, Less, Greater };
 
673
CMAKE_ADD_AST_MEMBER( StringAstType, type )
 
674
CMAKE_ADD_AST_MEMBER( CommandType, cmdType )
 
675
CMAKE_ADD_AST_MEMBER( QString, outputVariable )
 
676
CMAKE_ADD_AST_MEMBER( QString, regex )
 
677
CMAKE_ADD_AST_MEMBER( QString, string )
 
678
CMAKE_ADD_AST_MEMBER( QString, replace )
 
679
CMAKE_ADD_AST_MEMBER( QStringList, input )
 
680
CMAKE_ADD_AST_MEMBER( bool, only )
 
681
CMAKE_ADD_AST_MEMBER( bool, escapeQuotes )
 
682
CMAKE_ADD_AST_MEMBER( int, begin )
 
683
CMAKE_ADD_AST_MEMBER( int, length )
 
684
CMAKE_END_AST_CLASS( StringAst )
 
685
 
 
686
 
 
687
CMAKE_BEGIN_AST_CLASS( SubdirDependsAst )
 
688
CMAKE_MARK_AS_DEPRECATED()
 
689
CMAKE_ADD_AST_MEMBER( QString, subdir )
 
690
CMAKE_ADD_AST_MEMBER( QStringList, directories )
 
691
CMAKE_END_AST_CLASS( SubdirDependsAst )
 
692
 
 
693
 
 
694
CMAKE_BEGIN_AST_CLASS( SubdirsAst )
 
695
CMAKE_MARK_AS_DEPRECATED()
 
696
CMAKE_ADD_AST_MEMBER( QStringList, directories )
 
697
CMAKE_ADD_AST_MEMBER( QStringList, exluceFromAll )
 
698
CMAKE_ADD_AST_MEMBER( bool, preorder )
 
699
CMAKE_END_AST_CLASS( SubdirsAst )
 
700
 
 
701
 
 
702
CMAKE_BEGIN_AST_CLASS( TargetLinkLibrariesAst )
 
703
CMAKE_ADD_AST_MEMBER( QString, target )
 
704
CMAKE_ADD_AST_MEMBER( QStringList, otherLibs )
 
705
CMAKE_ADD_AST_MEMBER( QStringList, debugLibs )
 
706
CMAKE_ADD_AST_MEMBER( QStringList, optimizedLibs )
 
707
CMAKE_END_AST_CLASS( TargetLinkLibrariesAst )
 
708
 
 
709
 
 
710
CMAKE_BEGIN_AST_CLASS( TryCompileAst )
 
711
CMAKE_ADD_AST_MEMBER( QString, resultName )
 
712
CMAKE_ADD_AST_MEMBER( QString, binDir )
 
713
CMAKE_ADD_AST_MEMBER( QString, source )
 
714
CMAKE_ADD_AST_MEMBER( QString, projectName )
 
715
CMAKE_ADD_AST_MEMBER( QString, targetName )
 
716
CMAKE_ADD_AST_MEMBER( QStringList, cmakeFlags )
 
717
CMAKE_ADD_AST_MEMBER( QStringList, compileDefinitions )
 
718
CMAKE_ADD_AST_MEMBER( QString, outputName )
 
719
CMAKE_ADD_AST_MEMBER( QString, copyFile )
 
720
CMAKE_END_AST_CLASS( TryCompileAst )
 
721
 
 
722
 
 
723
CMAKE_BEGIN_AST_CLASS( TryRunAst )
 
724
CMAKE_ADD_AST_MEMBER( QString, runResultVar )
 
725
CMAKE_ADD_AST_MEMBER( QString, compileResultVar )
 
726
CMAKE_ADD_AST_MEMBER( QString, binDir )
 
727
CMAKE_ADD_AST_MEMBER( QString, srcFile )
 
728
CMAKE_ADD_AST_MEMBER( QStringList, cmakeFlags )
 
729
CMAKE_ADD_AST_MEMBER( QStringList, compileDefs )
 
730
CMAKE_ADD_AST_MEMBER( QString, outputVar )
 
731
CMAKE_ADD_AST_MEMBER( QStringList, args )
 
732
CMAKE_END_AST_CLASS( TryRunAst )
 
733
 
 
734
 
 
735
CMAKE_BEGIN_AST_CLASS( UseMangledMesaAst )
 
736
CMAKE_ADD_AST_MEMBER( QString, pathToMesa )
 
737
CMAKE_ADD_AST_MEMBER( QString, outputDir )
 
738
CMAKE_END_AST_CLASS( UseMangledMesaAst )
 
739
 
 
740
 
 
741
CMAKE_BEGIN_AST_CLASS( UtilitySourceAst )
 
742
CMAKE_ADD_AST_MEMBER( QString, cacheEntry )
 
743
CMAKE_ADD_AST_MEMBER( QString, executableName )
 
744
CMAKE_ADD_AST_MEMBER( QString, pathToSource )
 
745
CMAKE_ADD_AST_MEMBER( QStringList, fileList )
 
746
CMAKE_END_AST_CLASS( UtilitySourceAst )
 
747
 
 
748
 
 
749
CMAKE_BEGIN_AST_CLASS( VariableRequiresAst )
 
750
CMAKE_ADD_AST_MEMBER( QString, testVariable )
 
751
CMAKE_ADD_AST_MEMBER( QString, resultVariable )
 
752
CMAKE_ADD_AST_MEMBER( QStringList, requiredVariables )
 
753
CMAKE_END_AST_CLASS( VariableRequiresAst )
 
754
 
 
755
 
 
756
CMAKE_BEGIN_AST_CLASS( VtkMakeInstantiatorAst )
 
757
CMAKE_END_AST_CLASS( VtkMakeInstantiatorAst )
 
758
 
 
759
 
 
760
CMAKE_BEGIN_AST_CLASS( VtkWrapJavaAst )
 
761
CMAKE_END_AST_CLASS( VtkWrapJavaAst )
 
762
 
 
763
 
 
764
CMAKE_BEGIN_AST_CLASS( VtkWrapPythonAst )
 
765
CMAKE_END_AST_CLASS( VtkWrapPythonAst )
 
766
 
 
767
 
 
768
CMAKE_BEGIN_AST_CLASS( VtkWrapTclAst )
 
769
CMAKE_END_AST_CLASS( VtkWrapTclAst )
 
770
 
 
771
 
 
772
CMAKE_BEGIN_AST_CLASS( WhileAst )
 
773
CMAKE_ADD_AST_MEMBER( QStringList, condition )
 
774
CMAKE_END_AST_CLASS( WhileAst )
 
775
 
 
776
 
 
777
CMAKE_BEGIN_AST_CLASS( WriteFileAst )
 
778
CMAKE_MARK_AS_DEPRECATED()
 
779
CMAKE_ADD_AST_MEMBER( QString, filename )
 
780
CMAKE_ADD_AST_MEMBER( QString, message )
 
781
CMAKE_ADD_AST_MEMBER( bool, append )
 
782
CMAKE_END_AST_CLASS( WriteFileAst )
 
783
 
 
784
CMAKE_BEGIN_AST_CLASS( CustomInvokationAst )
 
785
CMAKE_ADD_AST_MEMBER( CMakeFunctionDesc, function )
 
786
CMAKE_ADD_AST_MEMBER( QList<CMakeFunctionArgument>, arguments )
 
787
CMAKE_END_AST_CLASS( CustomInvokationAst )
 
788
 
 
789
//CMake 2.6
 
790
CMAKE_BEGIN_AST_CLASS( BreakAst )
 
791
CMAKE_END_AST_CLASS( BreakAst )
 
792
 
 
793
CMAKE_BEGIN_AST_CLASS( CMakePolicyAst )
 
794
enum Action { Version, Set, Push, Pop };
 
795
CMAKE_ADD_AST_MEMBER( Action, action )
 
796
//VERSION
 
797
CMAKE_ADD_AST_MEMBER( QList<int>, version )
 
798
 
 
799
//SET
 
800
CMAKE_ADD_AST_MEMBER( int, policyNum )
 
801
CMAKE_ADD_AST_MEMBER( bool, isNew )
 
802
CMAKE_END_AST_CLASS( CMakePolicyAst )
 
803
 
 
804
 
 
805
CMAKE_BEGIN_AST_CLASS( ExportAst )
 
806
CMAKE_ADD_AST_MEMBER( QStringList, targets )
 
807
CMAKE_ADD_AST_MEMBER( QString, targetNamespace )
 
808
CMAKE_ADD_AST_MEMBER( bool, append )
 
809
CMAKE_ADD_AST_MEMBER( QString, filename )
 
810
CMAKE_END_AST_CLASS( ExportAst )
 
811
 
 
812
CMAKE_BEGIN_AST_CLASS( FunctionAst )
 
813
CMAKE_ADD_AST_MEMBER( QString, name )
 
814
CMAKE_ADD_AST_MEMBER( QStringList, knownArgs )
 
815
CMAKE_END_AST_CLASS( FunctionAst )
 
816
 
 
817
CMAKE_BEGIN_AST_CLASS( ReturnAst )
 
818
CMAKE_END_AST_CLASS( ReturnAst )
 
819
 
 
820
 
 
821
#endif
 
822