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

The ObjectDeclaration class. More...

#include <Declaration_Object.h>

Inheritance diagram for psy::C::ObjectDeclaration:
psy::C::Declaration psy::C::MIXIN_NameableSymbol psy::C::MIXIN_TypeableSymbol psy::C::Symbol psy::C::Enumerator psy::C::Field psy::C::Parameter psy::C::Variable

Classes

struct  ObjectDeclarationImpl
 

Public Member Functions

virtual const Identifieridentifier () const override
 
const Identifiername () const
 
const Typetype () const
 
virtual ObjectDeclarationasObjectDeclaration () override
 
virtual const ObjectDeclarationasObjectDeclaration () const override
 
ObjectDeclarationKind kind () const
 
virtual EnumeratorasEnumerator ()
 
virtual const EnumeratorasEnumerator () const
 
virtual FieldasField ()
 
virtual const FieldasField () const
 
virtual VariableasVariable ()
 
virtual const VariableasVariable () const
 
virtual ParameterasParameter ()
 
virtual const ParameterasParameter () const
 
- Public Member Functions inherited from psy::C::Declaration
DeclarationKind kind () const
 
const ScopeenclosingScope () const
 
const NameSpace nameSpace () const
 
std::vector< SyntaxReferencedeclaringSyntaxReferences () const
 
Location location () const
 
virtual DeclarationasDeclaration () override
 
virtual const DeclarationasDeclaration () const override
 
virtual FunctionasFunction ()
 
virtual const FunctionasFunction () const
 
virtual TypeDeclarationasTypeDeclaration ()
 
virtual const TypeDeclarationasTypeDeclaration () const
 
- Public Member Functions inherited from psy::C::Symbol
SymbolKind kind () const
 
virtual ProgramasProgram ()
 
virtual const ProgramasProgram () const
 
virtual TranslationUnitasTranslationUnit ()
 
virtual const TranslationUnitasTranslationUnit () const
 
const SymbolcontainingSymbol () const
 
virtual std::string toDisplayString () const =0
 

Protected Member Functions

ObjectDeclarationImplCAST () const
 
 ObjectDeclaration (const SyntaxTree *tree, const Symbol *containingSym, const Scope *enclosingScope, ObjectDeclarationKind objDeclK)
 
- Protected Member Functions inherited from psy::C::Declaration
 Declaration (SymbolImpl *p, DeclarationKind declK)
 
 Declaration (const Declaration &)=delete
 
Declarationoperator= (const Declaration &)=delete
 
- Protected Member Functions inherited from psy::C::Symbol
 Symbol (SymbolImpl *p)
 
 Symbol (const Symbol &)=delete
 
Symboloperator= (const Symbol &)=delete
 

Additional Inherited Members

- Protected Attributes inherited from psy::C::Symbol
std::unique_ptr< SymbolImpl > impl_
 

Detailed Description

The ObjectDeclaration class.

Member Function Documentation

◆ asEnumerator() [1/2]

virtual Enumerator* psy::C::ObjectDeclaration::asEnumerator ( )
inlinevirtual

Cast this ObjectDeclaration.

Reimplemented in psy::C::Enumerator.

◆ asEnumerator() [2/2]

virtual const Enumerator* psy::C::ObjectDeclaration::asEnumerator ( ) const
inlinevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented in psy::C::Enumerator.

◆ asField() [1/2]

virtual Field* psy::C::ObjectDeclaration::asField ( )
inlinevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented in psy::C::Field.

◆ asField() [2/2]

virtual const Field* psy::C::ObjectDeclaration::asField ( ) const
inlinevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented in psy::C::Field.

◆ asObjectDeclaration() [1/2]

virtual const ObjectDeclaration* psy::C::ObjectDeclaration::asObjectDeclaration ( ) const
inlineoverridevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented from psy::C::Declaration.

◆ asObjectDeclaration() [2/2]

virtual ObjectDeclaration* psy::C::ObjectDeclaration::asObjectDeclaration ( )
inlineoverridevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented from psy::C::Declaration.

◆ asParameter() [1/2]

virtual Parameter* psy::C::ObjectDeclaration::asParameter ( )
inlinevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented in psy::C::Parameter.

◆ asParameter() [2/2]

virtual const Parameter* psy::C::ObjectDeclaration::asParameter ( ) const
inlinevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented in psy::C::Parameter.

◆ asVariable() [1/2]

virtual Variable* psy::C::ObjectDeclaration::asVariable ( )
inlinevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented in psy::C::Variable.

◆ asVariable() [2/2]

virtual const Variable* psy::C::ObjectDeclaration::asVariable ( ) const
inlinevirtual

Cast this Symbol as a ObjectDeclaration.

Reimplemented in psy::C::Variable.

◆ identifier()

virtual const Identifier* psy::C::ObjectDeclaration::identifier ( ) const
inlineoverridevirtual

The Identifier with which this Declaration is declared.

Implements psy::C::Declaration.

◆ kind()

ObjectDeclarationKind ObjectDeclaration::kind ( ) const

The ObjectDeclarationKind of this ObjectDeclaration.

◆ name()

const Identifier * ObjectDeclaration::name ( ) const

The Identifier that names this ObjectDeclaration.

◆ type()

const Type * ObjectDeclaration::type ( ) const

The Type of this value.


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