Bond 0.9
C++ Bond Runtime Library API Documentation
Loading...
Searching...
No Matches
Bond::Expression Class Reference

Base class for expression nodes. More...

#include <bond/compiler/parsenodes.h>

Inheritance diagram for Bond::Expression:
Bond::ListParseNode Bond::ParseNode Bond::ArraySubscriptExpression Bond::BinaryExpression Bond::CastExpression Bond::ConditionalExpression Bond::ConstantLiteralExpression Bond::EmptyExpression Bond::FunctionCallExpression Bond::IdentifierExpression Bond::MemberExpression Bond::PostfixExpression Bond::PropertyofExpression Bond::ThisExpression Bond::UnaryExpression

Public Member Functions

virtual ~Expression ()
const TypeDescriptor & GetTypeDescriptor () const
 Returns the expression's type descriptor.
void SetTypeDescriptor (const TypeDescriptor &descriptor)
 Sets the expression's type descriptor.
const TypeAndValue & GetTypeAndValue () const
 Returns type and value metadata for the expression.
TypeAndValue & GetTypeAndValue ()
 Returns mutable type and value metadata for the expression.
Public Member Functions inherited from Bond::ListParseNode
virtual ~ListParseNode ()
ListParseNode * GetNextNode ()
 Returns the next node in the list.
const ListParseNode * GetNextNode () const
 Returns the next node in the list.
void SetNextNode (ListParseNode *next)
 Sets the next node in the list.
Public Member Functions inherited from Bond::ParseNode
virtual ~ParseNode ()
virtual void Accept (ParseNodeVisitor &visitor)=0
 Dispatches this node to the given visitor.
virtual void Accept (ParseNodeVisitor &visitor) const =0
 Dispatches this node to the given visitor.
virtual const Token * GetContextToken () const =0
 Returns the token used as source context for diagnostics.

Protected Member Functions

 Expression ()
Protected Member Functions inherited from Bond::ListParseNode
 ListParseNode ()
Protected Member Functions inherited from Bond::ParseNode
 ParseNode ()

Detailed Description

Base class for expression nodes.

Constructor & Destructor Documentation

◆ ~Expression()

virtual Bond::Expression::~Expression ( )
inlinevirtual

◆ Expression()

Bond::Expression::Expression ( )
inlineprotected

Member Function Documentation

◆ GetTypeAndValue() [1/2]

TypeAndValue & Bond::Expression::GetTypeAndValue ( )
inline

Returns mutable type and value metadata for the expression.

◆ GetTypeAndValue() [2/2]

const TypeAndValue & Bond::Expression::GetTypeAndValue ( ) const
inline

Returns type and value metadata for the expression.

◆ GetTypeDescriptor()

const TypeDescriptor & Bond::Expression::GetTypeDescriptor ( ) const
inline

Returns the expression's type descriptor.

◆ SetTypeDescriptor()

void Bond::Expression::SetTypeDescriptor ( const TypeDescriptor & descriptor)
inline

Sets the expression's type descriptor.

Parameters
descriptorType descriptor to assign.

The documentation for this class was generated from the following file:
  • include/bond/compiler/parsenodes.h