85 template<
typename FunctionType>
87 template<
typename FunctionType>
137 Generator->Update(&VerseVersion,
sizeof(VerseVersion),
"SSettings::_VerseVersion");
160 Generator->Update(
Dependency->AsCString(),
Dependency->ByteLen(),
"SSettings::_DependencyPackages[]");
205 Generator->Update(
Dependency->AsCString(),
Dependency->ByteLen(),
"SVersionedDigest::_DependencyPackages[]");
318template<
typename FunctionType>
336template<
typename FunctionType>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ULANG_FORCEINLINE
Definition Common.h:188
Definition SharedPointer.h:28
Definition SourceProject.h:59
VERSECOMPILER_API void AddSnippet(const uLang::TSRef< ISourceSnippet > &Snippet)
Definition SourceProject.cpp:40
virtual const CUTF8String & GetFilePath() const
Definition SourceProject.h:73
VERSECOMPILER_API TOptional< TSRef< CSourceModule > > FindSubmodule(const CUTF8StringView &ModuleName) const
Definition SourceProject.cpp:35
CSourceModule(const CUTF8StringView &Name)
Construct from name.
Definition SourceProject.h:69
CUTF8String _Name
Name of this module.
Definition SourceProject.h:96
VERSECOMPILER_API bool RemoveSnippet(const uLang::TSRef< ISourceSnippet > &Snippet, bool bRecursive)
Definition SourceProject.cpp:47
ULANG_FORCEINLINE bool operator==(const CUTF8StringView &Name) const
For lookup by name.
Definition SourceProject.h:91
TSRefArray< CSourceModule > _Submodules
Submodules of this module.
Definition SourceProject.h:66
virtual ~CSourceModule()=default
TSRefArray< ISourceSnippet > _SourceSnippets
The source files contained in the module.
Definition SourceProject.h:63
VERSECOMPILER_API CUTF8StringView GetNameFromFile() const
Definition SourceProject.cpp:16
const CUTF8String & GetName() const
Definition SourceProject.h:72
bool VisitAll(FunctionType &&Lambda) const
Definition SourceProject.h:319
Definition SourceProject.h:103
virtual const CUTF8String & GetDirPath() const
Definition SourceProject.h:235
EOrigin
Where the source code of this package originates.
Definition SourceProject.h:212
@ FileSystem
Definition SourceProject.h:215
@ Unknown
Definition SourceProject.h:213
@ Memory
Definition SourceProject.h:214
VERSECOMPILER_API void TruncateVniDestDir()
Definition SourceProject.cpp:80
const SSettings & GetSettings() const
Definition SourceProject.h:233
TOptional< SVersionedDigest > _Digest
Optional digest to be used instead of source if desired.
Definition SourceProject.h:223
VERSECOMPILER_API void GenerateFingerprint(TSRef< ISolFingerprintGenerator > &Generator) const
Definition SourceProject.cpp:94
void SetName(const CUTF8StringView &NewName)
Definition SourceProject.h:242
void SetVerseScope(const EVerseScope VerseScope)
Definition SourceProject.h:244
virtual const CUTF8String & GetFilePath() const
Definition SourceProject.h:236
VERSECOMPILER_API void AddDependencyPackage(const CUTF8StringView &PackageName)
Definition SourceProject.cpp:75
void SetVerseVersion(const TOptional< uint32_t > VerseVersion)
Definition SourceProject.h:245
VERSECOMPILER_API bool RemoveSnippet(const uLang::TSRef< ISourceSnippet > &Snippet)
Definition SourceProject.cpp:89
VERSECOMPILER_API void SetDependencyPackages(TArray< CUTF8String > &&PackageNames)
Definition SourceProject.cpp:70
virtual ~CSourcePackage()=default
const FSolFingerprint & GetFingerprint() const
Definition SourceProject.h:238
void SetFingerprint(FSolFingerprint Fingerprint)
Definition SourceProject.h:249
const CUTF8String & GetName() const
Definition SourceProject.h:232
void SetTreatDefinitionsAsImplicit(bool bTreatAsImplicit)
Definition SourceProject.h:248
void SetVersePath(const CUTF8StringView &VersePath)
Definition SourceProject.h:243
void SetAllowExperimental(const bool bAllowExperimental)
Definition SourceProject.h:246
TOptional< SVersionedDigest > _PublicDigest
The public-only digest, if it exists.
Definition SourceProject.h:226
CSourcePackage(const CUTF8StringView &Name, const TSRef< CSourceModule > &RootModule)
Construct from name.
Definition SourceProject.h:229
VERSECOMPILER_API int32_t GetNumSnippets() const
Definition SourceProject.cpp:59
TSRef< CSourceModule > _RootModule
The root module of this package, equivalent to the _VersePath specified in _Settings.
Definition SourceProject.h:220
virtual EOrigin GetOrigin() const
Definition SourceProject.h:234
SSettings _Settings
Settings, e.g. parsed from .vpackage file.
Definition SourceProject.h:267
void SetRole(const EPackageRole Role)
Definition SourceProject.h:247
Definition SourceProject.h:275
VERSECOMPILER_API const SPackage * FindPackage(const CUTF8StringView &PackageName, const CUTF8StringView &PackageVersePath) const
Definition SourceProject.cpp:150
TArray< SPackage > _Packages
The packages contained in this project.
Definition SourceProject.h:287
VERSECOMPILER_API void AddSnippet(const uLang::TSRef< ISourceSnippet > &Snippet, const CUTF8StringView &PackageName, const CUTF8StringView &PackageVersePath)
Definition SourceProject.cpp:173
VERSECOMPILER_API int32_t GetNumSnippets() const
Definition SourceProject.cpp:140
CSourceProject(const CUTF8StringView &Name)
Construct from name.
Definition SourceProject.h:290
virtual const CUTF8String & GetFilePath() const
Definition SourceProject.h:296
VERSECOMPILER_API const SPackage & FindOrAddPackage(const CUTF8StringView &PackageName, const CUTF8StringView &PackageVersePath)
Definition SourceProject.cpp:160
virtual ~CSourceProject()=default
VERSECOMPILER_API void TruncateVniDestDirs()
Definition SourceProject.cpp:191
VERSECOMPILER_API bool RemoveSnippet(const uLang::TSRef< ISourceSnippet > &Snippet)
Definition SourceProject.cpp:178
const CUTF8String & GetName() const
Definition SourceProject.h:295
void PopulateTransitiveDependencyMap(uLang::TMap< const CSourcePackage *, uLang::TArray< const CSourcePackage * > > &OutMap)
Definition SourceProject.cpp:199
VERSECOMPILER_API void GeneratePackageFingerprints(TSRef< ISolFingerprintGenerator > &Generator)
Definition SourceProject.cpp:273
Definition UTF8StringView.h:15
Definition SourceProject.h:21
virtual CUTF8String GetPath() const =0
virtual TOptional< CUTF8String > GetText() const =0
virtual void SetPath(const CUTF8String &Path)=0
virtual uint64_t GetSourceVersion() const
Definition SourceProject.h:52
virtual void SetVst(TSRef< Verse::Vst::Snippet > Snippet)=0
virtual TOptional< TSRef< Verse::Vst::Snippet > > GetVst() const =0
virtual bool IsSnippetValid(Verse::Vst::Snippet &Snippet) const
Definition SourceProject.h:51
virtual ~ISourceSnippet()
Definition SourceProject.h:24
ULANG_FORCEINLINE int32_t Add(ElementType &&Item)
Definition Array.h:1587
Definition SharedPointerArray.h:21
Definition SharedPointer.h:77
static const TUTF8String & GetEmpty()
Definition UTF8String.h:262
ULANG_FORCEINLINE const char * AsCString() const
Definition UTF8String.h:50
ULANG_FORCEINLINE int32_t ByteLen() const
Definition UTF8String.h:46
Definition VerseScope.h:13
ULANG_FORCEINLINE void Sort(RangeType &&Range)
Definition Sort.h:18
Definition VVMEngineEnvironment.h:23
EPackageRole
Definition PackageRole.h:15
Definition VstNode.h:1828
Definition SourceProject.h:108
TOptional< uint32_t > _UploadedAtFNVersion
Definition SourceProject.h:113
TArray< CUTF8String > _DependencyPackages
Definition SourceProject.h:115
uint32_t GetUploadedAtFNVersion(uint32_t Default) const
Definition SourceProject.h:121
TOptional< CUTF8String > _VniDestDir
Definition SourceProject.h:116
void GenerateFingerprint(TSRef< ISolFingerprintGenerator > &Generator) const
Definition SourceProject.h:126
CUTF8String _VersePath
Definition SourceProject.h:109
bool _bDefsInClassesInAssetManifests
Definition SourceProject.h:119
bool _bAllowExperimental
Definition SourceProject.h:117
EVerseScope _VerseScope
Definition SourceProject.h:110
TOptional< uint32_t > _VerseVersion
Definition SourceProject.h:112
bool _bEnableSceneGraph
Definition SourceProject.h:118
bool _bTreatModulesAsImplicit
Definition SourceProject.h:114
EPackageRole _Role
Definition SourceProject.h:111
Definition SourceProject.h:175
TArray< CUTF8String > _DependencyPackages
Definition SourceProject.h:178
void GenerateFingerprint(TSRef< ISolFingerprintGenerator > &Generator) const
Definition SourceProject.h:180
uint32_t _EffectiveVerseVersion
Definition SourceProject.h:177
TSRef< ISourceSnippet > _Snippet
Definition SourceProject.h:176
Entry for a package contained in this project.
Definition SourceProject.h:280
bool _bValkyrieSource
Definition SourceProject.h:283
bool _bReadonly
Definition SourceProject.h:282
TSPtr< CSourcePackage > _Package
Definition SourceProject.h:281
Definition CompilerTypes.h:30
const OptionalType & Get(const OptionalType &DefaultValue) const
Definition Optional.h:180
ULANG_FORCEINLINE bool IsSet() const
Definition Optional.h:161