cymoca
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Protected Attributes | List of all members
cymoca::ast::element::Component Class Reference

#include <element.h>

Inheritance diagram for cymoca::ast::element::Component:
Inheritance graph
Collaboration diagram for cymoca::ast::element::Component:
Collaboration graph

Public Member Functions

void enter (listener::Base &listener) override
 
void exit (listener::Base &listener) override
 
 Component (std::string name, std::string type, Prefix prefix)
 
const std::string & getName () const
 
const expression::Reference & getType () const
 
const Prefix & getPrefix () const
 
std::vector< INode * > getChildren () override
 
std::unique_ptr< INode > clone () const override
 
- Public Member Functions inherited from cymoca::ast::INode
virtual ~INode ()
 
template<class T >
std::unique_ptr< T > cloneAs ()
 

Protected Attributes

std::string m_name
 
std::unique_ptr
< expression::Reference > 
m_type
 
Prefix m_prefix
 

Detailed Description

Definition at line 12 of file element.h.

Constructor & Destructor Documentation

cymoca::ast::element::Component::Component ( std::string  name,
std::string  type,
Prefix  prefix 
)
inline

Definition at line 20 of file element.h.

Member Function Documentation

std::unique_ptr<INode> cymoca::ast::element::Component::clone ( ) const
inlineoverridevirtual

Perform a deep copy of this node.

Implements cymoca::ast::INode.

Definition at line 28 of file element.h.

Here is the call graph for this function:

void cymoca::ast::element::Component::enter ( listener::Base &  listener)
inlineoverridevirtual

A double dispatch entrace hook for listeners.

Implements cymoca::ast::INode.

Definition at line 19 of file element.h.

void cymoca::ast::element::Component::exit ( listener::Base &  listener)
inlineoverridevirtual

A double dispatch exit hook for listeners.

Implements cymoca::ast::INode.

Definition at line 19 of file element.h.

std::vector<INode *> cymoca::ast::element::Component::getChildren ( )
inlineoverridevirtual

Returns a list of children (non-owning).

Implements cymoca::ast::INode.

Definition at line 27 of file element.h.

const std::string& cymoca::ast::element::Component::getName ( ) const
inline

Definition at line 24 of file element.h.

Here is the caller graph for this function:

const Prefix& cymoca::ast::element::Component::getPrefix ( ) const
inline

Definition at line 26 of file element.h.

Here is the caller graph for this function:

const expression::Reference& cymoca::ast::element::Component::getType ( ) const
inline

Definition at line 25 of file element.h.

Here is the caller graph for this function:

Member Data Documentation

std::string cymoca::ast::element::Component::m_name
protected

Definition at line 14 of file element.h.

Prefix cymoca::ast::element::Component::m_prefix
protected

Definition at line 16 of file element.h.

std::unique_ptr<expression::Reference> cymoca::ast::element::Component::m_type
protected

Definition at line 15 of file element.h.


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