ACT Library
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
ActBody_OverrideAssertion Class Reference

This is added for override checks that can be completed only during the expansion phase. The added complexity is that overrides may depend on the identifier being created (it may be conditionally created, for example). The name_check field is used to check that the identifier in fact exists before testing for overrides. More...

#include <body.h>

Inheritance diagram for ActBody_OverrideAssertion:
ActBody

Public Member Functions

 ActBody_OverrideAssertion (int line, const char *name_check, InstType *it, InstType *chk)
 
 ~ActBody_OverrideAssertion ()
 
void Expand (ActNamespace *, Scope *)
 
ActBody_OverrideAssertionClone ()
 
- Public Member Functions inherited from ActBody
 ActBody (int line)
 
virtual ~ActBody ()
 
void Append (ActBody *b)
 
void insertNext (ActBody *b)
 
ActBodyTail ()
 
ActBodyNext ()
 
virtual ActBodyClone ()
 
virtual void Expand (ActNamespace *, Scope *)
 
void Expandlist (ActNamespace *, Scope *)
 
virtual void Print (FILE *)
 
void updateInstType (list_t *namelist, InstType *it)
 
int getLine ()
 

Private Attributes

InstType_orig_type
 
InstType_new_type
 
const char * _name_check
 

Additional Inherited Members

- Protected Attributes inherited from ActBody
int _line
 saved away line number information
 

Detailed Description

This is added for override checks that can be completed only during the expansion phase. The added complexity is that overrides may depend on the identifier being created (it may be conditionally created, for example). The name_check field is used to check that the identifier in fact exists before testing for overrides.

Constructor & Destructor Documentation

◆ ActBody_OverrideAssertion()

ActBody_OverrideAssertion::ActBody_OverrideAssertion ( int  line,
const char *  name_check,
InstType it,
InstType chk 
)
inline
Parameters
lineis the line number
name_checkis the instance name that must exist before testing for overrides
itis the original type
chkis the overridden type

◆ ~ActBody_OverrideAssertion()

ActBody_OverrideAssertion::~ActBody_OverrideAssertion ( )
inline

Member Function Documentation

◆ Clone()

ActBody_OverrideAssertion * ActBody_OverrideAssertion::Clone ( )
virtual
Returns
a deep copy of the body item list

Reimplemented from ActBody.

◆ Expand()

void ActBody_OverrideAssertion::Expand ( ActNamespace ,
Scope  
)
virtual

Expand out the current body item, updating the necessary data structures as the expansion process proceeds.

Reimplemented from ActBody.

Member Data Documentation

◆ _name_check

const char* ActBody_OverrideAssertion::_name_check
private

◆ _new_type

InstType * ActBody_OverrideAssertion::_new_type
private

◆ _orig_type

InstType* ActBody_OverrideAssertion::_orig_type
private

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