Puma Reference Manual | Puma: Puma::CSemDeclSpecs Class Reference |
Class for analysing a sequence of declaration specifiers. More...
#include <Puma/CSemDeclSpecs.h>
Public Member Functions | |
CSemDeclSpecs (ErrorSink *es, CT_DeclSpecSeq *dss, bool support_implicit_int=false) | |
Constructor. | |
~CSemDeclSpecs () | |
Destructor. | |
CTypeInfo * | make_type () const |
Get a copy of the resulting type. | |
CT_DeclSpecSeq * | DeclSpecSeq () const |
Get the declaration specifier sequence. | |
bool | declared (CT_PrimDeclSpec::Type dst) const |
Check if the given declaration specifier was declared. | |
bool | defClass () const |
Check if a class was defined in the declaration specifier sequence. | |
bool | defUnion () const |
Check if an union was defined in the declaration specifier sequence. | |
bool | defEnum () const |
Check if an enumeration was defined in the declaration specifier sequence. |
Class for analysing a sequence of declaration specifiers.
The result of the analysis is a type, i.e. the type of the declared entity (function, object, etc).
Puma::CSemDeclSpecs::CSemDeclSpecs | ( | ErrorSink * | es, | |
CT_DeclSpecSeq * | dss, | |||
bool | support_implicit_int = false | |||
) |
Constructor.
es | The error stream on which to report errors. | |
dss | The declaration specifier sequence to be analysed. | |
support_implicit_int | True if implicit type int shall be supported. |
Puma::CSemDeclSpecs::~CSemDeclSpecs | ( | ) | [inline] |
Destructor.
Destroys the created type.
bool Puma::CSemDeclSpecs::declared | ( | CT_PrimDeclSpec::Type | dst | ) | const [inline] |
Check if the given declaration specifier was declared.
dst | The declaration specifier type. |
CT_DeclSpecSeq * Puma::CSemDeclSpecs::DeclSpecSeq | ( | ) | const [inline] |
Get the declaration specifier sequence.
bool Puma::CSemDeclSpecs::defClass | ( | ) | const [inline] |
Check if a class was defined in the declaration specifier sequence.
bool Puma::CSemDeclSpecs::defEnum | ( | ) | const [inline] |
Check if an enumeration was defined in the declaration specifier sequence.
bool Puma::CSemDeclSpecs::defUnion | ( | ) | const [inline] |
Check if an union was defined in the declaration specifier sequence.
CTypeInfo * Puma::CSemDeclSpecs::make_type | ( | ) | const [inline] |
Get a copy of the resulting type.