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 SymbolNamename () const
 
const TypeSymboltype () const
 
const TypeSymbolreturnType () const
 
virtual FunctionSymbolasFunction () override
 
virtual const FunctionSymbolasFunction () const override
 
- Public Member Functions inherited from psy::C::Symbol
SymbolKind kind () const
 
virtual LibrarySymbolasLibrary ()
 
virtual const LibrarySymbolasLibrary () const
 
virtual ValueSymbolasValue ()
 
virtual const ValueSymbolasValue () const
 
virtual TypeSymbolasType ()
 
virtual const TypeSymbolasType () const
 
const AssemblyowningAssembly () const
 
const SymbolcontainingSymbol () const
 
const Scopescope () const
 
const NameSpacenameSpace () const
 
Location location () const
 
Accessibility declaredAccessibility () const
 
std::vector< SyntaxReferencedeclaringSyntaxReferences () const
 

Protected Member Functions

FunctionSymbolImplCAST () const
 
- Protected Member Functions inherited from psy::C::Symbol
 Symbol (SymbolImpl *p)
 
 Symbol (const Symbol &)=delete
 
Symboloperator= (const Symbol &)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from psy::C::TypeClass_NameableSymbol
static TypeClass_NameableSymbolasInstance (Symbol *)
 
- Static Public Member Functions inherited from psy::C::TypeClass_TypeableSymbol
static TypeClass_TypeableSymbolasInstance (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: