The Psyche Project
|
Public Member Functions | |
DeclarationKind | kind () const |
virtual const Identifier * | identifier () const =0 |
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 ObjectDeclaration * | asObjectDeclaration () |
virtual const ObjectDeclaration * | asObjectDeclaration () 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 | |
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_ |
|
inlineoverridevirtual |
Cast this
Symbol as a Declaration.
Reimplemented from psy::C::Symbol.
|
inlineoverridevirtual |
Cast this
Symbol as a Declaration.
Reimplemented from psy::C::Symbol.
|
inlinevirtual |
Cast this
Declaration.
Reimplemented in psy::C::Function.
|
inlinevirtual |
Cast this
Declaration.
Reimplemented in psy::C::Function.
|
inlinevirtual |
Cast this
Declaration.
Reimplemented in psy::C::ObjectDeclaration.
|
inlinevirtual |
Cast this
Declaration.
Reimplemented in psy::C::ObjectDeclaration.
|
inlinevirtual |
Cast this
Declaration.
Reimplemented in psy::C::TypeDeclaration.
|
inlinevirtual |
Cast this
Declaration.
Reimplemented in psy::C::TypeDeclaration.
std::vector< SyntaxReference > Declaration::declaringSyntaxReferences | ( | ) | const |
References to the SyntaxNodes that declare this
Declaration.
const Scope * Declaration::enclosingScope | ( | ) | const |
The Scope that encloses this
Declaration.
|
pure virtual |
The Identifier with which this
Declaration is declared.
Implemented in psy::C::ObjectDeclaration, psy::C::TagTypeDeclaration, psy::C::Function, and psy::C::Typedef.
DeclarationKind Declaration::kind | ( | ) | const |
The DeclarationKind of this
Symbol.
Location Declaration::location | ( | ) | const |
The Location of this
Declaration.
const NameSpace Declaration::nameSpace | ( | ) | const |
The NameSpace of this
Declaration.