linc 0.7
Linc is a general-purpose programming language inspired by C
Loading...
Searching...
No Matches
linc::FunctionDeclaration Class Referencefinal
Inheritance diagram for linc::FunctionDeclaration:
linc::Declaration linc::Node

Public Member Functions

 FunctionDeclaration (const Token &function_specifier, const Token &type_specifier, const Token &left_parenthesis, const Token &right_parenenthesis, std::unique_ptr< const IdentifierExpression > identifier, std::unique_ptr< const TypeExpression > type, std::unique_ptr< const NodeListClause< VariableDeclaration > > arguments, std::unique_ptr< const Expression > body)
 
virtual std::unique_ptr< const Declarationclone () const final override
 
const TokengetFunctionSpecifier () const
 
const TokengetTypeSpecifier () const
 
const TokengetLeftParenthesis () const
 
const TokengetRightParenthesis () const
 
const IdentifierExpression *const getIdentifier () const
 
const TypeExpression *const getReturnType () const
 
const NodeListClause< VariableDeclaration > * getArguments () const
 
const Expression *const getBody () const
 
- Public Member Functions inherited from linc::Declaration
 Declaration (NodeInfo info=NodeInfo{})
 
 Declaration (const Token::Info &token_info)
 
- Public Member Functions inherited from linc::Node
 Node (const NodeInfo &info)
 
 Node (const Token::Info &token_info)
 
const Token::InfogetTokenInfo () const
 
const std::vector< Token > & getTokens () const
 
const NodeInfogetInfo () const
 
std::string getInfoString () const
 
void setLineNumber (size_t line_number) const
 
void setTokens (std::vector< Token > tokens) const
 
void addToken (const Token &token) const
 
void addTokens (const std::vector< Token > &tokens) const
 
std::unique_ptr< const Nodeclone () const
 

Member Function Documentation

◆ clone()

virtual std::unique_ptr< const Declaration > linc::FunctionDeclaration::clone ( ) const
inlinefinaloverridevirtual

Implements linc::Declaration.


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