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

#include <bond/compiler/parsenodes.h>

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

Public Member Functions

 FunctionDefinition (FunctionPrototype *prototype, CompoundStatement *body, TypeDescriptor *thisTypeDescriptor, Scope scope)
 
virtual ~FunctionDefinition ()
 
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
 
FunctionPrototypeGetPrototype ()
 
const FunctionPrototypeGetPrototype () const
 
CompoundStatementGetBody ()
 
const CompoundStatementGetBody () const
 
TypeDescriptorGetThisTypeDescriptor ()
 
const TypeDescriptorGetThisTypeDescriptor () const
 
Scope GetScope () const
 
bool IsNative () const
 
size_t GetNumReservedJumpTargetIds () const
 
void SetNumReservedJumpTargetIds (size_t numIds)
 
- 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

◆ FunctionDefinition()

Bond::FunctionDefinition::FunctionDefinition ( FunctionPrototype prototype,
CompoundStatement body,
TypeDescriptor thisTypeDescriptor,
Scope  scope 
)
inline

◆ ~FunctionDefinition()

virtual Bond::FunctionDefinition::~FunctionDefinition ( )
inlinevirtual

Member Function Documentation

◆ Accept() [1/2]

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

Implements Bond::ParseNode.

◆ Accept() [2/2]

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

Implements Bond::ParseNode.

◆ GetBody() [1/2]

CompoundStatement * Bond::FunctionDefinition::GetBody ( )
inline

◆ GetBody() [2/2]

const CompoundStatement * Bond::FunctionDefinition::GetBody ( ) const
inline

◆ GetName()

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

Reimplemented from Bond::Symbol.

◆ GetNumReservedJumpTargetIds()

size_t Bond::FunctionDefinition::GetNumReservedJumpTargetIds ( ) const
inline

◆ GetPrototype() [1/2]

FunctionPrototype * Bond::FunctionDefinition::GetPrototype ( )
inline

◆ GetPrototype() [2/2]

const FunctionPrototype * Bond::FunctionDefinition::GetPrototype ( ) const
inline

◆ GetScope()

Scope Bond::FunctionDefinition::GetScope ( ) const
inline

◆ GetSymbolType()

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

Implements Bond::Symbol.

◆ GetThisTypeDescriptor() [1/2]

TypeDescriptor * Bond::FunctionDefinition::GetThisTypeDescriptor ( )
inline

◆ GetThisTypeDescriptor() [2/2]

const TypeDescriptor * Bond::FunctionDefinition::GetThisTypeDescriptor ( ) const
inline

◆ GetTypeAndValue() [1/2]

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

Reimplemented from Bond::Symbol.

◆ GetTypeAndValue() [2/2]

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

Reimplemented from Bond::Symbol.

◆ IsNative()

bool Bond::FunctionDefinition::IsNative ( ) const
inline

◆ SetNumReservedJumpTargetIds()

void Bond::FunctionDefinition::SetNumReservedJumpTargetIds ( size_t  numIds)
inline

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