The Psyche Project
|
The ObjectDeclaration class. More...
#include <Declaration_Object.h>
Classes | |
struct | ObjectDeclarationImpl |
Public Member Functions | |
virtual const Identifier * | identifier () const override |
const Identifier * | name () const |
const Type * | type () const |
virtual ObjectDeclaration * | asObjectDeclaration () override |
virtual const ObjectDeclaration * | asObjectDeclaration () const override |
ObjectDeclarationKind | kind () const |
virtual Enumerator * | asEnumerator () |
virtual const Enumerator * | asEnumerator () const |
virtual Field * | asField () |
virtual const Field * | asField () const |
virtual Variable * | asVariable () |
virtual const Variable * | asVariable () const |
virtual Parameter * | asParameter () |
virtual const Parameter * | asParameter () const |
![]() | |
DeclarationKind | kind () const |
const Scope * | enclosingScope () const |
const NameSpace | nameSpace () const |
std::vector< SyntaxReference > | declaringSyntaxReferences () const |
Location | location () const |
virtual Declaration * | asDeclaration () override |
virtual const Declaration * | asDeclaration () const override |
virtual Function * | asFunction () |
virtual const Function * | asFunction () const |
virtual TypeDeclaration * | asTypeDeclaration () |
virtual const TypeDeclaration * | asTypeDeclaration () const |
![]() | |
SymbolKind | kind () const |
virtual Program * | asProgram () |
virtual const Program * | asProgram () const |
virtual TranslationUnit * | asTranslationUnit () |
virtual const TranslationUnit * | asTranslationUnit () const |
const Symbol * | containingSymbol () const |
virtual std::string | toDisplayString () const =0 |
Protected Member Functions | |
ObjectDeclarationImpl * | CAST () const |
ObjectDeclaration (const SyntaxTree *tree, const Symbol *containingSym, const Scope *enclosingScope, ObjectDeclarationKind objDeclK) | |
![]() | |
Declaration (SymbolImpl *p, DeclarationKind declK) | |
Declaration (const Declaration &)=delete | |
Declaration & | operator= (const Declaration &)=delete |
![]() | |
Symbol (SymbolImpl *p) | |
Symbol (const Symbol &)=delete | |
Symbol & | operator= (const Symbol &)=delete |
Additional Inherited Members | |
![]() | |
std::unique_ptr< SymbolImpl > | impl_ |
The ObjectDeclaration class.
|
inlinevirtual |
Cast this
ObjectDeclaration.
Reimplemented in psy::C::Enumerator.
|
inlinevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented in psy::C::Enumerator.
|
inlinevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented in psy::C::Field.
|
inlinevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented in psy::C::Field.
|
inlineoverridevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented from psy::C::Declaration.
|
inlineoverridevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented from psy::C::Declaration.
|
inlinevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented in psy::C::Parameter.
|
inlinevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented in psy::C::Parameter.
|
inlinevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented in psy::C::Variable.
|
inlinevirtual |
Cast this
Symbol as a ObjectDeclaration.
Reimplemented in psy::C::Variable.
|
inlineoverridevirtual |
The Identifier with which this
Declaration is declared.
Implements psy::C::Declaration.
ObjectDeclarationKind ObjectDeclaration::kind | ( | ) | const |
The ObjectDeclarationKind of this
ObjectDeclaration.
const Identifier * ObjectDeclaration::name | ( | ) | const |
The Identifier that names this
ObjectDeclaration.