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

#include <bond/compiler/parsenodes.h>

Inheritance diagram for Bond::Enumerator:
Bond::Symbol Bond::ListParseNode Bond::ParseNode

Public Member Functions

 Enumerator (const Token *name, TypeDescriptor &typeDescriptor, Expression *value)
 
virtual ~Enumerator ()
 
virtual void Accept (ParseNodeVisitor &visitor) override
 
virtual void Accept (ParseNodeVisitor &visitor) const override
 
virtual SymbolType GetSymbolType () const override
 
virtual const TokenGetName () const override
 
virtual TypeAndValueGetTypeAndValue () override
 
virtual const TypeAndValueGetTypeAndValue () const override
 
ExpressionGetValue ()
 
const ExpressionGetValue () const
 
- Public Member Functions inherited from Bond::Symbol
virtual ~Symbol ()
 
virtual const TokenGetContextToken () const override
 
virtual SymbolType GetSymbolType () const =0
 
virtual const TokenGetName () const
 
virtual TypeAndValueGetTypeAndValue ()
 
virtual const TypeAndValueGetTypeAndValue () const
 
virtual bool IsResolved () const
 
bool IsTypeDefinition () const
 
SymbolGetParentSymbol ()
 
const SymbolGetParentSymbol () const
 
void SetParentSymbol (Symbol *parent)
 
SymbolFindSymbol (const StringView &name)
 
const SymbolFindSymbol (const StringView &name) const
 
SymbolFindSymbol (const Token *name)
 
const SymbolFindSymbol (const Token *name) const
 
SymbolFindSymbol (const QualifiedIdentifier *identifier)
 
const SymbolFindSymbol (const QualifiedIdentifier *identifier) const
 
void InsertSymbol (Symbol *symbol)
 
bool IsAnonymous () const
 
bool Matches (const StringView &name) const
 
- Public Member Functions inherited from Bond::ListParseNode
virtual ~ListParseNode ()
 
ListParseNodeGetNextNode ()
 
const ListParseNodeGetNextNode () const
 
void SetNextNode (ListParseNode *next)
 
- Public Member Functions inherited from Bond::ParseNode
virtual ~ParseNode ()
 
virtual void Accept (ParseNodeVisitor &visitor)=0
 
virtual void Accept (ParseNodeVisitor &visitor) const =0
 
virtual const TokenGetContextToken () const =0
 

Additional Inherited Members

- Public Types inherited from Bond::Symbol
enum  SymbolType {
  TYPE_NAMESPACE , TYPE_STRUCT , TYPE_ENUM , TYPE_LOCALSCOPE ,
  TYPE_VALUE , TYPE_FUNCTION
}
 
- Protected Member Functions inherited from Bond::Symbol
 Symbol ()
 
- Protected Member Functions inherited from Bond::ListParseNode
 ListParseNode ()
 
- Protected Member Functions inherited from Bond::ParseNode
 ParseNode ()
 

Constructor & Destructor Documentation

◆ Enumerator()

Bond::Enumerator::Enumerator ( const Token name,
TypeDescriptor typeDescriptor,
Expression value 
)
inline

◆ ~Enumerator()

virtual Bond::Enumerator::~Enumerator ( )
inlinevirtual

Member Function Documentation

◆ Accept() [1/2]

virtual void Bond::Enumerator::Accept ( ParseNodeVisitor visitor) const
inlineoverridevirtual

Implements Bond::ParseNode.

◆ Accept() [2/2]

virtual void Bond::Enumerator::Accept ( ParseNodeVisitor visitor)
inlineoverridevirtual

Implements Bond::ParseNode.

◆ GetName()

virtual const Token * Bond::Enumerator::GetName ( ) const
inlineoverridevirtual

Reimplemented from Bond::Symbol.

◆ GetSymbolType()

virtual SymbolType Bond::Enumerator::GetSymbolType ( ) const
inlineoverridevirtual

Implements Bond::Symbol.

◆ GetTypeAndValue() [1/2]

virtual const TypeAndValue * Bond::Enumerator::GetTypeAndValue ( ) const
inlineoverridevirtual

Reimplemented from Bond::Symbol.

◆ GetTypeAndValue() [2/2]

virtual TypeAndValue * Bond::Enumerator::GetTypeAndValue ( )
inlineoverridevirtual

Reimplemented from Bond::Symbol.

◆ GetValue() [1/2]

Expression * Bond::Enumerator::GetValue ( )
inline

◆ GetValue() [2/2]

const Expression * Bond::Enumerator::GetValue ( ) const
inline

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