Navigation
API > API/Runtime > API/Runtime/VerseCompiler > API/Runtime/VerseCompiler/uLang > API/Runtime/VerseCompiler/uLang/Semantics
Inheritance Hierarchy
References
| Module | VerseCompiler |
| Header | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/SemanticClass.h |
| Include | #include "uLang/Semantics/SemanticClass.h" |
Syntax
class CClass :
public uLang::CNominalType ,
public uLang::CLogicalScope
Remarks
Class defining a class instance / object [Might break off CStructType to differentiate stack based types.]
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< CInterface * > | _AllInheritedInterfaces | Flattened array of all interfaces this class inherits (including interfaces from its super-class). | |
| bool | _bHasCyclesBroken | ||
| SEffectSet | _ConstructorEffects | ||
| CClassDefinition *const | _Definition | Public data. | |
| CClass * | _GeneralizedClass | ||
| TURefArray< CClass > | _InstantiatedClasses | ||
| TArray< CExprCodeBlock * > | _IrBlockClauses | Kept alive via _Definition's IrNode's (CExprClassDefinition) Members field. | |
| CClass * | _NegativeClass | ||
| TUPtr< CClass > | _OwnedNegativeClass | ||
| const EStructOrClass | _StructOrClass | ||
| CClass * | _Superclass | ||
| TArray< CInterface * > | _SuperInterfaces | ||
| TArray< STypeVariableSubstitution > | _TypeVariableSubstitutions |
Constructors
| Type | Name | Description | |
|---|---|---|---|
| Construct a negative class from a positive class. | |||
CClass
(
CClassDefinition*, |
Construct a generalized positive class. | ||
CClass
(
CScope* ParentScope, |
Construct a positive class instantiation. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | |||
| TOptional< SAttribute > | FindAttribute
(
const CClass* AttributeClass, |
||
| const CClass * | Return first class in the inheritance chain that contains the concrete attribute or null. | ||
| const CClass * | Return topmost class in the inheritance chain that contains the concrete attribute or null. | ||
| void | ForEachAncestorClassOrInterface
(
const TFunc& Func |
||
| EComparability | |||
| CSemanticProgram & | GetProgram () |
||
| const CTypeType * | GetTypeType () |
||
| bool | HasAttributeClass
(
const CClass* AttributeClass, |
||
| bool | Does this class hold a concrete attribute? | ||
| bool | |||
| bool | IsAbstract () |
||
| bool | Determine if current class is the same class or a subclass of the specified `Class_ | ||
| bool | IsConcrete () |
Is this class concrete either by having a concrete attribute or inheriting one. | |
| bool | IsNative () |
||
| bool | IsParametric () |
||
| bool | IsPersistent () |
||
| bool | IsStruct () |
Is this class a struct? | |
| bool | IsSubclassOf
(
const CClass& Superclass |
Determine if current class is a subclass / descendant / child of the specified `Class_ (and not the same class!) | |
| bool | IsSuperclassOf
(
const CClass& Subclass |
Determine if current class is a superclass / ancestor / parent of the specified `Class_ (and not the same class!) | |
| bool | IsUnique () |
||
| void | SetSuperclass
(
CClass* SuperClass |
Overridden from CNominalType
| Type | Name | Description | |
|---|---|---|---|
| const CDefinition * | Definition () |
CClass Inline Methods. |
Overridden from CNormalType
| Type | Name | Description | |
|---|---|---|---|
| SmallDefinitionArray | FindInstanceMember
(
const CSymbol& Name, |
||
| EComparability | Returns whether this type is comparable for equality | ||
| bool | Returns whether this type is `persistable_ |
Overridden from CTypeBase
| Type | Name | Description | |
|---|---|---|---|
| CUTF8String | AsCodeRecursive
(
ETypeSyntaxPrecedence OuterPrecedence, |
||
| bool |
Overridden from CLogicalScope
| Type | Name | Description | |
|---|---|---|---|
| SmallDefinitionArray | FindDefinitions
(
const CSymbol& Name, |
||
| void | SetRevision
(
SemanticRevision Revision |
Overridden from CScope
| Type | Name | Description | |
|---|---|---|---|
| void | CreateNegativeDataDefinition
(
const CDataDefinition& PositiveDataDefinition |
||
| void | CreateNegativeFunction
(
const CFunction& PositiveFunction |
||
| SAccessLevel | |||
| CSymbol | GetScopeName () |
||
| const CDefinition * | |||
| const CTypeBase * | ScopeAsType () |
Constants
| Name | Description |
|---|---|
| StaticDefinitionKind | |
| StaticTypeKind |