Declaration object for parameters. More...
#include <cparam.h>
Public Member Functions | |
CParam (CSymbol *symbol, Coord_t *aLoc, Decl_t type, CDataType *dataType) | |
Create parameter declaration. | |
virtual CDecl * | Clone (CObstack *heap) |
Create a clone of this declaration. | |
void | Specify (int v) |
Set specify attribute. | |
int | Specify (void) |
Get specify attribute. | |
void | SetExpression (CNode *aExp) |
Set expression assigned to parameter. | |
CNode * | GetExpression (void) |
Get expression assigned to parameter. | |
virtual NodeType_t | GetNodeType (void) |
Get node expression type. | |
virtual int | IsWidthConstant (void) |
Determine if packed width of declaration is constant, ie dependent upon only constants and parameters. | |
virtual int | IsWidthVolatile (void) |
Determine if packed width of declaration is volatile, ie depend upon parameters or variables. | |
virtual int | IsWidthEvaluateable (void) |
Determine if packed width of declaration can be evaluated. | |
virtual INT32 | GetWidth (void) |
Evaluate packed width of declaration. | |
virtual CNode * | GetWidthExp (void) |
Get expression representing width of declaration. | |
virtual CNode * | GetMsb () |
Get expression for declaration's msb. | |
virtual CNode * | GetLsb () |
Get expression for declaration's lsb. | |
virtual void | Dump (FILE *f) |
Dump parameter declaration info to file descriptor. | |
void | SetInlined (int v) |
Set inlined attribute. | |
int | GetInlined () |
Get inlined attribute. |
Declaration object for parameters.
Create parameter declaration.
symbol | name of declaration. | |
aLoc | file coordinates. | |
type | declaration type: eLOCALPARAM, ePARAM. | |
dataType | parameter data type |
Create a clone of this declaration.
heap | heap to use for allocation. |
Implements CDecl.
virtual void CParam::Dump | ( | FILE * | f | ) | [virtual] |
Dump parameter declaration info to file descriptor.
f | file descriptor. |
Reimplemented from CDecl.
CNode* CParam::GetExpression | ( | void | ) |
Get expression assigned to parameter.
int CParam::GetInlined | ( | ) | [inline] |
Get inlined attribute.
virtual CNode* CParam::GetLsb | ( | ) | [virtual] |
Get expression for declaration's lsb.
Reimplemented from CDecl.
virtual CNode* CParam::GetMsb | ( | ) | [virtual] |
Get expression for declaration's msb.
Reimplemented from CDecl.
virtual NodeType_t CParam::GetNodeType | ( | void | ) | [virtual] |
virtual INT32 CParam::GetWidth | ( | void | ) | [virtual] |
Evaluate packed width of declaration.
virtual CNode* CParam::GetWidthExp | ( | void | ) | [virtual] |
Get expression representing width of declaration.
virtual int CParam::IsWidthConstant | ( | void | ) | [virtual] |
Determine if packed width of declaration is constant, ie dependent upon only constants and parameters.
virtual int CParam::IsWidthEvaluateable | ( | void | ) | [virtual] |
Determine if packed width of declaration can be evaluated.
virtual int CParam::IsWidthVolatile | ( | void | ) | [virtual] |
Determine if packed width of declaration is volatile, ie depend upon parameters or variables.
void CParam::SetExpression | ( | CNode * | aExp | ) |
Set expression assigned to parameter.
aExp | value expression. |
void CParam::SetInlined | ( | int | v | ) | [inline] |
Set inlined attribute.
v | non-zero if parameter declaration was inlined in module definition. |
void CParam::Specify | ( | int | v | ) | [inline] |
Set specify attribute.
v | non-zero if declaration is a specparam. |
int CParam::Specify | ( | void | ) | [inline] |
Get specify attribute.