|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
Classes | |
| struct | Manifest |
| struct | OrderNode |
Typedefs | |
| using | Contribution = std::map<std::string, std::map<std::string, ScriptValue>> |
Enumerations | |
| enum class | OrderState : uint8_t { Pending , Ordered , Rejected } |
Functions | |
| std::string | ToUtf8String (const fs::path &path) |
| std::expected< std::string, std::string > | ModulePath (std::string_view name) |
| ModuleResolver | MakeResolver (const PackageSource &package) |
| std::expected< std::vector< std::string >, std::string > | ReadNameList (const ScriptValue &list) |
| std::expected< Manifest, std::string > | ParseManifest (const ScriptValue &table) |
| std::expected< Manifest, std::string > | ReadManifest (LuauSandbox &sandbox, const PackageSource &package, const PackageLoadOptions &options) |
| bool | DependsReady (const std::map< std::string, OrderNode > &nodes, const OrderNode &node, std::string *missingReason) |
| bool | OrderStep (std::map< std::string, OrderNode > &nodes, std::vector< std::string > &order, PackageSetResult &result) |
| std::expected< Contribution, std::string > | ReadContribution (const std::vector< ScriptValue > &values) |
| std::expected< Contribution, std::string > | RunEntry (LuauSandbox &sandbox, const PackageSource &package, const Manifest &manifest) |
| std::string | FindForbiddenOverrides (const PackageSetResult &result, const Contribution &contribution) |
| void | MergeEntry (PackageSetResult &result, const std::string &category, const std::string &key, ScriptValue &&value, const std::string &package, MergeMode mode) |
| void | Merge (PackageSetResult &result, const std::string &package, Contribution &&contribution, MergeMode mode) |
| std::string | TypeCheckReason (std::vector< TypeDiagnostic > &&diagnostics, PackageSetResult &result) |
| std::string | LoadOne (LuauSandbox &sandbox, const PackageSource &package, const Manifest &manifest, const std::set< std::string > &loaded, const PackageLoadOptions &options, PackageSetResult &result) |
Variables | |
| constexpr std::string_view | MANIFEST_FILE = "package.luau" |
| constexpr std::string_view | MODULE_EXTENSION = ".luau" |
| constexpr size_t | MAX_NAME_LENGTH = 64 |
| constexpr size_t | MAX_LISTED_CONFLICTS = 3 |
| using bicameral::script::anonymous_namespace{luau_package.cpp}::Contribution = std::map<std::string, std::map<std::string, ScriptValue>> |
Definition at line 33 of file luau_package.cpp.
|
strong |
| Enumerator | |
|---|---|
| Pending | |
| Ordered | |
| Rejected | |
Definition at line 151 of file luau_package.cpp.
| bool bicameral::script::anonymous_namespace{luau_package.cpp}::DependsReady | ( | const std::map< std::string, OrderNode > & | nodes, |
| const OrderNode & | node, | ||
| std::string * | missingReason ) |
Definition at line 163 of file luau_package.cpp.
References bicameral::script::anonymous_namespace{luau_package.cpp}::Manifest::depends, DependsReady(), bicameral::script::anonymous_namespace{luau_package.cpp}::OrderNode::manifest, Ordered, and Rejected.
Referenced by DependsReady(), and OrderStep().
| std::string bicameral::script::anonymous_namespace{luau_package.cpp}::FindForbiddenOverrides | ( | const PackageSetResult & | result, |
| const Contribution & | contribution ) |
Definition at line 265 of file luau_package.cpp.
References FindForbiddenOverrides(), MAX_LISTED_CONFLICTS, and bicameral::script::PackageSetResult::tables.
Referenced by FindForbiddenOverrides(), and LoadOne().
| std::string bicameral::script::anonymous_namespace{luau_package.cpp}::LoadOne | ( | LuauSandbox & | sandbox, |
| const PackageSource & | package, | ||
| const Manifest & | manifest, | ||
| const std::set< std::string > & | loaded, | ||
| const PackageLoadOptions & | options, | ||
| PackageSetResult & | result ) |
Definition at line 326 of file luau_package.cpp.
References bicameral::script::AddOnly, bicameral::script::LuauTypeChecker::CheckPackage(), bicameral::script::anonymous_namespace{luau_package.cpp}::Manifest::depends, bicameral::script::anonymous_namespace{luau_package.cpp}::Manifest::entry, FindForbiddenOverrides(), LoadOne(), Merge(), bicameral::script::PackageLoadOptions::mergeMode, bicameral::script::PackageSource::name, RunEntry(), bicameral::script::PackageLoadOptions::typeChecker, and TypeCheckReason().
Referenced by LoadOne().
| ModuleResolver bicameral::script::anonymous_namespace{luau_package.cpp}::MakeResolver | ( | const PackageSource & | package | ) |
Definition at line 62 of file luau_package.cpp.
References bicameral::script::PackageSource::files, MakeResolver(), ModulePath(), and bicameral::script::PackageSource::name.
Referenced by MakeResolver(), and RunEntry().
| void bicameral::script::anonymous_namespace{luau_package.cpp}::Merge | ( | PackageSetResult & | result, |
| const std::string & | package, | ||
| Contribution && | contribution, | ||
| MergeMode | mode ) |
Definition at line 306 of file luau_package.cpp.
References Merge(), and MergeEntry().
Referenced by LoadOne(), and Merge().
| void bicameral::script::anonymous_namespace{luau_package.cpp}::MergeEntry | ( | PackageSetResult & | result, |
| const std::string & | category, | ||
| const std::string & | key, | ||
| ScriptValue && | value, | ||
| const std::string & | package, | ||
| MergeMode | mode ) |
Definition at line 293 of file luau_package.cpp.
References MergeEntry(), bicameral::script::PackageSetResult::modifiedWorld, bicameral::script::OverrideMarked, bicameral::script::PackageSetResult::overrides, and bicameral::script::PackageSetResult::tables.
Referenced by Merge(), and MergeEntry().
| std::expected< std::string, std::string > bicameral::script::anonymous_namespace{luau_package.cpp}::ModulePath | ( | std::string_view | name | ) |
Definition at line 44 of file luau_package.cpp.
References bicameral::script::IsValidPackageName(), MODULE_EXTENSION, and ModulePath().
Referenced by MakeResolver(), ModulePath(), and ParseManifest().
| bool bicameral::script::anonymous_namespace{luau_package.cpp}::OrderStep | ( | std::map< std::string, OrderNode > & | nodes, |
| std::vector< std::string > & | order, | ||
| PackageSetResult & | result ) |
Definition at line 185 of file luau_package.cpp.
References DependsReady(), Ordered, OrderStep(), Pending, Rejected, and bicameral::script::PackageSetResult::rejected.
Referenced by OrderStep().
| std::expected< Manifest, std::string > bicameral::script::anonymous_namespace{luau_package.cpp}::ParseManifest | ( | const ScriptValue & | table | ) |
Definition at line 95 of file luau_package.cpp.
References bicameral::script::anonymous_namespace{luau_package.cpp}::Manifest::depends, bicameral::script::anonymous_namespace{luau_package.cpp}::Manifest::entry, bicameral::script::ScriptValue::fields, bicameral::script::ScriptValue::IsNumber(), bicameral::script::ScriptValue::IsString(), bicameral::script::ScriptValue::IsTable(), bicameral::script::ScriptField::key, ModulePath(), bicameral::script::ScriptValue::number, bicameral::script::PACKAGE_FORMAT_VERSION, ParseManifest(), ReadNameList(), bicameral::script::ScriptValue::text, bicameral::script::ToDebugText(), and bicameral::script::ScriptField::value.
Referenced by ParseManifest(), and ReadManifest().
| std::expected< Contribution, std::string > bicameral::script::anonymous_namespace{luau_package.cpp}::ReadContribution | ( | const std::vector< ScriptValue > & | values | ) |
Definition at line 221 of file luau_package.cpp.
References bicameral::script::ScriptValue::fields, bicameral::script::ScriptValue::IsString(), bicameral::script::IsValidPackageName(), bicameral::script::ScriptField::key, bicameral::script::ScriptValue::Nil, ReadContribution(), bicameral::script::ScriptValue::text, bicameral::script::ToDebugText(), and bicameral::script::ScriptField::value.
Referenced by ReadContribution(), and RunEntry().
| std::expected< Manifest, std::string > bicameral::script::anonymous_namespace{luau_package.cpp}::ReadManifest | ( | LuauSandbox & | sandbox, |
| const PackageSource & | package, | ||
| const PackageLoadOptions & | options ) |
Definition at line 128 of file luau_package.cpp.
References bicameral::script::PackageLoadOptions::basePackage, bicameral::script::PackageSource::files, MANIFEST_FILE, bicameral::script::PackageSource::name, ParseManifest(), ReadManifest(), and bicameral::script::LuauSandbox::Run().
Referenced by ReadManifest().
| std::expected< std::vector< std::string >, std::string > bicameral::script::anonymous_namespace{luau_package.cpp}::ReadNameList | ( | const ScriptValue & | list | ) |
Definition at line 78 of file luau_package.cpp.
References bicameral::script::ScriptValue::fields, bicameral::script::ScriptValue::IsNumber(), bicameral::script::ScriptValue::IsString(), bicameral::script::ScriptValue::IsTable(), bicameral::script::IsValidPackageName(), bicameral::script::ScriptField::key, bicameral::script::ScriptValue::number, ReadNameList(), bicameral::script::ScriptValue::text, and bicameral::script::ScriptField::value.
Referenced by ParseManifest(), and ReadNameList().
| std::expected< Contribution, std::string > bicameral::script::anonymous_namespace{luau_package.cpp}::RunEntry | ( | LuauSandbox & | sandbox, |
| const PackageSource & | package, | ||
| const Manifest & | manifest ) |
Definition at line 246 of file luau_package.cpp.
References bicameral::script::anonymous_namespace{luau_package.cpp}::Manifest::entry, bicameral::script::PackageSource::files, MakeResolver(), MODULE_EXTENSION, bicameral::script::PackageSource::name, ReadContribution(), bicameral::script::LuauSandbox::Run(), and RunEntry().
Referenced by LoadOne(), and RunEntry().
| std::string bicameral::script::anonymous_namespace{luau_package.cpp}::ToUtf8String | ( | const fs::path & | path | ) |
Definition at line 35 of file luau_package.cpp.
References ToUtf8String().
Referenced by ToUtf8String().
| std::string bicameral::script::anonymous_namespace{luau_package.cpp}::TypeCheckReason | ( | std::vector< TypeDiagnostic > && | diagnostics, |
| PackageSetResult & | result ) |
Definition at line 315 of file luau_package.cpp.
References bicameral::script::SummarizeDiagnostics(), TypeCheckReason(), and bicameral::script::PackageSetResult::typeDiagnostics.
Referenced by LoadOne(), and TypeCheckReason().
|
constexpr |
Definition at line 22 of file luau_package.cpp.
Referenced by ReadManifest().
|
constexpr |
Definition at line 25 of file luau_package.cpp.
Referenced by FindForbiddenOverrides().
|
constexpr |
Definition at line 24 of file luau_package.cpp.
|
constexpr |
Definition at line 23 of file luau_package.cpp.
Referenced by ModulePath(), and RunEntry().