diff --git a/src/script_opt/ZAM/Support.h b/src/script_opt/ZAM/Support.h index 5aa439d387..7aa36572b8 100644 --- a/src/script_opt/ZAM/Support.h +++ b/src/script_opt/ZAM/Support.h @@ -9,15 +9,24 @@ #pragma once -#include "zeek/Expr.h" +#include + +#include "zeek/IntrusivePtr.h" #include "zeek/script_opt/ZAM/Profile.h" +#include "zeek/util.h" namespace zeek { + class Connection; class EnumVal; class RecordVal; -class Val; class StringVal; +class Type; +class Val; + +using ValPtr = IntrusivePtr; +using StringValPtr = IntrusivePtr; +using TypePtr = IntrusivePtr; namespace plugin { class Component; @@ -25,6 +34,7 @@ class Component; namespace detail { +class Expr; class Stmt; using ValVec = std::vector; @@ -96,7 +106,6 @@ extern bool IsAny(const Type* t); // Convenience functions for getting to these. inline bool IsAny(const TypePtr& t) { return IsAny(t.get()); } -inline bool IsAny(const Expr* e) { return IsAny(e->GetType()); } // Run-time checking for "any" type being consistent with // expected typed. Returns true if the type match is okay. diff --git a/src/script_opt/ZAM/ZBody.h b/src/script_opt/ZAM/ZBody.h index 22330a6fa3..2e4a165b00 100644 --- a/src/script_opt/ZAM/ZBody.h +++ b/src/script_opt/ZAM/ZBody.h @@ -4,9 +4,9 @@ #pragma once +#include + #include "zeek/script_opt/ZAM/IterInfo.h" -#include "zeek/script_opt/ZAM/Profile.h" -#include "zeek/script_opt/ZAM/Support.h" namespace zeek::detail { diff --git a/src/script_opt/ZAM/ZOp.cc b/src/script_opt/ZAM/ZOp.cc index d91ad8b713..904ebe6940 100644 --- a/src/script_opt/ZAM/ZOp.cc +++ b/src/script_opt/ZAM/ZOp.cc @@ -2,7 +2,7 @@ #include "zeek/script_opt/ZAM/ZOp.h" -#include "zeek/script_opt/ZAM/Support.h" +#include "zeek/Type.h" namespace zeek::detail {