Navigation
API > API/Runtime > API/Runtime/VerseCompiler > API/Runtime/VerseCompiler/uLang > API/Runtime/VerseCompiler/uLang/Semantics
Inheritance Hierarchy
- CDefinition
- CNominalType
- CLogicalScope
- CInterface
References
| Module | VerseCompiler |
| Header | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/SemanticInterface.h |
| Include | #include "uLang/Semantics/SemanticInterface.h" |
Syntax
class CInterface :
public uLang::CDefinition ,
public uLang::CNominalType ,
public uLang::CLogicalScope
Remarks
A interface: a named set of function signatures that can be implemented for other types.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | _bHasCyclesBroken | ||
| TOptional< SAccessLevel > | _ConstructorAccessLevel | ||
| CAttributable | _EffectAttributable | Attributes on the interface macro, like "interface |
|
| CInterface * | _GeneralizedInterface | ||
| TURefArray< CInterface > | _InstantiatedInterfaces | ||
| CInterface * | _NegativeInterface | ||
| TUPtr< CInterface > | _OwnedNegativeInterface | ||
| TArray< CInterface * > | _SuperInterfaces | ||
| TArray< STypeVariableSubstitution > | _TypeVariableSubstitutions |
Constructors
| Type | Name | Description | |
|---|---|---|---|
CInterface
(
CInterface* PositiveInterface |
|||
CInterface
(
const CSymbol& Name, |
|||
CInterface
(
CScope& EnclosingScope, |
Construct a positive interface instantiation |
Functions
| Type | Name | Description | |
|---|---|---|---|
| SAccessLevel | |||
| CExprInterfaceDefinition * | GetAstNode () |
||
| EComparability | |||
| CExprInterfaceDefinition * | GetIrNode
(
bool bForce |
||
| CSemanticProgram & | GetProgram () |
||
| bool | |||
| bool | IsParametric () |
||
| bool | IsUnique () |
||
| void | SetAstNode
(
CExprInterfaceDefinition* AstNode |
||
| void | SetIrNode
(
CExprInterfaceDefinition* AstNode |
Overridden from CDefinition
| Type | Name | Description | |
|---|---|---|---|
| const CLogicalScope * | If this definition has a corresponding scope, yield it. | ||
| bool |
Overridden from CNominalType
| Type | Name | Description | |
|---|---|---|---|
| const CDefinition * | Definition () |
Overridden from CNormalType
| Type | Name | Description | |
|---|---|---|---|
| SmallDefinitionArray | FindInstanceMember
(
const CSymbol& Name, |
||
| EComparability | Returns whether this type is comparable for equality |
Overridden from CTypeBase
| Type | Name | Description | |
|---|---|---|---|
| CUTF8String | AsCodeRecursive
(
ETypeSyntaxPrecedence OuterPrecedence, |
||
| bool |
Overridden from CLogicalScope
| Type | Name | Description | |
|---|---|---|---|
| SmallDefinitionArray | FindDefinitions
(
const CSymbol& Name, |
Overridden from CScope
| Type | Name | Description | |
|---|---|---|---|
| void | CreateNegativeFunction
(
const CFunction& PositiveFunction |
||
| CSymbol | GetScopeName () |
||
| const CDefinition * | |||
| const CTypeBase * | ScopeAsType () |
Constants
| Name | Description |
|---|---|
| StaticDefinitionKind | |
| StaticTypeKind |