Navigation
API > API/Runtime > API/Runtime/VerseCompiler
A nested scope - program, module or class
| Name | CScope |
| Type | class |
| Header File | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/SemanticScope.h |
| Include Path | #include "uLang/Semantics/SemanticScope.h" |
Syntax
class CScope
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
CScope
(
EKind Kind, |
uLang/Semantics/SemanticScope.h | ||
| uLang/Semantics/SemanticScope.h | |||
| Delete the generated move/copy constructors so that they don't require full definitions of the types referenced by TSRefArray. | uLang/Semantics/SemanticScope.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~CScope() |
uLang/Semantics/SemanticScope.h |
Enums
Public
| Name | Remarks |
|---|---|
| EKind |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| EPathMode | uLang::EPathMode | uLang/Semantics/SemanticScope.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const CDataDefinition * AddUsingInstance
(
const CDataDefinition* UsingContext |
Add a local context to infer from a using declaration - return nullptr if added and conflicting context if type/value domain was already previously added. | uLang/Semantics/SemanticScope.h | |
void AddUsingScope
(
const CLogicalScope* UsingScope |
Using declarations. | uLang/Semantics/SemanticScope.h | |
virtual CLogicalScope * AsLogicalScopeNullable () |
uLang/Semantics/SemanticScope.h | ||
virtual const CLogicalScope * AsLogicalScopeNullable () |
Iff this scope is a logical scope, return it a pointer to it. Otherwise, return null. | uLang/Semantics/SemanticScope.h | |
bool CanAccessEpicInternal () |
Determines whether this scope can access Epic-internal definitions. | uLang/Semantics/SemanticScope.h | |
CClassDefinition & CreateClass
(
const CSymbol& ClassName, |
uLang/Semantics/SemanticScope.h | ||
TSRef< CDataDefinition > CreateDataDefinition
(
const CSymbol VarName, |
uLang/Semantics/SemanticScope.h | ||
TSRef< CDataDefinition > CreateDataDefinition
(
const CSymbol VarName |
uLang/Semantics/SemanticScope.h | ||
CEnumeration & CreateEnumeration
(
const CSymbol& EnumerationName |
uLang/Semantics/SemanticScope.h | ||
| uLang/Semantics/SemanticScope.h | |||
CInterface & CreateInterface
(
const CSymbol& InterfaceName, |
uLang/Semantics/SemanticScope.h | ||
| uLang/Semantics/SemanticScope.h | |||
TSRef< CModuleAlias > CreateModuleAlias
(
const CSymbol Name |
uLang/Semantics/SemanticScope.h | ||
virtual void CreateNegativeDataDefinition
(
const CDataDefinition& PositiveDataDefinition |
uLang/Semantics/SemanticScope.h | ||
virtual void CreateNegativeFunction
(
const CFunction& PositiveFunction |
uLang/Semantics/SemanticScope.h | ||
TSRef< CCaptureControlScope > CreateNestedCaptureControlScope() |
uLang/Semantics/SemanticScope.h | ||
TSRef< CControlScope > CreateNestedControlScope() |
uLang/Semantics/SemanticScope.h | ||
TSRef< CTypeScope > CreateNestedTypeScope() |
uLang/Semantics/SemanticScope.h | ||
TSRef< CScopedAccessLevelDefinition > CreateScopedAccessLevelDefinition
(
TOptional< CSymbol > ClassName |
uLang/Semantics/SemanticScope.h | ||
TSRef< CTypeAlias > CreateTypeAlias
(
const CSymbol Name |
uLang/Semantics/SemanticScope.h | ||
TSRef< CTypeVariable > CreateTypeVariable
(
const CSymbol Name, |
uLang/Semantics/SemanticScope.h | ||
| uLang/Semantics/SemanticScope.h | |||
const CCaptureScope * GetCaptureScope () |
uLang/Semantics/SemanticScope.h | ||
CAstCompilationUnit * GetCompilationUnit() |
uLang/Semantics/SemanticScope.h | ||
virtual SAccessLevel GetDefaultDefinitionAccessLevel() |
uLang/Semantics/SemanticScope.h | ||
| uLang/Semantics/SemanticScope.h | |||
const CLogicalScope * GetEnclosingClassOrInterface () |
uLang/Semantics/SemanticScope.h | ||
ULANG_FORCEINLINEEKind GetKind() |
uLang/Semantics/SemanticScope.h | ||
ULANG_FORCEINLINECLogicalScope & GetLogicalScope () |
uLang/Semantics/SemanticScope.h | ||
const CLogicalScope & GetLogicalScope () |
Get the innermost logical scope that is or contains this scope. | uLang/Semantics/SemanticScope.h | |
| uLang/Semantics/SemanticScope.h | |||
| uLang/Semantics/SemanticScope.h | |||
CModulePart * GetModulePart () |
uLang/Semantics/SemanticScope.h | ||
const CModulePart * GetModulePart () |
uLang/Semantics/SemanticScope.h | ||
const TSRefArray< CControlScope > & GetNestedControlScopes() |
uLang/Semantics/SemanticScope.h | ||
CAstPackage * GetPackage() |
uLang/Semantics/SemanticScope.h | ||
const CScope & GetParametricTypeScope() |
If this is a parametric type, get the scope of those parameters; otherwise returns this scope. | uLang/Semantics/SemanticScope.h | |
ULANG_FORCEINLINECScope * GetParentScope() |
uLang/Semantics/SemanticScope.h | ||
ULANG_FORCEINLINECSemanticProgram & GetProgram() |
uLang/Semantics/SemanticScope.h | ||
CSymbol GetScopeName() |
uLang/Semantics/SemanticScope.h | ||
CScope * GetScopeOfKind
(
EKind |
uLang/Semantics/SemanticScope.h | ||
const CScope * GetScopeOfKind
(
EKind |
uLang/Semantics/SemanticScope.h | ||
CUTF8String GetScopePath
(
uLang::UTF8Char SeparatorChar, |
uLang/Semantics/SemanticScope.h | ||
const CSnippet * GetSnippet() |
uLang/Semantics/SemanticScope.h | ||
const TSPtr< CSymbolTable > & GetSymbols() |
uLang/Semantics/SemanticScope.h | ||
const TArray< const CDataDefinition * > & GetUsingInstances() |
uLang/Semantics/SemanticScope.h | ||
const TArray< const CLogicalScope * > & GetUsingScopes() |
uLang/Semantics/SemanticScope.h | ||
bool IsAuthoredByEpic() |
Determines whether this scope was authored by Epic. | uLang/Semantics/SemanticScope.h | |
bool IsBuiltInScope() |
Determines if the definitions in this scope are built-in. | uLang/Semantics/SemanticScope.h | |
bool IsControlScope() |
Determines if this is either a function body or a nested scope within a function body. | uLang/Semantics/SemanticScope.h | |
bool IsInsideTypeScope() |
Determines if inside a type scope, ignoring control scope. | uLang/Semantics/SemanticScope.h | |
ULANG_FORCEINLINE bool IsLogicalScope() |
uLang/Semantics/SemanticScope.h | ||
bool IsModuleOrSnippet() |
Determines if this is a module or snippet scope. | uLang/Semantics/SemanticScope.h | |
bool IsSameOrChildOf
(
const CScope* Other |
Check if this module is the same or a child of another. | uLang/Semantics/SemanticScope.h | |
SResolvedDefinitionArray ResolveDefinition
(
const CSymbol& Name, |
Look for a definition in this scope and all parent scopes and aliases. | uLang/Semantics/SemanticScope.h | |
virtual const CDefinition * ScopeAsDefinition() |
uLang/Semantics/SemanticScope.h | ||
virtual const CTypeBase * ScopeAsType() |
uLang/Semantics/SemanticScope.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CanAccess
(
const CDefinition& Definition, |
Returns whether some definition is accessible from this scope. | uLang/Semantics/SemanticScope.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static VisitStampType GenerateNewVisitStamp() |
Generates a new stamp id. | uLang/Semantics/SemanticScope.h | |
static T * GetCaptureScope
(
U* This |
uLang/Semantics/SemanticScope.h | ||
static T * GetScopeOfKind
(
T* This, |
uLang/Semantics/SemanticScope.h | ||
static const char * KindToCString
(
EKind Kind |
uLang/Semantics/SemanticScope.h | ||
static void ResolvedDefnsAppend
(
SResolvedDefinitionArray* ResolvedDefns, |
uLang/Semantics/SemanticScope.h | ||
static void ResolvedDefnsAppendWithContext
(
SResolvedDefinitionArray* ResolvedDefns, |
uLang/Semantics/SemanticScope.h |