Navigation
API > API/Runtime > API/Runtime/VerseCompiler > API/Runtime/VerseCompiler/uLang > API/Runtime/VerseCompiler/uLang/Semantics
Inheritance Hierarchy
- CSharedMix
- CLogicalScope
- CSemanticProgram
References
| Module | VerseCompiler |
| Header | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/SemanticProgram.h |
| Include | #include "uLang/Semantics/SemanticProgram.h" |
Syntax
class CSemanticProgram :
public uLang::CSharedMix ,
public uLang::CLogicalScope
Remarks
Stores whole parsed semantic hierarchy/infrastructure
Variables
| Type | Name | Description | |
|---|---|---|---|
| CClass * | _abstractClass | ||
| CClass * | _allocatesClass | ||
| CTypeAlias * | _anyAlias | ||
| CAnyType | _anyType | ||
| CFunction * | _ArrayAddAssignOp | ||
| CFunction * | _ArrayAddOp | ||
| CFunction * | _ArrayCallOp | ||
| CFunction * | _ArrayLength | ||
| CFunction * | _ArrayRefCallOp | ||
| TSPtr< CAstProject > | _AstProject | ||
| CClass * | _attributeClass | Attribute classes. | |
| CClass * | _attributeScopeAttribute | ||
| CClass * | _attributeScopeAttributeClass | ||
| CClass * | _attributeScopeClass | ||
| CClass * | _attributeScopeClassMacro | ||
| CClass * | _attributeScopeData | ||
| CClass * | _attributeScopeEffect | ||
| CClass * | _attributeScopeEnum | ||
| CClass * | _attributeScopeEnumerator | ||
| CClass * | _attributeScopeEnumMacro | ||
| CClass * | _attributeScopeExpression | ||
| CClass * | _attributeScopeFunction | ||
| CClass * | _attributeScopeIdentifier | ||
| CClass * | _attributeScopeInterface | ||
| CClass * | _attributeScopeInterfaceMacro | ||
| CClass * | _attributeScopeModule | ||
| CClass * | _attributeScopeName | ||
| CClass * | _attributeScopeScopedDefinition | ||
| CClass * | _attributeScopeSpecifier | ||
| CClass * | _attributeScopeStruct | ||
| CClass * | _attributeScopeStructMacro | ||
| CClass * | _attributeScopeTypeDefinition | ||
| CClass * | _attributeScopeVar | ||
| CClass * | _availableClass | ||
| TSPtr< CAstPackage > | _BuiltInPackage | The notional package that is created to contain the built-in definitions. | |
| CTypeAlias * | _char32Alias | ||
| CChar32Type | _char32Type | ||
| CTypeAlias * | _char8Alias | ||
| CChar8Type | _char8Type | ||
| CTypeAlias * | _comparableAlias | ||
| CFunction * | _ComparableEqualOp | Intrinsic functions. | |
| CFunction * | _ComparableNotEqualOp | ||
| CComparableType | _comparableType | ||
| CClass * | _computesClass | ||
| CClass * | _concreteClass | ||
| CClass * | _constructorClass | ||
| CClass * | _convergesClass | ||
| CClass * | _customAttributeHandler | ||
| CClass * | _decidesClass | ||
| CClass * | _deprecatedClass | ||
| TCachedIntrinsicDefinition< CClassDefinition > | _doc_attribute | ||
| TCachedIntrinsicDefinition< CClassDefinition > | _editable | ||
| TCachedIntrinsicDefinition< CClassDefinition > | _editable_non_concrete | ||
| CClass * | _epicInternalClass | ||
| TArray< CUTF8String > | _EpicInternalModulePrefixes | ||
| CClass * | _experimentalClass | ||
| CTypeAlias * | _falseAlias | ||
| CFalseType | _falseType | Global types for the program. | |
| CClass * | _finalClass | ||
| CFunction * | _FitsInPlayerMap | ||
| CFunction * | _FloatAbs | ||
| CFunction * | _FloatAddAssignOp | ||
| CFunction * | _FloatAddOp | ||
| CTypeAlias * | _floatAlias | ||
| CFunction * | _FloatDivideAssignOp | ||
| CFunction * | _FloatDivideOp | ||
| CFunction * | _FloatGreaterEqualOp | ||
| CFunction * | _FloatGreaterOp | ||
| CFunction * | _FloatLessEqualOp | ||
| CFunction * | _FloatLessOp | ||
| CFunction * | _FloatMultiplyAssignOp | ||
| CFunction * | _FloatMultiplyIntOp | ||
| CFunction * | _FloatMultiplyOp | ||
| CFunction * | _FloatNegateOp | ||
| CFunction * | _FloatSubtractAssignOp | ||
| CFunction * | _FloatSubtractOp | ||
| const CFloatType * | _floatType | ||
| TSPtr< CCompatConstraintRoot > | _GeneralCompatConstraintRoot | An optional root module for a compatible ancestor of the current code. | |
| CFunction * | _Getter | ||
| CClass * | _getterClass | ||
| CClass * | _ignore_unreachable | ||
| TCachedIntrinsicDefinition< CFunction > | _import_as | ||
| TCachedIntrinsicDefinition< CClassDefinition > | _import_as_attribute | ||
| CDataDefinition * | _InfDefinition | ||
| CFunction * | _IntAbs | ||
| CFunction * | _IntAddAssignOp | ||
| CFunction * | _IntAddOp | ||
| CTypeAlias * | _intAlias | ||
| CFunction * | _IntDivideOp | ||
| CClass * | _internalClass | ||
| CFunction * | _IntGreaterEqualOp | ||
| CFunction * | _IntGreaterOp | ||
| CFunction * | _IntLessEqualOp | ||
| CFunction * | _IntLessOp | ||
| CFunction * | _IntMultiplyAssignOp | ||
| CFunction * | _IntMultiplyFloatOp | ||
| CFunction * | _IntMultiplyOp | ||
| CFunction * | _IntNegateOp | ||
| CClass * | _intrinsicClass | ||
| CIntrinsicSymbols | _IntrinsicSymbols | Quick access names. | |
| CFunction * | _IntSubtractAssignOp | ||
| CFunction * | _IntSubtractOp | ||
| const CIntType * | _intType | ||
| CClass * | _localizes | ||
| CTypeAlias * | _logicAlias | ||
| CFunction * | _LogicQueryOp | ||
| CLogicType | _logicType | ||
| CFunction * | _MapConcatenateMaps | ||
| CFunction * | _MapLength | ||
| CFunction * | _MapRefCallOp | ||
| CClass * | _moduleScopedVarWeakMapKeyClass | ||
| CDataDefinition * | _NaNDefinition | ||
| CClass * | _nativeCallClass | ||
| CClass * | _nativeClass | ||
| CFunction * | _OptionQueryOp | ||
| CClass * | _overrideClass | ||
| CPathType | _pathType | ||
| CClass * | _persistableClass | ||
| CPersistableType | _persistableType | ||
| TSPtr< CCompatConstraintRoot > | _PersistenceCompatConstraintRoot | ||
| TSPtr< CCompatConstraintRoot > | _PersistenceSoftCompatConstraintRoot | ||
| CClass * | _persistentClass | ||
| CClass * | _privateClass | ||
| CClass * | _protectedClass | ||
| CClass * | _publicClass | ||
| CRangeType | _rangeType | ||
| CTypeAlias * | _rationalAlias | ||
| CFunction * | _RationalCeil | ||
| CFunction * | _RationalFloor | ||
| CRationalType | _rationalType | ||
| CClass * | _readsClass | ||
| CClass * | _scopedClass | ||
| CFunction * | _Setter | ||
| CClass * | _setterClass | ||
| CTypeAlias * | _stringAlias | ||
| CClass * | _suspendsClass | ||
| CClass * | _transactsClass | ||
| CTypeAlias * | _trueAlias | ||
| CTrueType | _trueType | ||
| CTypeAlias * | _typeAlias | ||
| const CTypeType * | _typeType | Non-globalTypes that have an alias. | |
| CClass * | _uniqueClass | ||
| CFunction * | _UnsafeCast | ||
| CClass * | _variesClassDeprecated | ||
| CModule * | _VerseModule | The /Verse.org/Verse module. | |
| CTypeAlias * | _voidAlias | ||
| CVoidType | _voidType | ||
| CFunction * | _WeakMapCallOp | ||
| CFunction * | _WeakMapOp | ||
| CFunction * | _WeakMapRefCallOp | ||
| CClass * | _writesClass |
Constructors
| Type | Name | Description | |
|---|---|---|---|
| ULANG_FORCEINLINE |
Destructors
| Type | Name | Description | |
|---|---|---|---|
| ULANG_FORCEINLINE |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddStandardAccessLevelAttributes
(
CAttributable* NewAccessLevel |
||
| TOptional< SEffectSet > | ConvertEffectClassesToEffectSet
(
const TArray< const CClass* >& EffectClasses, |
||
| TOptional< TArray< const CClass * > > | ConvertEffectSetToEffectClasses
(
const SEffectSet& EffectSet, |
||
| SExplicitTypeParam | |||
| CFlowType & | CreateFlowType
(
ETypePolarity, |
||
| CFlowType & | |||
| CInstantiatedClass & | CreateInstantiatedClass
(
const CClass&, |
||
| CInstantiatedInterface & | |||
| CFlowType & | |||
| CFlowType & | |||
| T * | FindDefinitionByVersePath
(
CUTF8StringView VersePath |
Find definition by Verse path. | |
| const SEffectDescriptor & | FindEffectDescriptorChecked
(
const CClass* effectKey, |
Construct the effects descriptor table against this instance of the program's notion of the effect classes. | |
| CSnippet * | FindSnippet
(
const CUTF8StringView& NameStr |
||
| const TArray< const CClass * > & | |||
| const CUnknownType * | |||
| TSPtr< CAstProject > & | GetIrProject () |
The get-method is written to work even if no IR is generated. | |
| SemanticRevision | Get next revision to use when creating new functions etc. | ||
| CArrayType & | GetOrCreateArrayType
(
const CTypeBase* ElementType |
||
| const CFloatType & | GetOrCreateConstrainedFloatType
(
double Min, |
||
| const CIntType & | |||
| const CFunctionType & | GetOrCreateFunctionType
(
const CTypeBase& ParamsType, |
||
| CGeneratorType & | GetOrCreateGeneratorType
(
const CTypeBase* ElementType |
||
| CMapType & | GetOrCreateMapType
(
const CTypeBase& KeyType, |
||
| CMapType & | GetOrCreateMapType
(
const CTypeBase* KeyType, |
||
| CNamedType & | GetOrCreateNamedType
(
CSymbol Name, |
||
| COptionType & | GetOrCreateOptionType
(
const CTypeBase* ValueType |
||
| CPointerType & | GetOrCreatePointerType
(
const CTypeBase* NegativeValueType, |
||
| CReferenceType & | GetOrCreateReferenceType
(
const CTypeBase* NegativeValueType, |
||
| CSnippet & | GetOrCreateSnippet
(
const CSymbol& Path, |
||
| CTypeType & | GetOrCreateSubtypeType
(
const CTypeBase* PositiveType |
||
| CTupleType & | GetOrCreateTupleType
(
CTupleType::ElementArray&& Elements |
||
| CTupleType & | GetOrCreateTupleType
(
CTupleType::ElementArray&& Elements, |
||
| CTypeType & | GetOrCreateTypeType
(
const CTypeBase* NegativeType, |
||
| CMapType & | GetOrCreateWeakMapType
(
const CTypeBase& KeyType, |
||
| ULANG_FORCEINLINE const TSPtr< CSymbolTable > & | GetSymbols () |
||
| const CClass * | GetTaskClass () |
||
| const CFunction * | Task class. | ||
| void | Initialize
(
TSPtr< CSymbolTable > Symbols |
||
| const CTypeBase * | InstantiateTaskType
(
const CTypeBase* TypeArgument |
||
| int32_t | |||
| void | Add common classes and bindings TODO-Verse: This might be always done, though it may be done solely by converting a CSyntaxProgram | ||
| void | SetIrProject
(
const TSPtr< CAstProject >& project |
Overridden from CScope
| Type | Name | Description | |
|---|---|---|---|
| CSymbol | GetScopeName () |
Classes
| Type | Name | Description | |
|---|---|---|---|
| SExplicitTypeParam | |||
| TCachedIntrinsicDefinition | Cached references to some attributes that are defined in code, but commonly interpreted by the compiler. |