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);
|
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()
|
ID::~ID()
|
||||||
{
|
{
|
||||||
delete [] name;
|
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 )
|
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);
|
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));
|
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
|
bool ID::IsRedefinable() const
|
||||||
{
|
{
|
||||||
return GetAttr(ATTR_REDEF) != nullptr;
|
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(VectorType, zeek);
|
||||||
ZEEK_FORWARD_DECLARE_NAMESPACED(EnumType, 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 {
|
namespace zeek::detail {
|
||||||
|
|
||||||
class Attributes;
|
class Attributes;
|
||||||
class Expr;
|
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 };
|
enum IDScope { SCOPE_FUNCTION, SCOPE_MODULE, SCOPE_GLOBAL };
|
||||||
|
|
||||||
class ID final : public BroObj, public notifier::Modifiable {
|
class ID final : public BroObj, public notifier::Modifiable {
|
||||||
|
@ -41,12 +38,6 @@ public:
|
||||||
|
|
||||||
ID(const char* name, IDScope arg_scope, bool arg_is_export);
|
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;
|
~ID() override;
|
||||||
|
|
||||||
const char* Name() const { return name; }
|
const char* Name() const { return name; }
|
||||||
|
@ -85,16 +76,8 @@ public:
|
||||||
|
|
||||||
void SetVal(IntrusivePtr<Val> v);
|
void SetVal(IntrusivePtr<Val> v);
|
||||||
|
|
||||||
void SetVal(IntrusivePtr<Val> v, init_class c);
|
void SetVal(IntrusivePtr<Val> v, InitClass c);
|
||||||
void SetVal(IntrusivePtr<Expr> ev, init_class c);
|
void SetVal(IntrusivePtr<Expr> ev, InitClass 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
|
|
||||||
|
|
||||||
bool HasVal() const { return val != nullptr; }
|
bool HasVal() const { return val != nullptr; }
|
||||||
|
|
||||||
|
@ -279,3 +262,21 @@ void init();
|
||||||
} // namespace zeek::id::detail
|
} // namespace zeek::id::detail
|
||||||
|
|
||||||
} // namespace zeek::id
|
} // 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,
|
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,
|
IntrusivePtr<zeek::detail::Expr> init,
|
||||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||||
decl_type dt,
|
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,
|
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,
|
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||||
decl_type dt)
|
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,
|
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,
|
zeek::detail::InitClass c, IntrusivePtr<zeek::detail::Expr> init,
|
||||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||||
decl_type dt)
|
decl_type dt)
|
||||||
{
|
{
|
||||||
make_var(id, std::move(t), c, init, std::move(attr), dt, false);
|
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,
|
extern void add_global(const IntrusivePtr<zeek::detail::ID>& id,
|
||||||
IntrusivePtr<zeek::Type> t,
|
IntrusivePtr<zeek::Type> t,
|
||||||
zeek::detail::init_class c,
|
zeek::detail::InitClass c,
|
||||||
IntrusivePtr<zeek::detail::Expr> init,
|
IntrusivePtr<zeek::detail::Expr> init,
|
||||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||||
decl_type dt);
|
decl_type dt);
|
||||||
|
|
||||||
extern IntrusivePtr<zeek::detail::Stmt> add_local(IntrusivePtr<zeek::detail::ID> id,
|
extern IntrusivePtr<zeek::detail::Stmt> add_local(IntrusivePtr<zeek::detail::ID> id,
|
||||||
IntrusivePtr<zeek::Type> t,
|
IntrusivePtr<zeek::Type> t,
|
||||||
zeek::detail::init_class c,
|
zeek::detail::InitClass c,
|
||||||
IntrusivePtr<zeek::detail::Expr> init,
|
IntrusivePtr<zeek::detail::Expr> init,
|
||||||
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
std::unique_ptr<std::vector<IntrusivePtr<zeek::detail::Attr>>> attr,
|
||||||
decl_type dt);
|
decl_type dt);
|
||||||
|
|
|
@ -234,7 +234,7 @@ static bool expr_is_table_type_name(const zeek::detail::Expr* expr)
|
||||||
char* str;
|
char* str;
|
||||||
zeek::detail::ID* id;
|
zeek::detail::ID* id;
|
||||||
id_list* id_l;
|
id_list* id_l;
|
||||||
zeek::detail::init_class ic;
|
zeek::detail::InitClass ic;
|
||||||
Val* val;
|
Val* val;
|
||||||
RE_Matcher* re;
|
RE_Matcher* re;
|
||||||
zeek::detail::Expr* expr;
|
zeek::detail::Expr* expr;
|
||||||
|
|
|
@ -31,7 +31,7 @@ IdentifierInfo::~IdentifierInfo()
|
||||||
delete it->second;
|
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)
|
IntrusivePtr<zeek::detail::Expr> init_expr, const vector<string>& comments)
|
||||||
{
|
{
|
||||||
Redefinition* redef = new Redefinition(script, ic, std::move(init_expr), 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,
|
void IdentifierInfo::AddRecordField(const zeek::TypeDecl* field,
|
||||||
const string& script,
|
const string& script,
|
||||||
vector<string>& comments)
|
vector<string>& comments)
|
||||||
{
|
{
|
||||||
RecordField* rf = new RecordField();
|
RecordField* rf = new RecordField();
|
||||||
rf->field = new zeek::TypeDecl(*field);
|
rf->field = new zeek::TypeDecl(*field);
|
||||||
|
@ -140,14 +140,14 @@ time_t IdentifierInfo::DoGetModificationTime() const
|
||||||
}
|
}
|
||||||
|
|
||||||
IdentifierInfo::Redefinition::Redefinition(
|
IdentifierInfo::Redefinition::Redefinition(
|
||||||
std::string arg_script,
|
std::string arg_script,
|
||||||
zeek::detail::init_class arg_ic,
|
zeek::detail::InitClass arg_ic,
|
||||||
IntrusivePtr<zeek::detail::Expr> arg_expr,
|
IntrusivePtr<zeek::detail::Expr> arg_expr,
|
||||||
std::vector<std::string> arg_comments)
|
std::vector<std::string> arg_comments)
|
||||||
: from_script(std::move(arg_script)),
|
: from_script(std::move(arg_script)),
|
||||||
ic(arg_ic),
|
ic(arg_ic),
|
||||||
init_expr(std::move(arg_expr)),
|
init_expr(std::move(arg_expr)),
|
||||||
comments(std::move(arg_comments))
|
comments(std::move(arg_comments))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ public:
|
||||||
* @param init_expr The initialization expression used.
|
* @param init_expr The initialization expression used.
|
||||||
* @param comments Comments associated with the redef statement.
|
* @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,
|
IntrusivePtr<zeek::detail::Expr> init_expr,
|
||||||
const std::vector<std::string>& comments);
|
const std::vector<std::string>& comments);
|
||||||
|
|
||||||
|
@ -127,11 +127,11 @@ public:
|
||||||
*/
|
*/
|
||||||
struct Redefinition {
|
struct Redefinition {
|
||||||
std::string from_script; /**< Name of script doing the redef. */
|
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;
|
IntrusivePtr<zeek::detail::Expr> init_expr;
|
||||||
std::vector<std::string> comments; /**< Zeekygen comments on redef. */
|
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,
|
IntrusivePtr<zeek::detail::Expr> arg_expr,
|
||||||
std::vector<std::string> arg_comments);
|
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,
|
void Manager::RecordField(const zeek::detail::ID* id, const zeek::TypeDecl* field,
|
||||||
const string& path)
|
const string& path)
|
||||||
{
|
{
|
||||||
if ( disabled )
|
if ( disabled )
|
||||||
return;
|
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,
|
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 )
|
if ( disabled )
|
||||||
return;
|
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,
|
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);
|
Redef(id, path, ic, nullptr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,9 +140,9 @@ public:
|
||||||
* @param init_expr The intiialization expression that was used.
|
* @param init_expr The intiialization expression that was used.
|
||||||
*/
|
*/
|
||||||
void Redef(const zeek::detail::ID* id, const std::string& path,
|
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,
|
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.
|
* Register Zeekygen script summary content.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue