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

The ValueSymbol class. More...

#include <Symbol_Value.h>

Inheritance diagram for psy::C::ValueSymbol:
psy::C::Symbol psy::C::TypeClass_NameableSymbol psy::C::TypeClass_TypeableSymbol psy::C::EnumeratorSymbol psy::C::FieldSymbol psy::C::ParameterSymbol psy::C::VariableSymbol

Classes

struct  ValueSymbolImpl
 

Public Member Functions

ValueKind valueKind () const
 
const SymbolName * name () const
 
const TypeSymbol * type () const
 
virtual ValueSymbol * asValue () override
 
virtual const ValueSymbol * asValue () const override
 
virtual EnumeratorSymbol * asEnumerator ()
 
virtual const EnumeratorSymbol * asEnumerator () const
 
virtual FieldSymbol * asField ()
 
virtual const FieldSymbol * asField () const
 
virtual VariableSymbol * asVariable ()
 
virtual const VariableSymbol * asVariable () const
 
virtual ParameterSymbol * asParameter ()
 
virtual const ParameterSymbol * asParameter () const
 
- Public Member Functions inherited from psy::C::Symbol
SymbolKind kind () const
 
virtual LibrarySymbol * asLibrary ()
 
virtual const LibrarySymbol * asLibrary () const
 
virtual FunctionSymbol * asFunction ()
 
virtual const FunctionSymbol * asFunction () 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

ValueSymbolImpl * CAST () const
 
 ValueSymbol (const SyntaxTree *tree, const Scope *scope, const Symbol *containingSym, ValueKind valKind)
 
- 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 ValueSymbol class.

Member Function Documentation

◆ asEnumerator() [1/2]

virtual EnumeratorSymbol* psy::C::ValueSymbol::asEnumerator ( )
inlinevirtual

Cast this ValueSymbol.

Reimplemented in psy::C::EnumeratorSymbol.

◆ asEnumerator() [2/2]

virtual const EnumeratorSymbol* psy::C::ValueSymbol::asEnumerator ( ) const
inlinevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented in psy::C::EnumeratorSymbol.

◆ asField() [1/2]

virtual FieldSymbol* psy::C::ValueSymbol::asField ( )
inlinevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented in psy::C::FieldSymbol.

◆ asField() [2/2]

virtual const FieldSymbol* psy::C::ValueSymbol::asField ( ) const
inlinevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented in psy::C::FieldSymbol.

◆ asParameter() [1/2]

virtual ParameterSymbol* psy::C::ValueSymbol::asParameter ( )
inlinevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented in psy::C::ParameterSymbol.

◆ asParameter() [2/2]

virtual const ParameterSymbol* psy::C::ValueSymbol::asParameter ( ) const
inlinevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented in psy::C::ParameterSymbol.

◆ asValue() [1/2]

virtual const ValueSymbol* psy::C::ValueSymbol::asValue ( ) const
inlineoverridevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented from psy::C::Symbol.

◆ asValue() [2/2]

virtual ValueSymbol* psy::C::ValueSymbol::asValue ( )
inlineoverridevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented from psy::C::Symbol.

◆ asVariable() [1/2]

virtual VariableSymbol* psy::C::ValueSymbol::asVariable ( )
inlinevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented in psy::C::VariableSymbol.

◆ asVariable() [2/2]

virtual const VariableSymbol* psy::C::ValueSymbol::asVariable ( ) const
inlinevirtual

Cast this Symbol as a ValueSymbol.

Reimplemented in psy::C::VariableSymbol.

◆ name()

const SymbolName * ValueSymbol::name ( ) const

The SymbolName of this Symbol.

◆ type()

const TypeSymbol * ValueSymbol::type ( ) const

The type of this value.

◆ valueKind()

ValueKind ValueSymbol::valueKind ( ) const

The (value) kind of this value.


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