The Psyche Project
Classes | Public Member Functions | Protected Member Functions | List of all members
psy::C::FunctionSymbol Class Referencefinal

The FunctionSymbol class. More...

#include <Symbol_Function.h>

Inheritance diagram for psy::C::FunctionSymbol:
psy::C::Symbol psy::C::TypeClass_NameableSymbol psy::C::TypeClass_TypeableSymbol

Classes

struct  FunctionSymbolImpl
 

Public Member Functions

const SymbolName * name () const
 
const TypeSymbol * type () const
 
const TypeSymbol * returnType () const
 
virtual FunctionSymbol * asFunction () override
 
virtual const FunctionSymbol * asFunction () const override
 
- Public Member Functions inherited from psy::C::Symbol
SymbolKind kind () const
 
virtual LibrarySymbol * asLibrary ()
 
virtual const LibrarySymbol * asLibrary () const
 
virtual ValueSymbol * asValue ()
 
virtual const ValueSymbol * asValue () const
 
virtual TypeSymbol * asType ()
 
virtual const TypeSymbol * asType () const
 
const Assembly * owningAssembly () const
 
const Symbol * containingSymbol () const
 
const Scope * scope () const
 
const NameSpace * nameSpace () const
 
Location location () const
 
Accessibility declaredAccessibility () const
 
std::vector< SyntaxReference > declaringSyntaxReferences () const
 

Protected Member Functions

FunctionSymbolImpl * CAST () const
 
- Protected Member Functions inherited from psy::C::Symbol
 Symbol (SymbolImpl *p)
 
 Symbol (const Symbol &)=delete
 
Symbol & operator= (const Symbol &)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from psy::C::TypeClass_NameableSymbol
static TypeClass_NameableSymbol * asInstance (Symbol *)
 
- Static Public Member Functions inherited from psy::C::TypeClass_TypeableSymbol
static TypeClass_TypeableSymbol * asInstance (Symbol *)
 
- Protected Attributes inherited from psy::C::Symbol
std::unique_ptr< SymbolImpl > impl_
 

Detailed Description

The FunctionSymbol class.

Note
This API is inspired by that of Microsoft.CodeAnalysis.IMethodSymbol from Roslyn, the .NET Compiler Platform.

Member Function Documentation

◆ asFunction() [1/2]

virtual const FunctionSymbol* psy::C::FunctionSymbol::asFunction ( ) const
inlineoverridevirtual

Cast this Symbol as a FunctionSymbol.

Reimplemented from psy::C::Symbol.

◆ asFunction() [2/2]

virtual FunctionSymbol* psy::C::FunctionSymbol::asFunction ( )
inlineoverridevirtual

Cast this Symbol as a FunctionSymbol.

Reimplemented from psy::C::Symbol.

◆ name()

const SymbolName * FunctionSymbol::name ( ) const

The SymbolName of this Symbol.

◆ returnType()

const TypeSymbol* psy::C::FunctionSymbol::returnType ( ) const

The return type of this FunctionSymbol.

See also
FunctionSymbol::type

◆ type()

const TypeSymbol * FunctionSymbol::type ( ) const

The type of this FunctionSymbol.

See also
FunctionSymbol::returnType

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