aboutsummaryrefslogtreecommitdiffstats
path: root/nihil.ucl/type.cc
diff options
context:
space:
mode:
authorLexi Winter <lexi@le-fay.org>2025-07-01 17:07:04 +0100
committerLexi Winter <lexi@le-fay.org>2025-07-01 17:07:04 +0100
commit2e2d1bd3b6c7776b77c33b94f30ead89367a71e6 (patch)
tree54d37ffadf8e677938d9b7a28e4e9b71be1e75c1 /nihil.ucl/type.cc
parent36427c0966faa7aecd586b397ed9b845f18172f5 (diff)
downloadnihil-2e2d1bd3b6c7776b77c33b94f30ead89367a71e6.tar.gz
nihil-2e2d1bd3b6c7776b77c33b94f30ead89367a71e6.tar.bz2
add nihil.std
Diffstat (limited to 'nihil.ucl/type.cc')
-rw-r--r--nihil.ucl/type.cc62
1 files changed, 0 insertions, 62 deletions
diff --git a/nihil.ucl/type.cc b/nihil.ucl/type.cc
deleted file mode 100644
index 7d9cad7..0000000
--- a/nihil.ucl/type.cc
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * This source code is released into the public domain.
- */
-
-module;
-
-#include <format>
-
-module nihil.ucl;
-
-namespace nihil::ucl {
-
-auto str(object_type type) -> std::string_view {
- using namespace std::literals;
-
- switch (type) {
- case object_type::object:
- return "object"sv;
- case object_type::array:
- return "array"sv;
- case object_type::integer:
- return "integer"sv;
- case object_type::real:
- return "real"sv;
- case object_type::string:
- return "string"sv;
- case object_type::boolean:
- return "boolean"sv;
- case object_type::time:
- return "time"sv;
- case object_type::userdata:
- return "userdata"sv;
- case object_type::null:
- return "null"sv;
- default:
- // Don't fail here, since UCL might add more types that we
- // don't know about.
- return "unknown"sv;
- }
-}
-
-type_mismatch::type_mismatch(object_type expected_type,
- object_type actual_type)
- : error(std::format(
- "expected type '{}' != actual type '{}'",
- ucl::str(expected_type), ucl::str(actual_type)))
- , m_expected_type(expected_type)
- , m_actual_type(actual_type)
-{
-}
-
-auto type_mismatch::expected_type(this type_mismatch const &self) -> object_type
-{
- return self.m_expected_type;
-}
-
-auto type_mismatch::actual_type(this type_mismatch const &self) -> object_type
-{
- return self.m_actual_type;
-}
-
-} // namespace nihil::ucl