Merge remote-tracking branch 'origin/topic/robin/gh-zeek-4238-spicy-bump'

* origin/topic/robin/gh-zeek-4238-spicy-bump:
  Bump `cmake` submodule.
  Bump Spicy.
  [Spicy] Add missing `to_string` overload.
This commit is contained in:
Robin Sommer 2025-03-18 09:05:46 +01:00
commit 993e1a6562
No known key found for this signature in database
GPG key ID: D8187293B3FFE5D0
4 changed files with 38 additions and 29 deletions

@ -1 +1 @@
Subproject commit 8c7393744d2aa2e02f73f2b3dff4c2d5a46327d7 Subproject commit 1650d875a87accce61bb9d8cde7f51f033280acf

2
cmake

@ -1 +1 @@
Subproject commit 85c6f90f238b5851edbd6b6962f44de34833a76c Subproject commit eede3aab03b80ade33a757f85dfc29f16a44499b

View file

@ -66,38 +66,44 @@ static TypePtr findType(TypeTag tag, const std::string& ns, const std::string& i
return type; return type;
} }
TypePtr rt::create_base_type(ZeekTypeTag tag) { static TypeTag zeekTypeForTag(rt::ZeekTypeTag tag) {
auto _ = hilti::rt::profiler::start("zeek/rt/create_base_type"); using namespace ::zeek::spicy::rt;
TypeTag ztag;
switch ( tag ) { switch ( tag ) {
case ZeekTypeTag::Addr: ztag = TYPE_ADDR; break; case ZeekTypeTag::Addr: return TYPE_ADDR;
case ZeekTypeTag::Any: ztag = TYPE_ANY; break; case ZeekTypeTag::Any: return TYPE_ANY;
case ZeekTypeTag::Bool: ztag = TYPE_BOOL; break; case ZeekTypeTag::Bool: return TYPE_BOOL;
case ZeekTypeTag::Count: ztag = TYPE_COUNT; break; case ZeekTypeTag::Count: return TYPE_COUNT;
case ZeekTypeTag::Double: ztag = TYPE_DOUBLE; break; case ZeekTypeTag::Double: return TYPE_DOUBLE;
case ZeekTypeTag::Enum: ztag = TYPE_ENUM; break; case ZeekTypeTag::Enum: return TYPE_ENUM;
case ZeekTypeTag::Error: ztag = TYPE_ERROR; break; case ZeekTypeTag::Error: return TYPE_ERROR;
case ZeekTypeTag::File: ztag = TYPE_FILE; break; case ZeekTypeTag::File: return TYPE_FILE;
case ZeekTypeTag::Func: ztag = TYPE_FUNC; break; case ZeekTypeTag::Func: return TYPE_FUNC;
case ZeekTypeTag::List: ztag = TYPE_LIST; break; case ZeekTypeTag::List: return TYPE_LIST;
case ZeekTypeTag::Int: ztag = TYPE_INT; break; case ZeekTypeTag::Int: return TYPE_INT;
case ZeekTypeTag::Interval: ztag = TYPE_INTERVAL; break; case ZeekTypeTag::Interval: return TYPE_INTERVAL;
case ZeekTypeTag::Opaque: ztag = TYPE_OPAQUE; break; case ZeekTypeTag::Opaque: return TYPE_OPAQUE;
case ZeekTypeTag::Pattern: ztag = TYPE_PATTERN; break; case ZeekTypeTag::Pattern: return TYPE_PATTERN;
case ZeekTypeTag::Port: ztag = TYPE_PORT; break; case ZeekTypeTag::Port: return TYPE_PORT;
case ZeekTypeTag::Record: ztag = TYPE_RECORD; break; case ZeekTypeTag::Record: return TYPE_RECORD;
case ZeekTypeTag::String: ztag = TYPE_STRING; break; case ZeekTypeTag::String: return TYPE_STRING;
case ZeekTypeTag::Subnet: ztag = TYPE_SUBNET; break; case ZeekTypeTag::Subnet: return TYPE_SUBNET;
case ZeekTypeTag::Table: ztag = TYPE_TABLE; break; case ZeekTypeTag::Table: return TYPE_TABLE;
case ZeekTypeTag::Time: ztag = TYPE_TIME; break; case ZeekTypeTag::Time: return TYPE_TIME;
case ZeekTypeTag::Type: ztag = TYPE_TYPE; break; case ZeekTypeTag::Type: return TYPE_TYPE;
case ZeekTypeTag::Vector: ztag = TYPE_VECTOR; break; case ZeekTypeTag::Vector: return TYPE_VECTOR;
case ZeekTypeTag::Void: ztag = TYPE_VOID; break; case ZeekTypeTag::Void: return TYPE_VOID;
default: hilti::rt::cannot_be_reached(); default: hilti::rt::cannot_be_reached();
} }
}
return base_type(ztag); TypePtr rt::create_base_type(ZeekTypeTag tag) {
auto _ = hilti::rt::profiler::start("zeek/rt/create_base_type");
return base_type(zeekTypeForTag(tag));
}
std::string hilti::rt::detail::adl::to_string(const zeek::spicy::rt::ZeekTypeTag& v, detail::adl::tag /* unused */) {
return type_name(zeekTypeForTag(v));
} }
TypePtr rt::create_enum_type( TypePtr rt::create_enum_type(

View file

@ -1326,4 +1326,7 @@ inline std::string to_string(const zeek::spicy::rt::ValTablePtr& v, detail::adl:
inline std::string to_string(const zeek::spicy::rt::ValVectorPtr& v, detail::adl::tag /* unused */) { inline std::string to_string(const zeek::spicy::rt::ValVectorPtr& v, detail::adl::tag /* unused */) {
return "<Zeek vector>"; return "<Zeek vector>";
} }
extern std::string to_string(const zeek::spicy::rt::ZeekTypeTag& v, detail::adl::tag /* unused */);
} // namespace hilti::rt::detail::adl } // namespace hilti::rt::detail::adl