Variable Symbol.
For base class see SgSymbol
Variant name: VARIABLE_NAME.
class SgVariableSymbol : public SgSymbol {
public:
SgName get_name() const;
SgType * get_type() const
{ return p_declaration ? p_declaration->get_type() : 0; }
/* Generated accessors */
SgInitializedName* get_declaration() const;
void set_declaration(SgInitializedName*);
/* Protected data members */
protected:
SgInitializedName* p_declaration;
};
/* This is generated in the header file */
SgVariableSymbol(SgInitializedName* declaration);
/* This is the generated constructor */
SgVariableSymbol::SgVariableSymbol(SgInitializedName* declaration)
:SgSymbol()
{
p_declaration = declaration;
/* now call the user defined intialization function */
post_construction_initialization();
}
Function symbol.
For base class see SgSymbol
Variant name: FUNCTION_NAME.
class SgFunctionSymbol : public SgSymbol {
public:
SgName get_name() const;
SgType * get_type() const;
/* Generated accessors */
SgFunctionDeclaration* get_declaration() const;
void set_declaration(SgFunctionDeclaration*);
/* Protected data members */
protected:
SgFunctionDeclaration* p_declaration;
};
/* This is generated in the header file */
SgFunctionSymbol(SgFunctionDeclaration* declaration);
/* This is the generated constructor */
SgFunctionSymbol::SgFunctionSymbol(SgFunctionDeclaration* declaration)
:SgSymbol()
{
p_declaration = declaration;
/* now call the user defined intialization function */
post_construction_initialization();
}
Function type symbol. Internal symbol used by SgFunctionTypeTable only
For base class see SgSymbol
Variant name: FUNCTYPE_NAME.
class SgFunctionTypeSymbol : public SgSymbol {
/* Generated accessors */
SgName get_name() const;
void set_name(SgName);
SgType* get_type() const;
void set_type(SgType*);
/* Protected data members */
protected:
SgName p_name;
SgType* p_type;
};
/* This is generated in the header file */
SgFunctionTypeSymbol(SgName name, SgType* type);
/* This is the generated constructor */
SgFunctionTypeSymbol::SgFunctionTypeSymbol(SgName name, SgType* type)
:SgSymbol()
{
p_name = name;
p_type = type;
/* now call the user defined intialization function */
post_construction_initialization();
}
Class symbol
For base class see SgSymbol
Variant name: CLASS_NAME.
class SgClassSymbol : public SgSymbol {
public:
public:
SgName get_name() const;
SgType * get_type() const;
/* Generated accessors */
SgClassDeclaration* get_declaration() const;
void set_declaration(SgClassDeclaration*);
/* Protected data members */
protected:
SgClassDeclaration* p_declaration;
};
/* This is generated in the header file */
SgClassSymbol(SgClassDeclaration* declaration);
/* This is the generated constructor */
SgClassSymbol::SgClassSymbol(SgClassDeclaration* declaration)
:SgSymbol()
{
p_declaration = declaration;
/* now call the user defined intialization function */
post_construction_initialization();
}
Enumeration Symbol
For base class see SgSymbol
Variant name: ENUM_NAME.
class SgEnumSymbol : public SgSymbol {
public:
SgName get_name() const;
SgType * get_type() const;
/* Generated accessors */
SgEnumDeclaration* get_declaration() const;
void set_declaration(SgEnumDeclaration*);
/* Protected data members */
protected:
SgEnumDeclaration* p_declaration;
};
/* This is generated in the header file */
SgEnumSymbol(SgEnumDeclaration* declaration);
/* This is the generated constructor */
SgEnumSymbol::SgEnumSymbol(SgEnumDeclaration* declaration)
:SgSymbol()
{
p_declaration = declaration;
/* now call the user defined intialization function */
post_construction_initialization();
}
For enumeration fields, type=const int
For base class see SgSymbol
Variant name: FIELD_NAME.
class SgEnumFieldSymbol : public SgSymbol {
public:
SgName get_name() const;
SgType * get_type() const;
/* Generated accessors */
SgInitializedName* get_declaration() const;
void set_declaration(SgInitializedName*);
/* Protected data members */
protected:
SgInitializedName* p_declaration;
};
/* This is generated in the header file */
SgEnumFieldSymbol(SgInitializedName* declaration);
/* This is the generated constructor */
SgEnumFieldSymbol::SgEnumFieldSymbol(SgInitializedName* declaration)
:SgSymbol()
{
p_declaration = declaration;
/* now call the user defined intialization function */
post_construction_initialization();
}
Typedef Symbol.
For base class see SgSymbol
Variant name: TYPEDEF_NAME.
class SgTypedefSymbol : public SgSymbol {
public:
SgName get_name() const;
SgType * get_type() const;
/* Generated accessors */
SgTypedefDeclaration* get_declaration() const;
void set_declaration(SgTypedefDeclaration*);
/* Protected data members */
protected:
SgTypedefDeclaration* p_declaration;
};
/* This is generated in the header file */
SgTypedefSymbol(SgTypedefDeclaration* declaration);
/* This is the generated constructor */
SgTypedefSymbol::SgTypedefSymbol(SgTypedefDeclaration* declaration)
:SgSymbol()
{
p_declaration = declaration;
/* now call the user defined intialization function */
post_construction_initialization();
}
Member Function Symbol.
For base class see SgFunctionSymbol
Variant name: MEMBER_FUNC_NAME.
class SgMemberFunctionSymbol : public SgFunctionSymbol {
public:
SgMemberFunctionDeclaration *get_declaration();
SgClassDefinition *get_scope();
public:
SgName get_name() const;
SgType * get_type() const;
/* Generated accessors */
};
/* This is generated in the header file */
SgMemberFunctionSymbol(SgFunctionDeclaration* declaration);
/* This is the generated constructor */
SgMemberFunctionSymbol::SgMemberFunctionSymbol(SgFunctionDeclaration* declaration)
:SgFunctionSymbol(declaration)
{
/* now call the user defined intialization function */
post_construction_initialization();
}
Label Symbol.
For base class see SgSymbol
Variant name: LABEL_NAME.
class SgLabelSymbol : public SgSymbol {
public:
SgName get_name() const;
SgType * get_type() const { return 0; }
/* Generated accessors */
SgLabelStatement* get_declaration() const;
void set_declaration(SgLabelStatement*);
/* Protected data members */
protected:
SgLabelStatement* p_declaration;
};
/* This is generated in the header file */
SgLabelSymbol(SgLabelStatement* declaration);
/* This is the generated constructor */
SgLabelSymbol::SgLabelSymbol(SgLabelStatement* declaration)
:SgSymbol()
{
p_declaration = declaration;
/* now call the user defined intialization function */
post_construction_initialization();
}