32 lines
805 B
C++
32 lines
805 B
C++
#pragma once
|
|
///////////////////////////////////////////////////////////////////
|
|
// interface to the annotations
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class SgAnnotation
|
|
{
|
|
public:
|
|
// the id of the annotation;
|
|
int id;
|
|
// the annotation itself;
|
|
SgExpression *theannotation;
|
|
//the statement it is attached on;
|
|
SgStatement *stmt;
|
|
SgStatement *scopebegin;
|
|
SgStatement *scopeend;
|
|
int defined;
|
|
SgExpression *thedirective;
|
|
char *directiveName;
|
|
// pointer to the next annotation for a statement;
|
|
SgAnnotation *next;
|
|
SgAnnotation(int id);
|
|
~SgAnnotation();
|
|
char * unparse();
|
|
int applyToStatement(SgStatement *stat);
|
|
SgExpression **directiveFields;
|
|
int nbDirectiveFields;
|
|
};
|
|
|