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 SymbolNamename () const
 
const TypeSymboltype () const
 
virtual ValueSymbolasValue () override
 
virtual const ValueSymbolasValue () const override
 
virtual EnumeratorSymbolasEnumerator ()
 
virtual const EnumeratorSymbolasEnumerator () const
 
virtual FieldSymbolasField ()
 
virtual const FieldSymbolasField () const
 
virtual VariableSymbolasVariable ()
 
virtual const VariableSymbolasVariable () const
 
virtual ParameterSymbolasParameter ()
 
virtual const ParameterSymbolasParameter () const
 
- Public Member Functions inherited from psy::C::Symbol
SymbolKind kind () const
 
virtual LibrarySymbolasLibrary ()
 
virtual const LibrarySymbolasLibrary () const
 
virtual FunctionSymbolasFunction ()
 
virtual const FunctionSymbolasFunction () 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

ValueSymbolImplCAST () 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
 
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 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: