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