The Psyche Project
Public Member Functions | List of all members
psy::C::Field Class Referencefinal

The Field class. More...

#include <ObjectDeclaration_Field.h>

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

Public Member Functions

virtual std::string toDisplayString () const override
 
virtual FieldasField () override
 
virtual const FieldasField () const override
 
- Public Member Functions inherited from psy::C::ObjectDeclaration
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 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
 

Additional Inherited Members

- Protected Member Functions inherited from psy::C::ObjectDeclaration
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
 
- Protected Attributes inherited from psy::C::Symbol
std::unique_ptr< SymbolImpl > impl_
 

Detailed Description

The Field class.

Note
This API is inspired by that of Microsoft.CodeAnalysis.IField from Roslyn, the .NET Compiler Platform.

Member Function Documentation

◆ asField() [1/2]

virtual const Field* psy::C::Field::asField ( ) const
inlineoverridevirtual

Cast this ObjectDeclaration as a Field.

Reimplemented from psy::C::ObjectDeclaration.

◆ asField() [2/2]

virtual Field* psy::C::Field::asField ( )
inlineoverridevirtual

Cast this ObjectDeclaration as a Field.

Reimplemented from psy::C::ObjectDeclaration.

◆ toDisplayString()

std::string Field::toDisplayString ( ) const
overridevirtual

Compute a displayable string for this Symbol.

Implements psy::C::Symbol.


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