mirror of
https://github.com/zeek/zeek.git
synced 2025-10-07 17:18:20 +00:00
Deprecate init_class and IDScope in another way.
This also renamed init_class to InitClass for consistency.
This commit is contained in:
parent
361ad8f2f7
commit
7ee8e11a8f
9 changed files with 50 additions and 68 deletions
23
src/ID.cc
23
src/ID.cc
|
@ -120,12 +120,6 @@ ID::ID(const char* arg_name, IDScope arg_scope, bool arg_is_export)
|
|||
SetLocationInfo(&start_location, &end_location);
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
ID::ID(const char* arg_name, ::IDScope arg_scope, bool arg_is_export) :
|
||||
ID(arg_name, static_cast<IDScope>(arg_scope), arg_is_export) {}
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
ID::~ID()
|
||||
{
|
||||
delete [] name;
|
||||
|
@ -175,7 +169,7 @@ void ID::SetVal(IntrusivePtr<Val> v)
|
|||
}
|
||||
}
|
||||
|
||||
void ID::SetVal(IntrusivePtr<Val> v, init_class c)
|
||||
void ID::SetVal(IntrusivePtr<Val> v, InitClass c)
|
||||
{
|
||||
if ( c == INIT_NONE || c == INIT_FULL )
|
||||
{
|
||||
|
@ -213,7 +207,7 @@ void ID::SetVal(IntrusivePtr<Val> v, init_class c)
|
|||
}
|
||||
}
|
||||
|
||||
void ID::SetVal(IntrusivePtr<Expr> ev, init_class c)
|
||||
void ID::SetVal(IntrusivePtr<Expr> ev, InitClass c)
|
||||
{
|
||||
const auto& a = attrs->Find(c == INIT_EXTRA ? ATTR_ADD_FUNC : ATTR_DEL_FUNC);
|
||||
|
||||
|
@ -223,19 +217,6 @@ void ID::SetVal(IntrusivePtr<Expr> ev, init_class c)
|
|||
EvalFunc(a->GetExpr(), std::move(ev));
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
void ID::SetVal(IntrusivePtr<Val> v, ::init_class c)
|
||||
{
|
||||
SetVal(v, static_cast<init_class>(c));
|
||||
}
|
||||
|
||||
void ID::SetVal(IntrusivePtr<Expr> ev, ::init_class c)
|
||||
{
|
||||
SetVal(ev, static_cast<init_class>(c));
|
||||
}
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
bool ID::IsRedefinable() const
|
||||
{
|
||||
return GetAttr(ATTR_REDEF) != nullptr;
|
||||
|
|
41
src/ID.h
41
src/ID.h
|
@ -24,15 +24,12 @@ ZEEK_FORWARD_DECLARE_NAMESPACED(TableType, zeek);
|
|||
ZEEK_FORWARD_DECLARE_NAMESPACED(VectorType, zeek);
|
||||
ZEEK_FORWARD_DECLARE_NAMESPACED(EnumType, zeek);
|
||||
|
||||
enum [[deprecated("Remove in v4.1. Use zeek::detail::init_class instead.")]] init_class { INIT_NONE, INIT_FULL, INIT_EXTRA, INIT_REMOVE, };
|
||||
enum [[deprecated("Remove in v4.1. Use zeek::detail::IDScope instead.")]] IDScope { SCOPE_FUNCTION, SCOPE_MODULE, SCOPE_GLOBAL };
|
||||
|
||||
namespace zeek::detail {
|
||||
|
||||
class Attributes;
|
||||
class Expr;
|
||||
|
||||
enum init_class { INIT_NONE, INIT_FULL, INIT_EXTRA, INIT_REMOVE, };
|
||||
enum InitClass { INIT_NONE, INIT_FULL, INIT_EXTRA, INIT_REMOVE, };
|
||||
enum IDScope { SCOPE_FUNCTION, SCOPE_MODULE, SCOPE_GLOBAL };
|
||||
|
||||
class ID final : public BroObj, public notifier::Modifiable {
|
||||
|
@ -41,12 +38,6 @@ public:
|
|||
|
||||
ID(const char* name, IDScope arg_scope, bool arg_is_export);
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
[[deprecated("Remove in v4.1. Use version that takes zeek::detail::IDScope")]]
|
||||
ID(const char* name, ::IDScope arg_scope, bool arg_is_export);
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
~ID() override;
|
||||
|
||||
const char* Name() const { return name; }
|
||||
|
@ -85,16 +76,8 @@ public:
|
|||
|
||||
void SetVal(IntrusivePtr<Val> v);
|
||||
|
||||
void SetVal(IntrusivePtr<Val> v, init_class c);
|
||||
void SetVal(IntrusivePtr<Expr> ev, init_class c);
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
[[deprecated("Remove in v4.1. Use version that takes zeek::detail::init_class")]]
|
||||
void SetVal(IntrusivePtr<Val> v, ::init_class c);
|
||||
[[deprecated("Remove in v4.1. Use version that takes zeek::detail::init_class")]]
|
||||
void SetVal(IntrusivePtr<Expr> ev, ::init_class c);
|
||||
#pragma GCC diagnostic pop
|
||||
void SetVal(IntrusivePtr<Val> v, InitClass c);
|
||||
void SetVal(IntrusivePtr<Expr> ev, InitClass c);
|
||||
|
||||
bool HasVal() const { return val != nullptr; }
|
||||
|
||||
|
@ -279,3 +262,21 @@ void init();
|
|||
} // namespace zeek::id::detail
|
||||
|
||||
} // namespace zeek::id
|
||||
|
||||
using init_class [[deprecated("Remove in v4.1. Use zeek::detail::InitClass instead.")]] = zeek::detail::InitClass;
|
||||
[[deprecated("Remove in v4.1. Use zeek::detail::INIT_NONE instead.")]]
|
||||
constexpr auto INIT_NONE = zeek::detail::INIT_NONE;
|
||||
[[deprecated("Remove in v4.1. Use zeek::detail::INIT_FULL instead.")]]
|
||||
constexpr auto INIT_FULL = zeek::detail::INIT_FULL;
|
||||
[[deprecated("Remove in v4.1. Use zeek::detail::INIT_EXTRA instead.")]]
|
||||
constexpr auto INIT_EXTRA = zeek::detail::INIT_EXTRA;
|
||||
[[deprecated("Remove in v4.1. Use zeek::detail::INIT_REMOVE instead.")]]
|
||||
constexpr auto INIT_REMOVE = zeek::detail::INIT_REMOVE;
|
||||
|
||||
using IDScope [[deprecated("Remove in v4.1. Use zeek::detail::IDScope instead.")]] = zeek::detail::IDScope;
|
||||
[[deprecated("Remove in v4.1. Use zeek::detail::SCOPE_FUNCTION instead.")]]
|
||||
constexpr auto SCOPE_FUNCTION = zeek::detail::SCOPE_FUNCTION;
|
||||
[[deprecated("Remove in v4.1. Use zeek::detail::SCOPE_MODULE instead.")]]
|
||||
constexpr auto SCOPE_MODULE = zeek::detail::SCOPE_MODULE;
|
||||
[[deprecated("Remove in v4.1. Use zeek::detail::SCOPE_GLOBAL instead.")]]
|
||||
constexpr auto SCOPE_GLOBAL = zeek::detail::SCOPE_GLOBAL;
|
||||
|
|
10
src/Var.cc
10
src/Var.cc
|
@ -111,7 +111,7 @@ static bool add_prototype(const IntrusivePtr<zeek::detail::ID>& id, zeek::Type*
|
|||
}
|
||||
|
||||
static void make_var(const IntrusivePtr<zeek::detail::ID>& id, IntrusivePtr<zeek::Type> t,
|
||||
zeek::detail::init_class c,
|
||||
zeek::detail::InitClass c,
|
||||
IntrusivePtr<zeek::detail::Expr> init,
|
||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||
decl_type dt,
|
||||
|
@ -311,7 +311,7 @@ static void make_var(const IntrusivePtr<zeek::detail::ID>& id, IntrusivePtr<zeek
|
|||
}
|
||||
|
||||
void add_global(const IntrusivePtr<zeek::detail::ID>& id, IntrusivePtr<zeek::Type> t,
|
||||
zeek::detail::init_class c, IntrusivePtr<zeek::detail::Expr> init,
|
||||
zeek::detail::InitClass c, IntrusivePtr<zeek::detail::Expr> init,
|
||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||
decl_type dt)
|
||||
{
|
||||
|
@ -319,9 +319,9 @@ void add_global(const IntrusivePtr<zeek::detail::ID>& id, IntrusivePtr<zeek::Typ
|
|||
}
|
||||
|
||||
IntrusivePtr<zeek::detail::Stmt> add_local(IntrusivePtr<zeek::detail::ID> id, IntrusivePtr<zeek::Type> t,
|
||||
zeek::detail::init_class c, IntrusivePtr<zeek::detail::Expr> init,
|
||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||
decl_type dt)
|
||||
zeek::detail::InitClass c, IntrusivePtr<zeek::detail::Expr> init,
|
||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||
decl_type dt)
|
||||
{
|
||||
make_var(id, std::move(t), c, init, std::move(attr), dt, false);
|
||||
|
||||
|
|
|
@ -20,14 +20,14 @@ typedef enum { VAR_REGULAR, VAR_CONST, VAR_REDEF, VAR_OPTION, } decl_type;
|
|||
|
||||
extern void add_global(const IntrusivePtr<zeek::detail::ID>& id,
|
||||
IntrusivePtr<zeek::Type> t,
|
||||
zeek::detail::init_class c,
|
||||
zeek::detail::InitClass c,
|
||||
IntrusivePtr<zeek::detail::Expr> init,
|
||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||
decl_type dt);
|
||||
|
||||
extern IntrusivePtr<zeek::detail::Stmt> add_local(IntrusivePtr<zeek::detail::ID> id,
|
||||
IntrusivePtr<zeek::Type> t,
|
||||
zeek::detail::init_class c,
|
||||
zeek::detail::InitClass c,
|
||||
IntrusivePtr<zeek::detail::Expr> init,
|
||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||
decl_type dt);
|
||||
|
|
|
@ -234,7 +234,7 @@ static bool expr_is_table_type_name(const zeek::detail::Expr* expr)
|
|||
char* str;
|
||||
zeek::detail::ID* id;
|
||||
id_list* id_l;
|
||||
zeek::detail::init_class ic;
|
||||
zeek::detail::InitClass ic;
|
||||
Val* val;
|
||||
RE_Matcher* re;
|
||||
zeek::detail::Expr* expr;
|
||||
|
|
|
@ -31,7 +31,7 @@ IdentifierInfo::~IdentifierInfo()
|
|||
delete it->second;
|
||||
}
|
||||
|
||||
void IdentifierInfo::AddRedef(const string& script, zeek::detail::init_class ic,
|
||||
void IdentifierInfo::AddRedef(const string& script, zeek::detail::InitClass ic,
|
||||
IntrusivePtr<zeek::detail::Expr> init_expr, const vector<string>& comments)
|
||||
{
|
||||
Redefinition* redef = new Redefinition(script, ic, std::move(init_expr), comments);
|
||||
|
@ -39,8 +39,8 @@ void IdentifierInfo::AddRedef(const string& script, zeek::detail::init_class ic,
|
|||
}
|
||||
|
||||
void IdentifierInfo::AddRecordField(const zeek::TypeDecl* field,
|
||||
const string& script,
|
||||
vector<string>& comments)
|
||||
const string& script,
|
||||
vector<string>& comments)
|
||||
{
|
||||
RecordField* rf = new RecordField();
|
||||
rf->field = new zeek::TypeDecl(*field);
|
||||
|
@ -140,14 +140,14 @@ time_t IdentifierInfo::DoGetModificationTime() const
|
|||
}
|
||||
|
||||
IdentifierInfo::Redefinition::Redefinition(
|
||||
std::string arg_script,
|
||||
zeek::detail::init_class arg_ic,
|
||||
IntrusivePtr<zeek::detail::Expr> arg_expr,
|
||||
std::vector<std::string> arg_comments)
|
||||
: from_script(std::move(arg_script)),
|
||||
ic(arg_ic),
|
||||
init_expr(std::move(arg_expr)),
|
||||
comments(std::move(arg_comments))
|
||||
std::string arg_script,
|
||||
zeek::detail::InitClass arg_ic,
|
||||
IntrusivePtr<zeek::detail::Expr> arg_expr,
|
||||
std::vector<std::string> arg_comments)
|
||||
: from_script(std::move(arg_script)),
|
||||
ic(arg_ic),
|
||||
init_expr(std::move(arg_expr)),
|
||||
comments(std::move(arg_comments))
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ public:
|
|||
* @param init_expr The initialization expression used.
|
||||
* @param comments Comments associated with the redef statement.
|
||||
*/
|
||||
void AddRedef(const std::string& from_script, zeek::detail::init_class ic,
|
||||
void AddRedef(const std::string& from_script, zeek::detail::InitClass ic,
|
||||
IntrusivePtr<zeek::detail::Expr> init_expr,
|
||||
const std::vector<std::string>& comments);
|
||||
|
||||
|
@ -127,11 +127,11 @@ public:
|
|||
*/
|
||||
struct Redefinition {
|
||||
std::string from_script; /**< Name of script doing the redef. */
|
||||
zeek::detail::init_class ic;
|
||||
zeek::detail::InitClass ic;
|
||||
IntrusivePtr<zeek::detail::Expr> init_expr;
|
||||
std::vector<std::string> comments; /**< Zeekygen comments on redef. */
|
||||
|
||||
Redefinition(std::string arg_script, zeek::detail::init_class arg_ic,
|
||||
Redefinition(std::string arg_script, zeek::detail::InitClass arg_ic,
|
||||
IntrusivePtr<zeek::detail::Expr> arg_expr,
|
||||
std::vector<std::string> arg_comments);
|
||||
|
||||
|
|
|
@ -338,7 +338,7 @@ void Manager::Identifier(IntrusivePtr<zeek::detail::ID> id)
|
|||
}
|
||||
|
||||
void Manager::RecordField(const zeek::detail::ID* id, const zeek::TypeDecl* field,
|
||||
const string& path)
|
||||
const string& path)
|
||||
{
|
||||
if ( disabled )
|
||||
return;
|
||||
|
@ -361,7 +361,7 @@ void Manager::RecordField(const zeek::detail::ID* id, const zeek::TypeDecl* fiel
|
|||
}
|
||||
|
||||
void Manager::Redef(const zeek::detail::ID* id, const string& path,
|
||||
zeek::detail::init_class ic, IntrusivePtr<zeek::detail::Expr> init_expr)
|
||||
zeek::detail::InitClass ic, IntrusivePtr<zeek::detail::Expr> init_expr)
|
||||
{
|
||||
if ( disabled )
|
||||
return;
|
||||
|
@ -398,7 +398,7 @@ void Manager::Redef(const zeek::detail::ID* id, const string& path,
|
|||
}
|
||||
|
||||
void Manager::Redef(const zeek::detail::ID* id, const std::string& path,
|
||||
zeek::detail::init_class ic)
|
||||
zeek::detail::InitClass ic)
|
||||
{
|
||||
Redef(id, path, ic, nullptr);
|
||||
}
|
||||
|
|
|
@ -140,9 +140,9 @@ public:
|
|||
* @param init_expr The intiialization expression that was used.
|
||||
*/
|
||||
void Redef(const zeek::detail::ID* id, const std::string& path,
|
||||
zeek::detail::init_class ic, IntrusivePtr<zeek::detail::Expr> init_expr);
|
||||
zeek::detail::InitClass ic, IntrusivePtr<zeek::detail::Expr> init_expr);
|
||||
void Redef(const zeek::detail::ID* id, const std::string& path,
|
||||
zeek::detail::init_class ic = zeek::detail::INIT_NONE);
|
||||
zeek::detail::InitClass ic = zeek::detail::INIT_NONE);
|
||||
|
||||
/**
|
||||
* Register Zeekygen script summary content.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue