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

Classes

struct  BoundRangeForSpecifier
 
struct  BoundVariableForSpecifier
 

Public Member Functions

 BoundForExpression (std::string_view label, std::unique_ptr< const BoundVariableDeclaration > declaration, std::unique_ptr< const BoundExpression > expression, std::unique_ptr< const BoundStatement > statement, std::unique_ptr< const BoundExpression > body)
 
 BoundForExpression (std::string_view label, std::unique_ptr< const BoundIdentifierExpression > value_identifier, std::unique_ptr< const BoundIdentifierExpression > array_identifier, std::unique_ptr< const BoundExpression > body)
 
const std::string & getLabel () const
 
const std::variant< const BoundVariableForSpecifier, const BoundRangeForSpecifier > & getSpecifier () const
 
const BoundExpression *const getBody () const
 
virtual std::unique_ptr< const BoundExpressionclone () const final override
 
virtual std::vector< const BoundNode * > getChildren () const final override
 
- Public Member Functions inherited from linc::BoundExpression
 BoundExpression (const Types::type &type)
 
const Types::typegetType () const
 
virtual std::string toString () const final override
 
- Public Member Functions inherited from linc::BoundNode
 BoundNode (const Token::Info &info=Token::Info{.file={},.line={}})
 
const Token::InfogetInfo () const
 

Additional Inherited Members

- Protected Member Functions inherited from linc::BoundNode

Member Function Documentation

◆ clone()

std::unique_ptr< const BoundExpression > linc::BoundForExpression::clone ( ) const
finaloverridevirtual

Implements linc::BoundExpression.

◆ getChildren()

virtual std::vector< const BoundNode * > linc::BoundForExpression::getChildren ( ) const
inlinefinaloverridevirtual

Reimplemented from linc::BoundNode.


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