mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
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:
commit
993e1a6562
4 changed files with 38 additions and 29 deletions
|
@ -1 +1 @@
|
||||||
Subproject commit 8c7393744d2aa2e02f73f2b3dff4c2d5a46327d7
|
Subproject commit 1650d875a87accce61bb9d8cde7f51f033280acf
|
2
cmake
2
cmake
|
@ -1 +1 @@
|
||||||
Subproject commit 85c6f90f238b5851edbd6b6962f44de34833a76c
|
Subproject commit eede3aab03b80ade33a757f85dfc29f16a44499b
|
|
@ -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(
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue