Envision
A visual programming IDE for object-oriented languages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions
OOModel::Class Class Reference
Inheritance diagram for OOModel::Class:
Core::Reflect< Base >

Public Types

enum class  ConstructKind : int { Class , Interface , Struct , Union , Enum , EnumClass , Annotation }
 

Public Member Functions

 Class (const QString &name)
 
 Class (const QString &name, ConstructKind kind)
 
 Class (const QString &name, Modifier::Modifiers mod, ConstructKind kind=ConstructKind::Class)
 
QSet< Class * > allBaseClasses ()
 Returns a set of all direct and transitive base classes of this class. More...
 
ConstructKind constructKind () const
 
QSet< Class * > directBaseClasses ()
 
QSet< Class * > directSubClasses ()
 
virtual bool findSymbols (std::unique_ptr< Model::ResolutionRequest > request) const override
 
ClassimplicitBaseFromProject () const
 
bool isGeneric ()
 
virtual bool isNewPersistenceUnit () const override
 
void setConstructKind (const ConstructKind &kind)
 
virtual SymbolTypes symbolType () const override
 

Static Public Member Functions

static ClassexpressionToClass (Expression *expr)
 

Private Member Functions

ExpressiondefaultImplicitBaseFromProject () const
 
bool findInTarget (Expression *target, std::unique_ptr< Model::ResolutionRequest > &request) const
 

Additional Inherited Members

- Protected Types inherited from Core::Reflect< Base >
using Super = Reflect< Base >
 

Member Enumeration Documentation

◆ ConstructKind

enum OOModel::Class::ConstructKind : int
strong
Enumerator
Class 
Interface 
Struct 
Union 
Enum 
EnumClass 
Annotation 

Constructor & Destructor Documentation

◆ Class() [1/3]

OOModel::Class::Class ( const QString &  name)

◆ Class() [2/3]

OOModel::Class::Class ( const QString &  name,
ConstructKind  kind 
)

◆ Class() [3/3]

OOModel::Class::Class ( const QString &  name,
Modifier::Modifiers  mod,
ConstructKind  kind = ConstructKind::Class 
)

Member Function Documentation

◆ allBaseClasses()

QSet< Class * > OOModel::Class::allBaseClasses ( )

Returns a set of all direct and transitive base classes of this class.

This includes interfaces and implicit base classes.

◆ constructKind()

Class::ConstructKind OOModel::Class::constructKind ( ) const
inline

◆ defaultImplicitBaseFromProject()

Expression * OOModel::Class::defaultImplicitBaseFromProject ( ) const
private

◆ directBaseClasses()

QSet< Class * > OOModel::Class::directBaseClasses ( )

◆ directSubClasses()

QSet< Class * > OOModel::Class::directSubClasses ( )

◆ expressionToClass()

Class * OOModel::Class::expressionToClass ( Expression expr)
static

◆ findInTarget()

bool OOModel::Class::findInTarget ( Expression target,
std::unique_ptr< Model::ResolutionRequest > &  request 
) const
inlineprivate

◆ findSymbols()

bool OOModel::Class::findSymbols ( std::unique_ptr< Model::ResolutionRequest request) const
overridevirtual

◆ implicitBaseFromProject()

Class * OOModel::Class::implicitBaseFromProject ( ) const

◆ isGeneric()

bool OOModel::Class::isGeneric ( )

◆ isNewPersistenceUnit()

bool OOModel::Class::isNewPersistenceUnit ( ) const
overridevirtual

◆ setConstructKind()

void OOModel::Class::setConstructKind ( const ConstructKind kind)
inline

◆ symbolType()

Class::SymbolTypes OOModel::Class::symbolType ( ) const
overridevirtual