Intel SPMD Program Compiler  1.3.0
Public Member Functions | Public Attributes
Declaration Class Reference

Representation of a full declaration of one or more variables, including the shared DeclSpecs as well as the per-variable Declarators. More...

#include <decl.h>

Collaboration diagram for Declaration:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Declaration (DeclSpecs *ds, std::vector< Declarator * > *dlist=NULL)
 Declaration (DeclSpecs *ds, Declarator *d)
void Print (int indent) const
std::vector< VariableDeclarationGetVariableDeclarations () const
void DeclareFunctions ()

Public Attributes

DeclSpecsdeclSpecs
std::vector< Declarator * > declarators

Detailed Description

Representation of a full declaration of one or more variables, including the shared DeclSpecs as well as the per-variable Declarators.

Definition at line 187 of file decl.h.


Constructor & Destructor Documentation

Declaration::Declaration ( DeclSpecs ds,
std::vector< Declarator * > *  dlist = NULL 
)

Definition at line 575 of file decl.cpp.

References declarators, declSpecs, and NULL.

Declaration::Declaration ( DeclSpecs ds,
Declarator d 
)

Definition at line 585 of file decl.cpp.

References declarators, declSpecs, Declarator::InitFromDeclSpecs(), and NULL.


Member Function Documentation

void Declaration::DeclareFunctions ( )
std::vector< VariableDeclaration > Declaration::GetVariableDeclarations ( ) const

This method walks through all of the Declarators in a declaration and returns a fully-initialized Symbol and (possibly) and initialization expression for each one. (This allows the rest of the system to not have to worry about the mess of the general Declarator representation.)

Definition at line 595 of file decl.cpp.

References SymbolTable::AddVariable(), Assert, declarators, declSpecs, Type::Equal(), Error(), Module::errorCount, Declarator::initExpr, m, Declarator::name, NULL, Declarator::pos, Type::ResolveUnboundVariability(), SC_TYPEDEF, DeclSpecs::storageClass, Declarator::storageClass, Module::symbolTable, Declarator::type, Variability::Varying, and AtomicType::Void.

void Declaration::Print ( int  indent) const

Definition at line 646 of file decl.cpp.

References declarators, declSpecs, and DeclSpecs::Print().


Member Data Documentation


The documentation for this class was generated from the following files: