UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Verse::Vst::Package Struct Reference

#include <VstNode.h>

+ Inheritance diagram for Verse::Vst::Package:

Public Member Functions

 Package (const CUTF8StringView &Name)
 
VERSECOMPILER_API TSRef< ModuleFindOrAddModule (const CUTF8StringView &ModuleName, const CUTF8StringView &ParentModuleName=CUTF8StringView())
 
VERSECOMPILER_API TSRef< NodeCloneNode () const override
 
void CloneNodeFields (Package *DestNode) const
 
- Public Member Functions inherited from Verse::Vst::Node
 Node ()
 
 Node (NodeType in_type)
 
 Node (NodeType in_type, const SLocus &whence)
 
virtual UE_API ~Node ()
 
TSRef< NodeAsShared ()
 
template<typename TNodeType >
TNodeTypeAs ()
 
template<typename TNodeType >
const TNodeTypeAs () const
 
template<typename TNodeType >
TNodeTypeAsNullable ()
 
template<typename TNodeType >
const TNodeTypeAsNullable () const
 
template<typename TNodeType >
bool IsA () const
 
int GetChildCount () const
 
NodeType GetElementType () const
 
int32_t GetElementTypeInt () const
 
template<typename OpType >
OpType GetTag () const
 
template<typename OpType = uint8_t>
void SetTag (OpType in_op)
 
UE_API bool HasAttributes () const
 
UE_API const IdentifierGetAttributeIdentifier (const CUTF8StringView &AttributeName) const
 
UE_API bool IsAttributePresent (const CUTF8StringView &AttributeName) const
 
UE_API const NodeTryGetFirstAttributeOfType (NodeType Type) const
 
template<typename TNodeType >
const TNodeTypeTryGetFirstAttributeOfType () const
 
UE_API void PrependAux (const TSRef< Node > &AuxChild)
 
UE_API void PrependAux (const NodeArray &AuxChildren)
 
UE_API void AppendAux (const TSRef< Node > &AuxChild)
 
UE_API void AppendAux (const NodeArray &AuxChildren)
 
UE_API void AppendAuxAt (const TSRef< Node > &AuxChild, int32_t Idx)
 
const TSPtr< Clause > & GetAux () const
 
UE_API void SetAux (const TSRef< Clause > &Aux)
 
void RemoveAux ()
 
UE_API void AppendPrefixComment (const TSRef< Node > &CommentNode)
 
UE_API void AppendPrefixComment (TSRef< Node > &&CommentNode)
 
UE_API void AppendPrefixComments (const NodeArray &CommentNodes)
 
UE_API void AppendPostfixComment (const TSRef< Node > &CommentNode)
 
UE_API void AppendPostfixComment (TSRef< Node > &&CommentNode)
 
UE_API void AppendPostfixComments (const NodeArray &CommentNodes)
 
const NodeArrayGetPrefixComments () const
 
const NodeArrayGetPostfixComments () const
 
NodeArrayAccessPrefixComments ()
 
NodeArrayAccessPostfixComments ()
 
void SetWhence (const SLocus &Whence)
 
void CombineWhenceWith (const SLocus &Whence)
 
const SLocusWhence () const
 
UE_API const CUTF8StringGetSnippetPath () const
 
UE_API const SnippetFindSnippetByFilePath (const CUTF8StringView &FilePath) const
 
UE_API const NodeFindChildByPosition (const SPosition &TextPosition) const
 
UE_API const TSRef< NodeFindChildClosestToPosition (const SPosition &TextPosition, const SIndexedSourceText &SourceText) const
 
const NodeInfoGetElementInfo () const
 
const ChTypeGetElementName () const
 
int32_t GetPrecedence () const
 
int32_t NumRequiredChildren () const
 
ESupportsManyChildren IsManyChildrenSupported () const
 
int32_t NumNewLinesBefore () const
 
void SetNumNewLinesBefore (const int32_t Num)
 
int32_t NumNewLinesAfter () const
 
void SetNumNewLinesAfter (const int32_t Num)
 
void SetNewLineAfter (const bool bNewLineAfter)
 
bool HasNewLineAfter () const
 
bool HasNewLinesBefore () const
 
bool IsEmpty () const
 
const NodeArrayGetChildren () const
 
NodeArrayAccessChildren ()
 
NodeArray TakeChildren ()
 
TSPtr< NodeGetRightmostChild () const
 
NodeAccessParent ()
 
TSRef< NodeGetSharedSelf ()
 
TSRef< NodeGetSharedSelf () const
 
const NodeGetParent () const
 
void SetParentInternal (TSRef< Node > InParent)
 
bool HasParent () const
 
template<class Type >
const TypeGetParentOfType () const
 
bool IsElementType (NodeType InType) const
 
UE_API const CAtomAsAtomNullable () const
 
bool IsChildElementType (int32_t idx, NodeType InType) const
 
bool IsError () const
 
void DebugOrphanCheck ()
 
bool Contains (const Node &Target, const bool bRecursive=true) const
 
int32_t FindPreviousSibling ()
 
const TSRef< Node > & AppendChild (const TSRef< Node > &child)
 
const TSRef< Node > & AppendChild (const TSRef< Node > &&child)
 
const TSRef< Node > & AppendChildAt (const TSRef< Node > &child, int32_t idx)
 
void SetChildAt (int32_t Index, TSRef< Node > Child)
 
TSRef< NodeTakeChildAt (int32_t idx, const TSPtr< Node > Replacement=TSPtr< Node >())
 
void AppendChildren (const uLang::TArray< TSRef< Node > > &Children, int32_t NumToAppend=-1)
 
void AppendChildren (const uLang::TSRefArray< Node > &Children, int32_t NumToAppend=-1)
 
void PrependChildren (const uLang::TArray< TSRef< Node > > &Children, int32_t NumToAppend=-1)
 
UE_API void ReplaceSelfWith (const TSRef< Node > &replacement)
 
UE_API bool RemoveFromParent (int32_t idx=uLang::IndexNone)
 
void Empty ()
 
const SnippetFindSnippet () const
 
NodeFindRoot ()
 
const uLang::CAstNodeGetMappedAstNode () const
 
UE_API void AddMapping (uLang::CAstNode *AstNode) const
 
UE_API void EnsureAuxAllocated ()
 
void SetTile (FTile *Tile)
 
FTileGetTile ()
 
void CloneNodeFields (Node *DestOther) const
 
- Public Member Functions inherited from uLang::CSharedMix
 CSharedMix ()
 
virtual UE_API ~CSharedMix ()
 
 CSharedMix (const CSharedMix &Other)=delete
 
CSharedMixoperator= (const CSharedMix &Other)=delete
 
uint32_t GetRefCount () const
 

Static Public Member Functions

static VERSECOMPILER_API uLang::TOptional< TSRef< Module > > FindModule (const Node &ModuleContainer, const CUTF8StringView &ModuleName)
 
- Static Public Member Functions inherited from Verse::Vst::Node
static SLocus CombineLocii (const NodeArray &Nodes)
 
template<class VisitPolicy , typename ReturnType = void>
static void VisitWith (const TSRef< Vst::Node > &node, VisitPolicy &visit_policy)
 
static void TransferChildren (const TSRef< Node > &From, const TSRef< Node > &To, int32_t First, int32_t Last)
 
static void TransferChildren (const TSRef< Node > &From, const TSRef< Node > &To)
 
static void TransferPrefixComments (const TSRef< Node > &From, const TSRef< Node > &To)
 
static void TransferPostfixComments (const TSRef< Node > &From, const TSRef< Node > &To)
 
static UE_API void RemoveMapping (uLang::CAstNode *AstNode)
 

Public Attributes

CUTF8String _Name
 
CUTF8String _DirPath
 
CUTF8String _FilePath
 
CUTF8String _VersePath
 
LArray< CUTF8String_DependencyPackages
 
uLang::TOptional< CUTF8String_VniDestDir
 
uLang::EPackageRole _Role = uLang::EPackageRole::Source
 
EVerseScope _VerseScope = EVerseScope::PublicUser
 
uLang::TOptional< uint32_t_VerseVersion
 
uint32_t _UploadedAtFNVersion = VerseFN::UploadedAtFNVersion::Latest
 
bool _bTreatModulesAsImplicit = false
 
bool _bAllowExperimental = false
 
bool _bEnableSceneGraph = false
 

Static Public Attributes

static const Vst::NodeType StaticType = NodeType::Package
 

Additional Inherited Members

- Public Types inherited from Verse::Vst::Node
using NodeArray = LArray< TSRef< Node > >
 
- Protected Member Functions inherited from Verse::Vst::Node
void DropParent (const TSRef< Node > &Child)
 
void AppendChildInternal (const TSRef< Node > &child)
 
void AppendChildInternal (TSRef< Node > &&child)
 
- Static Protected Member Functions inherited from Verse::Vst::Node
static const NodeFindOrphanedNode (const Node &InNode)
 
- Static Protected Member Functions inherited from uLang::CSharedMix
template<class ObjectType >
static TSPtrG< ObjectType, false, CHeapRawAllocatorSharedThis (ObjectType *This)
 
template<class ObjectType >
static TSPtrG< const ObjectType, false, CHeapRawAllocatorSharedThis (const ObjectType *This)
 
- Protected Attributes inherited from Verse::Vst::Node
NodeArray _Children
 
Node_Parent
 
TSPtr< Clause_Aux
 
NodeArray _PreComments
 
NodeArray _PostComments
 
SLocus _Whence
 
int32_t _NumNewLinesBefore
 The number of trailing newlines that should follow this node.
 
int32_t _NumNewLinesAfter
 
uint8_t _Tag
 
NodeType _Type
 
const uLang::CAstNode_MappedAstNode
 
FTile_Tile
 

Constructor & Destructor Documentation

◆ Package()

Verse::Vst::Package::Package ( const CUTF8StringView Name)
inline

Member Function Documentation

◆ CloneNode()

TSRef< Node > Verse::Vst::Package::CloneNode ( ) const
overridevirtual

Reimplemented from Verse::Vst::Node.

◆ CloneNodeFields()

void Verse::Vst::Package::CloneNodeFields ( Package DestNode) const

◆ FindModule()

uLang::TOptional< TSRef< Module > > Verse::Vst::Package::FindModule ( const Node ModuleContainer,
const CUTF8StringView ModuleName 
)
static

◆ FindOrAddModule()

TSRef< Module > Verse::Vst::Package::FindOrAddModule ( const CUTF8StringView ModuleName,
const CUTF8StringView ParentModuleName = CUTF8StringView() 
)

Member Data Documentation

◆ _bAllowExperimental

bool Verse::Vst::Package::_bAllowExperimental = false

◆ _bEnableSceneGraph

bool Verse::Vst::Package::_bEnableSceneGraph = false

◆ _bTreatModulesAsImplicit

bool Verse::Vst::Package::_bTreatModulesAsImplicit = false

◆ _DependencyPackages

LArray<CUTF8String> Verse::Vst::Package::_DependencyPackages

◆ _DirPath

CUTF8String Verse::Vst::Package::_DirPath

◆ _FilePath

CUTF8String Verse::Vst::Package::_FilePath

◆ _Name

CUTF8String Verse::Vst::Package::_Name

◆ _Role

uLang::EPackageRole Verse::Vst::Package::_Role = uLang::EPackageRole::Source

◆ _UploadedAtFNVersion

uint32_t Verse::Vst::Package::_UploadedAtFNVersion = VerseFN::UploadedAtFNVersion::Latest

This allows us to determine when a package was uploaded for a given Fortnite release version. It is a HACK that conditionally enables/disables behaviour in the compiler in order to support previous mistakes allowed to slip through in previous Verse langauge releases but now need to be supported for backwards compatability. When we can confirm that all Fortnite packages that are currently uploaded are beyond this version being used in all instances of the codebase, this can then be removed.

◆ _VersePath

CUTF8String Verse::Vst::Package::_VersePath

◆ _VerseScope

EVerseScope Verse::Vst::Package::_VerseScope = EVerseScope::PublicUser

◆ _VerseVersion

uLang::TOptional<uint32_t> Verse::Vst::Package::_VerseVersion

◆ _VniDestDir

uLang::TOptional<CUTF8String> Verse::Vst::Package::_VniDestDir

◆ StaticType

const Vst::NodeType Verse::Vst::Package::StaticType = NodeType::Package
static

The documentation for this struct was generated from the following files: