The Psyche Project
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psy::C::Symbol Class Reference

The Symbol class. More...

#include <Symbol.h>

Inheritance diagram for psy::C::Symbol:
psy::C::FunctionSymbol psy::C::LibrarySymbol psy::C::TypeSymbol psy::C::ValueSymbol psy::C::ArrayTypeSymbol psy::C::FunctionTypeSymbol psy::C::NamedTypeSymbol psy::C::PointerTypeSymbol psy::C::EnumeratorSymbol psy::C::FieldSymbol psy::C::ParameterSymbol psy::C::VariableSymbol

Public Member Functions

SymbolKind kind () const
 
virtual LibrarySymbolasLibrary ()
 
virtual const LibrarySymbolasLibrary () const
 
virtual FunctionSymbolasFunction ()
 
virtual const FunctionSymbolasFunction () 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

 Symbol (SymbolImpl *p)
 
 Symbol (const Symbol &)=delete
 
Symboloperator= (const Symbol &)=delete
 

Protected Attributes

std::unique_ptr< SymbolImpl > impl_
 

Detailed Description

The Symbol class.

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

Member Function Documentation

◆ containingSymbol()

const Symbol* psy::C::Symbol::containingSymbol ( ) const

The Symbol that contains this Symbol.

◆ declaredAccessibility()

Accessibility Symbol::declaredAccessibility ( ) const

The Accessibility this Symbol declares.

◆ declaringSyntaxReferences()

std::vector< SyntaxReference > Symbol::declaringSyntaxReferences ( ) const

References to the SyntaxNodes that declare this Symbol.

◆ kind()

SymbolKind Symbol::kind ( ) const

The SymbolKind of this Symbol.

◆ location()

Location Symbol::location ( ) const

The Location of this Symbol.

◆ nameSpace()

const NameSpace * Symbol::nameSpace ( ) const

The NameSpace of this Symbol.

◆ owningAssembly()

const Assembly * Symbol::owningAssembly ( ) const

The Assembly that owns this Symbol.

◆ scope()

const Scope * Symbol::scope ( ) const

The Scope of this Symbol.

Remarks
6.2.1-4

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