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

Represents an identifier expression. More...

#include <bond/compiler/parsenodes.h>

Inheritance diagram for Bond::IdentifierExpression:
Bond::Expression Bond::ListParseNode Bond::ParseNode

Public Member Functions

 IdentifierExpression (QualifiedIdentifier *identifier)
 Constructs an identifier expression.
virtual ~IdentifierExpression ()
virtual void Accept (ParseNodeVisitor &visitor) override
 Dispatches this node to the given visitor.
virtual void Accept (ParseNodeVisitor &visitor) const override
 Dispatches this node to the given visitor.
virtual const Token * GetContextToken () const override
 Returns the token used as source context for diagnostics.
QualifiedIdentifier * GetIdentifier ()
 Returns the qualified identifier.
const QualifiedIdentifier * GetIdentifier () const
 Returns the qualified identifier.
Symbol * GetDefinition ()
 Returns resolved symbol definition for the identifier.
const Symbol * GetDefinition () const
 Returns resolved symbol definition for the identifier.
void SetDefinition (Symbol *symbol)
 Sets resolved symbol definition for the identifier.
Public Member Functions inherited from Bond::Expression
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 ()

Additional Inherited Members

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

Detailed Description

Represents an identifier expression.

Constructor & Destructor Documentation

◆ IdentifierExpression()

Bond::IdentifierExpression::IdentifierExpression ( QualifiedIdentifier * identifier)
inlineexplicit

Constructs an identifier expression.

Parameters
identifierQualified identifier.

◆ ~IdentifierExpression()

virtual Bond::IdentifierExpression::~IdentifierExpression ( )
inlinevirtual

Member Function Documentation

◆ Accept() [1/2]

virtual void Bond::IdentifierExpression::Accept ( ParseNodeVisitor & visitor) const
inlineoverridevirtual

Dispatches this node to the given visitor.

Parameters
visitorVisitor that handles this node type.

Implements Bond::ParseNode.

◆ Accept() [2/2]

virtual void Bond::IdentifierExpression::Accept ( ParseNodeVisitor & visitor)
inlineoverridevirtual

Dispatches this node to the given visitor.

Parameters
visitorVisitor that handles this node type.

Implements Bond::ParseNode.

◆ GetContextToken()

virtual const Token * Bond::IdentifierExpression::GetContextToken ( ) const
inlineoverridevirtual

Returns the token used as source context for diagnostics.

Returns
A token associated with this node, or null if no token applies.

Implements Bond::ParseNode.

◆ GetDefinition() [1/2]

Symbol * Bond::IdentifierExpression::GetDefinition ( )
inline

Returns resolved symbol definition for the identifier.

◆ GetDefinition() [2/2]

const Symbol * Bond::IdentifierExpression::GetDefinition ( ) const
inline

Returns resolved symbol definition for the identifier.

◆ GetIdentifier() [1/2]

QualifiedIdentifier * Bond::IdentifierExpression::GetIdentifier ( )
inline

Returns the qualified identifier.

◆ GetIdentifier() [2/2]

const QualifiedIdentifier * Bond::IdentifierExpression::GetIdentifier ( ) const
inline

Returns the qualified identifier.

◆ SetDefinition()

void Bond::IdentifierExpression::SetDefinition ( Symbol * symbol)
inline

Sets resolved symbol definition for the identifier.

Parameters
symbolResolved symbol definition.

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