vrq

CParam Class Reference

Declaration object for parameters. More...

#include <cparam.h>

Inheritance diagram for CParam:
CDecl CObject

List of all members.

Public Member Functions

 CParam (CSymbol *symbol, Coord_t *aLoc, Decl_t type)
 Create parameter declaration.
 CParam (const CParam &param)
 Create a copy of parameter declaration.
virtual int IsWidthConstant (void)
 Determine if width of declaration is constant, ie dependent upon only constants and parameters.
virtual int IsWidthVolatile (void)
 Determine if width of declaration is volatile, ie depend upon parameters or variables.
virtual int IsWidthEvaluateable (void)
 Determine if width of declaration can be evaluated.
virtual INT32 GetWidth (void)
 Evaluate width of declaration.
virtual CNodeGetWidthExp (void)
 Get expression representing width of declaration.
virtual int WidthDirection (void)
 Evaluate current decl width direction.
void Specify (int v)
 Set specify attribute.
int Specify (void)
 Get specify attribute.
void SetExpression (CNode *aExp)
 Set expression assigned to parameter.
CNodeGetExpression (void)
 Get expression assigned to parameter.
virtual NodeType_t GetNodeType (void)
 Get node expression type.
virtual void Dump (FILE *f)
 Dump parameter declaration info to file descriptor.
void SetSubType (Decl_t t)
 Set parameter declaration subtype.
Decl_t GetSubType ()
 Get parameter declaration subtype.
void SetInlined (int v)
 Set inlined attribute.
int GetInlined ()
 Get inlined attribute.

Detailed Description

Declaration object for parameters.


Constructor & Destructor Documentation

CParam::CParam ( CSymbol symbol,
Coord_t aLoc,
Decl_t  type 
)

Create parameter declaration.

Parameters:
symbol name of declaration.
aLoc file coordinates.
type declaration type: eLOCALPARAM, ePARAM.
CParam::CParam ( const CParam param  ) 

Create a copy of parameter declaration.

Parameters:
param declaration to copy.

Member Function Documentation

virtual void CParam::Dump ( FILE *  f  )  [virtual]

Dump parameter declaration info to file descriptor.

Parameters:
f file descriptor.

Reimplemented from CDecl.

CNode* CParam::GetExpression ( void   ) 

Get expression assigned to parameter.

Returns:
expression assigned to parameter.
int CParam::GetInlined (  )  [inline]

Get inlined attribute.

Returns:
v non-zero if parameter declaration was inlined in module definition.
virtual NodeType_t CParam::GetNodeType ( void   )  [virtual]

Get node expression type.

Returns:
expression type.

Reimplemented from CDecl.

Decl_t CParam::GetSubType (  )  [inline]

Get parameter declaration subtype.

Returns:
declaration subtype.
virtual INT32 CParam::GetWidth ( void   )  [virtual]

Evaluate width of declaration.

Returns:
width of declaration.

Reimplemented from CDecl.

virtual CNode* CParam::GetWidthExp ( void   )  [virtual]

Get expression representing width of declaration.

Returns:
expression representing width of declaration.

Reimplemented from CDecl.

virtual int CParam::IsWidthConstant ( void   )  [virtual]

Determine if width of declaration is constant, ie dependent upon only constants and parameters.

Returns:
non-zero of width of declaration is constant.

Reimplemented from CDecl.

virtual int CParam::IsWidthEvaluateable ( void   )  [virtual]

Determine if width of declaration can be evaluated.

Returns:
non-zero of width of declaration can be evaluated.

Reimplemented from CDecl.

virtual int CParam::IsWidthVolatile ( void   )  [virtual]

Determine if width of declaration is volatile, ie depend upon parameters or variables.

Returns:
non-zero of width of declaration is volatile.

Reimplemented from CDecl.

void CParam::SetExpression ( CNode aExp  ) 

Set expression assigned to parameter.

Parameters:
aExp value expression.
void CParam::SetInlined ( int  v  )  [inline]

Set inlined attribute.

Parameters:
v non-zero if parameter declaration was inlined in module definition.
void CParam::SetSubType ( Decl_t  t  )  [inline]

Set parameter declaration subtype.

Parameters:
t declaration subtype.
int CParam::Specify ( void   )  [inline]

Get specify attribute.

Returns:
non-zero if declaration is a specparam.
void CParam::Specify ( int  v  )  [inline]

Set specify attribute.

Parameters:
v non-zero if declaration is a specparam.
virtual int CParam::WidthDirection ( void   )  [virtual]

Evaluate current decl width direction.

Expression must be constant.

Returns:
1 - big endian, -1 - little endian, 0 - cannot be determined

Reimplemented from CDecl.


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

Generated on 7 Nov 2009 for vrq by  doxygen 1.6.1