|
| | CLogicalScope (EKind Kind, CScope *Parent, CSemanticProgram &Program) |
| |
| virtual UE_API | ~CLogicalScope () |
| |
| | CLogicalScope (const CLogicalScope &)=delete |
| |
| | CLogicalScope (CLogicalScope &&)=delete |
| |
| UE_API EIterateResult | IterateRecurseLogicalScopes (const TFunction< EVisitResult(const CLogicalScope &)> &Functor) const |
| | Iterates through all the logical scopes nested inside this scope.
|
| |
| UE_API EIterateResult | IterateRecurseLogicalScopes (TFunction< EVisitResult(const CLogicalScope &)> &&Functor) const |
| |
| const TArray< TSRef< CDefinition > > & | GetDefinitions () const |
| |
| TMap< CSymbol, SmallDefinitionArray > & | GetDefinitionNameMap () |
| |
| template<typename FilterClass > |
| TFilteredDefinitionRange< FilterClass > | GetDefinitionsOfKind () const |
| |
| virtual UE_API SmallDefinitionArray | FindDefinitions (const CSymbol &Name, EMemberOrigin Origin=EMemberOrigin::InheritedOrOriginal, const SQualifier &Qualifier=SQualifier::Unknown(), const CAstPackage *ContextPackage=nullptr, VisitStampType VisitStamp=GenerateNewVisitStamp()) const |
| |
| template<typename FilterClass > |
| FilterClass * | FindFirstDefinitionOfKind (const CSymbol &Name, EMemberOrigin Origin=EMemberOrigin::InheritedOrOriginal, const SQualifier &Qualifier=SQualifier::Unknown(), const CAstPackage *ContextPackage=nullptr, VisitStampType VisitStamp=GenerateNewVisitStamp()) const |
| |
| virtual UE_API void | SetRevision (SemanticRevision Revision) |
| |
| SemanticRevision | GetRevision () const |
| |
| ULANG_FORCEINLINE bool | TryMarkVisited (VisitStampType VisitStamp) const |
| |
| int32_t | AllocateNextDefinitionOrdinal () |
| |
| UE_API const CDefinition * | FindOverrideFor (const CDefinition &Definition) const |
| | Get the matching override definition in this class for the argument, if there is any.
|
| |
| virtual const CLogicalScope * | AsLogicalScopeNullable () const override |
| | Iff this scope is a logical scope, return it a pointer to it. Otherwise, return null.
|
| |
| virtual CLogicalScope * | AsLogicalScopeNullable () override |
| |
| UE_API SQualifier | AsQualifier () const |
| |
| void | AddDefinitionToLogicalScope (TSRef< CDefinition > &&NewDefinition) |
| |
| | CScope (EKind Kind, CScope *Parent, CSemanticProgram &Program) |
| |
| virtual UE_API | ~CScope () |
| |
| | CScope (const CScope &)=delete |
| |
| | CScope (CScope &&)=delete |
| |
| virtual CSymbol | GetScopeName () const =0 |
| |
| virtual const CTypeBase * | ScopeAsType () const |
| |
| virtual const CDefinition * | ScopeAsDefinition () const |
| |
| virtual SAccessLevel | GetDefaultDefinitionAccessLevel () const |
| |
| ULANG_FORCEINLINE EKind | GetKind () const |
| |
| ULANG_FORCEINLINE CScope * | GetParentScope () const |
| |
| UE_API CScope * | GetScopeOfKind (EKind) |
| |
| UE_API const CScope * | GetScopeOfKind (EKind) const |
| |
| UE_API CUTF8String | GetScopePath (uLang::UTF8Char SeparatorChar='.', EPathMode Mode=EPathMode::Default) const |
| |
| UE_API const CModule * | GetModule () const |
| |
| UE_API CModule * | GetModule () |
| |
| UE_API const CModulePart * | GetModulePart () const |
| |
| UE_API CModulePart * | GetModulePart () |
| |
| UE_API CAstPackage * | GetPackage () const |
| |
| UE_API CAstCompilationUnit * | GetCompilationUnit () const |
| |
| UE_API const CSnippet * | GetSnippet () const |
| |
| UE_API CCaptureScope * | GetCaptureScope () |
| |
| UE_API const CCaptureScope * | GetCaptureScope () const |
| |
| UE_API const TSPtr< CSymbolTable > & | GetSymbols () const |
| |
| ULANG_FORCEINLINE CSemanticProgram & | GetProgram () const |
| |
| UE_API const CScope & | GetParametricTypeScope () const |
| | If this is a parametric type, get the scope of those parameters; otherwise returns this scope.
|
| |
| UE_API const CLogicalScope & | GetLogicalScope () const |
| | Get the innermost logical scope that is or contains this scope.
|
| |
| ULANG_FORCEINLINE CLogicalScope & | GetLogicalScope () |
| |
| ULANG_FORCEINLINE bool | IsLogicalScope () const |
| |
| const CLogicalScope * | GetEnclosingClassOrInterface () const |
| |
| UE_API CLogicalScope * | GetEnclosingClassOrInterface () |
| |
| UE_API bool | IsSameOrChildOf (const CScope *Other) const |
| |
| bool | IsControlScope () const |
| |
| UE_API bool | IsInsideTypeScope () const |
| |
| bool | IsModuleOrSnippet () const |
| |
| UE_API bool | IsBuiltInScope () const |
| |
| UE_API CModule & | CreateModule (const CSymbol &ModuleName) |
| |
| UE_API CClassDefinition & | CreateClass (const CSymbol &ClassName, CClass *Superclass=nullptr, TArray< CInterface * > &&SuperInterfaces={}, EStructOrClass StructOrClass=EStructOrClass::Class) |
| |
| UE_API CEnumeration & | CreateEnumeration (const CSymbol &EnumerationName) |
| |
| UE_API CInterface & | CreateInterface (const CSymbol &InterfaceName, const TArray< CInterface * > &SuperInterfaces={}) |
| |
| UE_API TSRef< CFunction > | CreateFunction (const CSymbol FunctionName) |
| |
| virtual void | CreateNegativeFunction (const CFunction &PositiveFunction) const |
| |
| UE_API TSRef< CDataDefinition > | CreateDataDefinition (const CSymbol VarName) |
| |
| UE_API TSRef< CDataDefinition > | CreateDataDefinition (const CSymbol VarName, const CTypeBase *Type) |
| |
| virtual void | CreateNegativeDataDefinition (const CDataDefinition &PositiveDataDefinition) const |
| |
| UE_API TSRef< CTypeAlias > | CreateTypeAlias (const CSymbol Name) |
| |
| UE_API TSRef< CTypeVariable > | CreateTypeVariable (const CSymbol Name, const CTypeBase *NegativeType, const CTypeBase *PositiveType) |
| |
| UE_API TSRef< CModuleAlias > | CreateModuleAlias (const CSymbol Name) |
| |
| UE_API TSRef< CScopedAccessLevelDefinition > | CreateScopedAccessLevelDefinition (TOptional< CSymbol > ClassName) |
| |
| void | AddUsingScope (const CLogicalScope *UsingScope) |
| |
| const TArray< const CLogicalScope * > & | GetUsingScopes () const |
| |
| UE_API const CDataDefinition * | AddUsingInstance (const CDataDefinition *UsingContext) |
| |
| const TArray< const CDataDefinition * > & | GetUsingInstances () const |
| |
| UE_API SResolvedDefinitionArray | ResolveDefinition (const CSymbol &Name, const SQualifier &Qualifier=SQualifier::Unknown(), const CAstPackage *ContextPackage=nullptr) const |
| | Look for a definition in this scope and all parent scopes and aliases.
|
| |
| UE_API TSRef< CControlScope > | CreateNestedControlScope () |
| |
| TSRef< CCaptureControlScope > | CreateNestedCaptureControlScope () |
| |
| const TSRefArray< CControlScope > & | GetNestedControlScopes () const |
| |
| UE_API TSRef< CTypeScope > | CreateNestedTypeScope () |
| |
| UE_API bool | IsAuthoredByEpic () const |
| |
| UE_API bool | CanAccessEpicInternal () const |
| |
A scope that can contain definitions