Bash++
Bash++ compiler internal documentation
Classes | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
AST::MethodDefinition Class Reference

#include <MethodDefinition.h>

Inheritance diagram for AST::MethodDefinition:
Inheritance graph
[legend]
Collaboration diagram for AST::MethodDefinition:
Collaboration graph
[legend]

Classes

struct  Parameter
 

Public Member Functions

constexpr AST::NodeType getType () const override
 
const AST::Token< std::string > & NAME () const
 
void setName (const AST::Token< std::string > &name)
 
bool VIRTUAL () const
 
void setVirtual (bool is_virtual)
 
const AST::Token< AccessModifier > & ACCESSMODIFIER () const
 
void setAccessModifier (const AST::Token< AccessModifier > &accessmodifier)
 
const std::vector< AST::Token< Parameter > > & PARAMETERS () const
 
void addParameter (const AST::Token< Parameter > &parameter)
 
void addParameters (const std::vector< AST::Token< Parameter > > &parameters)
 
std::ostream & prettyPrint (std::ostream &os, int indentation_level=0) const override
 
- Public Member Functions inherited from AST::ASTNode
 ASTNode ()=default
 
void addChild (const std::shared_ptr< ASTNode > &child)
 Add a child node to this AST node. This function also:
 
void addChildren (const std::vector< std::shared_ptr< ASTNode > > &childs)
 Add a vector of child nodes to this AST node. This function also:
 
const std::vector< std::shared_ptr< ASTNode > > & getChildren () const
 
void setPosition (const AST::FilePosition &pos)
 
void setPosition (uint32_t line, uint32_t column)
 
const AST::FilePositiongetPosition () const
 
void setEndPosition (const AST::FilePosition &pos)
 
void setEndPosition (uint32_t line, uint32_t column)
 
const AST::FilePositiongetEndPosition () const
 
uint32_t getLine () const
 
uint32_t getCharPositionInLine () const
 
std::shared_ptr< ASTNodegetChildAt (size_t index) const
 
std::shared_ptr< ASTNodegetFirstChild () const
 
std::shared_ptr< ASTNodegetLastChild () const
 
size_t getChildrenCount () const
 
void clear ()
 
void clearChildren ()
 

Static Public Attributes

static constexpr AST::NodeType static_type = AST::NodeType::MethodDefinition
 

Protected Attributes

bool m_VIRTUAL = false
 
AST::Token< AccessModifierm_ACCESSMODIFIER
 
AST::Token< std::string > m_NAME
 
std::vector< AST::Token< Parameter > > m_PARAMETERS
 
- Protected Attributes inherited from AST::ASTNode
std::vector< std::shared_ptr< ASTNode > > children
 
AST::FilePosition position
 
AST::FilePosition end_position
 

Member Function Documentation

◆ ACCESSMODIFIER()

const AST::Token< AccessModifier > & AST::MethodDefinition::ACCESSMODIFIER ( ) const
inline

◆ addParameter()

void AST::MethodDefinition::addParameter ( const AST::Token< Parameter > &  parameter)
inline

◆ addParameters()

void AST::MethodDefinition::addParameters ( const std::vector< AST::Token< Parameter > > &  parameters)
inline

◆ getType()

constexpr AST::NodeType AST::MethodDefinition::getType ( ) const
inlineconstexproverridevirtual

Implements AST::ASTNode.

◆ NAME()

const AST::Token< std::string > & AST::MethodDefinition::NAME ( ) const
inline

◆ PARAMETERS()

const std::vector< AST::Token< Parameter > > & AST::MethodDefinition::PARAMETERS ( ) const
inline

◆ prettyPrint()

std::ostream & AST::MethodDefinition::prettyPrint ( std::ostream &  os,
int  indentation_level = 0 
) const
inlineoverridevirtual

Implements AST::ASTNode.

◆ setAccessModifier()

void AST::MethodDefinition::setAccessModifier ( const AST::Token< AccessModifier > &  accessmodifier)
inline

◆ setName()

void AST::MethodDefinition::setName ( const AST::Token< std::string > &  name)
inline

◆ setVirtual()

void AST::MethodDefinition::setVirtual ( bool  is_virtual)
inline

◆ VIRTUAL()

bool AST::MethodDefinition::VIRTUAL ( ) const
inline

Member Data Documentation

◆ m_ACCESSMODIFIER

AST::Token<AccessModifier> AST::MethodDefinition::m_ACCESSMODIFIER
protected

◆ m_NAME

AST::Token<std::string> AST::MethodDefinition::m_NAME
protected

◆ m_PARAMETERS

std::vector<AST::Token<Parameter> > AST::MethodDefinition::m_PARAMETERS
protected

◆ m_VIRTUAL

bool AST::MethodDefinition::m_VIRTUAL = false
protected

◆ static_type

constexpr AST::NodeType AST::MethodDefinition::static_type = AST::NodeType::MethodDefinition
staticconstexpr

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