Envision
A visual programming IDE for object-oriented languages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes
OOModel::TypeSystem Class Referenceabstract
Inheritance diagram for OOModel::TypeSystem:
OOModel::JavaTypeSystem

Public Types

enum  TypeRelation { None = 0x0 , Equal = 0x1 , IsSubtype = 0x2 , IsSupertype = 0x4 , IsConvertibleTo = 0x8 , IsConvertibleFrom = 0x10 }
 
using TypeRelations = QFlags< TypeRelation >
 

Public Member Functions

virtual ~TypeSystem ()
 
virtual TypeRelations relationFirstToSecond (const Type *first, const Type *second)=0
 

Static Public Member Functions

static TypeSysteminstance ()
 
static TypeRelations invert (TypeRelations relation)
 

Static Public Attributes

constexpr static auto EQUALTYPES = Equal | IsSubtype | IsSupertype | IsConvertibleTo | IsConvertibleFrom
 

Member Typedef Documentation

◆ TypeRelations

Member Enumeration Documentation

◆ TypeRelation

Enumerator
None 
Equal 
IsSubtype 
IsSupertype 
IsConvertibleTo 
IsConvertibleFrom 

Constructor & Destructor Documentation

◆ ~TypeSystem()

OOModel::TypeSystem::~TypeSystem ( )
virtual

Member Function Documentation

◆ instance()

TypeSystem * OOModel::TypeSystem::instance ( )
static

◆ invert()

TypeSystem::TypeRelations OOModel::TypeSystem::invert ( TypeRelations  relation)
static

◆ relationFirstToSecond()

virtual TypeRelations OOModel::TypeSystem::relationFirstToSecond ( const Type first,
const Type second 
)
pure virtual

Implemented in OOModel::JavaTypeSystem.

Member Data Documentation

◆ EQUALTYPES

constexpr static auto OOModel::TypeSystem::EQUALTYPES = Equal | IsSubtype | IsSupertype | IsConvertibleTo | IsConvertibleFrom
staticconstexpr