Puma Reference Manual Puma::CSemDeclSpecs Class Reference



Puma::CSemDeclSpecs Class Reference

Class for analysing a sequence of declaration specifiers. More...

#include <Puma/CSemDeclSpecs.h>

List of all members.

Public Member Functions

 CSemDeclSpecs (ErrorSink *es, CT_DeclSpecSeq *dss, bool support_implicit_int=false)
 Constructor.
 ~CSemDeclSpecs ()
 Destructor.
CTypeInfomake_type () const
 Get a copy of the resulting type.
CT_DeclSpecSeqDeclSpecSeq () 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.

Detailed Description

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).


Constructor & Destructor Documentation

Puma::CSemDeclSpecs::CSemDeclSpecs ( ErrorSink es,
CT_DeclSpecSeq dss,
bool  support_implicit_int = false 
)

Constructor.

Parameters:
esThe error stream on which to report errors.
dssThe declaration specifier sequence to be analysed.
support_implicit_intTrue if implicit type int shall be supported.

Destructor.

Destroys the created type.


Member Function Documentation

Check if the given declaration specifier was declared.

Parameters:
dstThe declaration specifier type.

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.

Get a copy of the resulting type.

Returns:
The copy of the type. Has to be destroyed by the caller.