vrq
Public Member Functions | Protected Member Functions | List of all members
CNet Class Reference

Declaration object for nets. More...

#include <cnet.h>

Inheritance diagram for CNet:
CDecl CObject

Public Member Functions

 CNet (CSymbol *symbol, Coord_t *aLoc, Wire_t wireType, CDataType *dataType, int undefined)
 Create a net declaration. More...
 
virtual CDeclClone (CObstack *heap)
 Create a clone of this declaration. More...
 
void PortDir (CPortDir *p)
 Set portdir associated with net. More...
 
CPortDirPortDir ()
 Get portdir associated with net. More...
 
void SetDelay (CNode *aExp)
 Set net delay. More...
 
CNodeGetDelay (void)
 Get net delay. More...
 
int GetUndefined (void)
 Get undefined attribute. More...
 
void SetUndefined (int value)
 Set undefined attribute. More...
 
StrengthPair_t GetStrength ()
 Get drive strength. More...
 
void SetStrength (StrengthPair_t s)
 Set drive strength. More...
 
virtual void SetVectored (int v)
 Set vectored attribute. More...
 
virtual int GetVectored ()
 Get vectored attribute. More...
 
virtual void SetScalared (int v)
 Set scalared attribute. More...
 
virtual int GetScalared ()
 Get scalared attribute. More...
 
virtual void Dump (FILE *f)
 Dump net info to file descriptor. More...
 
- Public Member Functions inherited from CDecl
virtual void SetDataType (CDataType *dt)
 Set declartion's data type property. More...
 
virtual CDataTypeGetDataType ()
 Get declartion's data type property. More...
 
virtual void SetWireAttr (Wire_t v)
 Set declaration's wire attribute. More...
 
virtual Wire_t GetWireAttr ()
 Get declartion's wire type property. More...
 
virtual int IsWidthConstant (void) const
 Determine if packed width of declaration is constant, ie dependent upon only constants and parameters. More...
 
virtual int IsWidthVolatile (void) const
 Determine if packed width of declaration is volatile, ie depend upon parameters or variables. More...
 
virtual int IsWidthEvaluateable (void) const
 Determine if packed width of declaration can be evaluated. More...
 
virtual INT32 GetWidth (void) const
 Evaluate packed width of declaration. More...
 
virtual CNodeGetWidthExp (void) const
 Get expression representing width of declaration. More...
 
virtual CNodeGetMsb () const
 Get expression for declaration's msb. More...
 
virtual CNodeGetLsb () const
 Get expression for declaration's lsb. More...
 
virtual int WidthDirection (void) const
 Evaluate current decl width direction. More...
 
virtual INT32 GetNumberOfUnpackedDimensions (void)
 Get number of unpacked dimensions of declaration. More...
 
virtual CNodeGetUnpackedMsi (INT32 dim)
 Get expression tree for upper limit of given packed array dimension. More...
 
virtual CNodeGetUnpackedLsi (INT32 dim)
 Get expression tree for lower limit of unpacked array dimension. More...
 
virtual void SetNumberOfUnpackedDimensions (INT32 dim)
 Set number of unpacked dimensions for declaration. More...
 
virtual CNodeGetUnpackedRange (INT32 dim)
 Get expression for range of array for dimension. More...
 
virtual void SetUnpackedRange (INT32 dim, CNode *v)
 Set expression for range of unpacked array for declaration. More...
 
virtual void SetConstAttr (int v)
 Set declaration's const attribute. More...
 
virtual int GetConstAttr ()
 Get declaration's const attribute. More...
 
virtual void SetVarAttr (int v)
 Set declaration's var attribute. More...
 
virtual int GetVarAttr ()
 Get declaration's var attribute. More...
 
virtual void SetAutomatic (int v)
 Set declaration's automatic property. More...
 
virtual int GetAutomatic ()
 Get declaration's automatic property. More...
 
void SetAttributes (CNode *attr)
 Set declarations's attributes. More...
 
CNodeGetAttributes ()
 Get declaration's attributes. More...
 
int HasAttribute (char *name, CNode *n=NULL, int init=1)
 Determine if declaration has the given attribute. More...
 
NodeType_t GetNodeType (void)
 Get node type of decl. More...
 
Decl_t GetClass (void)
 Get class of declaration. More...
 
void SetDeclStatementCreated (void)
 Set declaration statement created attribute. More...
 
int DeclStatementCreated (void)
 Get declaration statement create attibute. More...
 
Decl_t GetType (void)
 Get declaration type. More...
 
const char * GetTypeName (void)
 Get declaration type as a string. More...
 
void SetCoord (Coord_t *aLoc)
 Set declaration coordinate. More...
 
Coord_tGetCoord (void)
 Get file coordinates for declaration. More...
 
virtual void DumpDeclInfo (FILE *f)
 Dump declaration name, type and location to file descriptor. More...
 
const char * GetName (void)
 Shortcut to get declaration's name. More...
 
void SetSymbol (CSymbol *aSymbol)
 Set declaration's symbol. More...
 
CSymbolGetSymbol (void)
 Get declaration's symbol. More...
 
void SetPragmas (CNode *p)
 Set declaration pragmas. More...
 
CNodeGetPragmas ()
 Get declaration pragmas. More...
 
virtual void PreVisit1 (int(*func)(CNode *, void *), void *data)
 
virtual void PostVisit1 (void(*func)(CNode *, void *), void *data)
 
virtual void PostSubVisit1 (CNode *(*func)(CNode *, void *), void *data)
 
- Public Member Functions inherited from CObject
void * operator new (size_t size, CObstack *stack)
 Allocate object on CObstack heap. More...
 
void operator delete (void *object)
 Destroy object. More...
 

Protected Member Functions

void Copy (CObstack *heap, const CNet &net)
 Create a deep copy of given declaration. More...
 
- Protected Member Functions inherited from CDecl
 CDecl (CSymbol *aSymbol, Coord_t *aLoc, Decl_t aType, CDataType *dataType, Flag flags)
 Create instance of declaration. More...
 
void Copy (CObstack *heap, const CDecl &o)
 Perform deep copy of given object to this one This should never be call directly, only by subclasses. More...
 

Additional Inherited Members

- Public Types inherited from CDecl
enum  Flag { eFLAG_NONE = 0, eFLAG_PRAGMA = 1, eFLAG_ARRAY = 2, eFLAG_DATATYPE = 4 }
 
- Static Public Member Functions inherited from CDecl
static Flag Or (Flag f1, Flag f2)
 
static Flag Or (Flag f1, Flag f2, Flag f3)
 
static void GetMembers (Decl_t type, list< Decl_t > &result)
 Get a list of members of the given declaration class/type. More...
 

Detailed Description

Declaration object for nets.

Constructor & Destructor Documentation

CNet::CNet ( CSymbol symbol,
Coord_t aLoc,
Wire_t  wireType,
CDataType dataType,
int  undefined 
)

Create a net declaration.

Parameters
symboldeclaration name.
aLocfile descriptor.
wireTypewire type.
dataTypenet data type
undefinednon-zero if net is not explicitly defined in source.

Member Function Documentation

virtual CDecl* CNet::Clone ( CObstack heap)
virtual

Create a clone of this declaration.

Parameters
heapheap to use for allocation.
Returns
new declaration.

Implements CDecl.

void CNet::Copy ( CObstack heap,
const CNet net 
)
protected

Create a deep copy of given declaration.

Parameters
heapheap to use for allocation.
netdeclaration to copy from.
virtual void CNet::Dump ( FILE *  f)
virtual

Dump net info to file descriptor.

Parameters
ffile descriptor.

Reimplemented from CDecl.

CNode* CNet::GetDelay ( void  )
inline

Get net delay.

Returns
net delay expression.
virtual int CNet::GetScalared ( )
inlinevirtual

Get scalared attribute.

Returns
non-zero if net is scalared.

Reimplemented from CDecl.

StrengthPair_t CNet::GetStrength ( )
inline

Get drive strength.

Returns
drive strength.
int CNet::GetUndefined ( void  )
inline

Get undefined attribute.

Returns
non-zero if net is undeclared in source code.
virtual int CNet::GetVectored ( )
inlinevirtual

Get vectored attribute.

Returns
non-zero if net is vectored.

Reimplemented from CDecl.

void CNet::PortDir ( CPortDir p)
inline

Set portdir associated with net.

Parameters
pto associate with net.
CPortDir* CNet::PortDir ( )
inline

Get portdir associated with net.

Returns
portdir associated with net.
void CNet::SetDelay ( CNode aExp)
inline

Set net delay.

Parameters
aExpnet delay expression.
virtual void CNet::SetScalared ( int  v)
inlinevirtual

Set scalared attribute.

Parameters
vnon-zero if net is scalared.

Reimplemented from CDecl.

void CNet::SetStrength ( StrengthPair_t  s)
inline

Set drive strength.

Parameters
sdrive strength.
void CNet::SetUndefined ( int  value)
inline

Set undefined attribute.

Parameters
valuenon-zero if net is undeclared in source code.
virtual void CNet::SetVectored ( int  v)
inlinevirtual

Set vectored attribute.

Parameters
vnon-zero if net is vectored.

Reimplemented from CDecl.


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