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

Public Types

using BoundArraySpecifiers = std::vector<std::optional<Types::u64>>
 
using Root = std::variant<Types::type::Primitive, Types::type::Structure, Types::type::Function, Types::type::Enumeration>
 

Public Member Functions

 BoundTypeExpression (Types::type::Primitive primitive, bool is_mutable, BoundArraySpecifiers specifiers)
 
 BoundTypeExpression (Types::type::Structure structure, bool is_mutable, BoundArraySpecifiers specifiers)
 
 BoundTypeExpression (Types::type::Enumeration structure, bool is_mutable, BoundArraySpecifiers specifiers)
 
 BoundTypeExpression (Types::type::Function function, bool is_mutable, BoundArraySpecifiers specifiers)
 
bool getMutable () const
 
bool getArray () const
 
const BoundArraySpecifiers & getArraySpecifiers () const
 
const Root & getBase () const
 
Types::type getActualType () const
 
virtual std::unique_ptr< const BoundExpressionclone () 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={}})
 
virtual std::vector< const BoundNode * > getChildren () const
 
const Token::InfogetInfo () const
 

Additional Inherited Members

- Protected Member Functions inherited from linc::BoundNode

Member Function Documentation

◆ clone()

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

Implements linc::BoundExpression.


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