mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Return an error if GLOBAL:: prefix is used
This commit is contained in:
parent
ca69d9fb8f
commit
2d68b1d834
8 changed files with 7 additions and 87 deletions
|
@ -93,11 +93,9 @@ const IDPtr& lookup_ID(const char* name, const char* curr_module, bool no_global
|
|||
bool check_export) {
|
||||
bool explicit_global = zeek::util::starts_with(name, "::");
|
||||
|
||||
// Ad-hoc deprecation if a name starts with "GLOBAL::". In v7.1 we could
|
||||
// tweak {ID} to reject GLOBAL::, or switch this warning to error instead.
|
||||
static std::string deprecated_prefix = util::fmt("%s::", GLOBAL_MODULE_NAME);
|
||||
if ( zeek::util::starts_with(name, deprecated_prefix) )
|
||||
reporter->Deprecation(util::fmt("Remove in v7.1: Use :: instead of %s (%s)", deprecated_prefix.c_str(), name));
|
||||
static std::string global_prefix = util::fmt("%s::", GLOBAL_MODULE_NAME);
|
||||
if ( zeek::util::starts_with(name, global_prefix) )
|
||||
reporter->Error("Using GLOBAL:: as a prefix is invalid. Use :: instead (%s)", name);
|
||||
|
||||
std::string fullname = make_full_var_name(curr_module, name);
|
||||
std::string ID_module = extract_module_name(fullname.c_str());
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
warning in <...>/deprecate-global.zeek, line 22: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::test_function)
|
||||
warning in <...>/deprecate-global.zeek, line 26: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::X)
|
|
@ -1,4 +0,0 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
X, shadows ::X (42)
|
||||
::X, 42
|
||||
GLOBAL::X, 42
|
|
@ -1,9 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
warning in <...>/global-colon-colon.zeek, line 67: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::X)
|
||||
warning in <...>/global-colon-colon.zeek, line 75: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::my_hook)
|
||||
warning in <...>/global-colon-colon.zeek, line 82: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::func)
|
||||
warning in <...>/global-colon-colon.zeek, line 89: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::funcX)
|
||||
warning in <...>/global-colon-colon.zeek, line 110: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::X)
|
||||
warning in <...>/global-colon-colon.zeek, line 118: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::my_hook)
|
||||
warning in <...>/global-colon-colon.zeek, line 125: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::func)
|
||||
warning in <...>/global-colon-colon.zeek, line 132: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::funcX)
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
MyModule X
|
||||
(MyModule) print MyModule::X
|
||||
MyModule X
|
||||
(MyModule) print GLOBAL::X
|
||||
global X
|
||||
(MyModule) print ::X
|
||||
global X
|
||||
(MyModule) hook my_hook()
|
||||
|
@ -13,32 +11,22 @@
|
|||
(MyModule) hook MyModule::my_hook()
|
||||
MyModule::my_hook() (in GLOBAL)
|
||||
MyModule::my_hook()
|
||||
(MyModule) hook GLOBAL::my_hook()
|
||||
my_hook() (in GLOBAL)
|
||||
::my_hook() (in GLOBAL)
|
||||
::my_hook() (in MyModule using ::)
|
||||
(MyModule) hook ::my_hook()
|
||||
my_hook() (in GLOBAL)
|
||||
::my_hook() (in GLOBAL)
|
||||
::my_hook() (in MyModule using ::)
|
||||
(MyModule) call func()
|
||||
MyModule::func()
|
||||
(MyModule) call GLOBAL::func()
|
||||
GLOBAL::func()
|
||||
(MyModule) call ::func()
|
||||
GLOBAL::func()
|
||||
(MyModule) call funcX()
|
||||
::funcX() (in MyModule)
|
||||
(MyModule) call GLOBAL::funcX()
|
||||
::funcX() (in MyModule)
|
||||
(MyModule) call ::funcX()
|
||||
::funcX() (in MyModule)
|
||||
(G) print X
|
||||
global X
|
||||
(G) print MyModule::X
|
||||
MyModule X
|
||||
(G) print GLOBAL::X
|
||||
global X
|
||||
(G) print ::X
|
||||
global X
|
||||
(G) hook my_hook()
|
||||
|
@ -48,24 +36,16 @@
|
|||
(G) MyModule::my_hook()
|
||||
MyModule::my_hook() (in GLOBAL)
|
||||
MyModule::my_hook()
|
||||
(G) hook GLOBAL::my_hook()
|
||||
my_hook() (in GLOBAL)
|
||||
::my_hook() (in GLOBAL)
|
||||
::my_hook() (in MyModule using ::)
|
||||
(G) hook ::my_hook()
|
||||
my_hook() (in GLOBAL)
|
||||
::my_hook() (in GLOBAL)
|
||||
::my_hook() (in MyModule using ::)
|
||||
(G) call func()
|
||||
GLOBAL::func()
|
||||
(G) call GLOBAL::func()
|
||||
GLOBAL::func()
|
||||
(G) call ::func()
|
||||
GLOBAL::func()
|
||||
(G) call funcX()
|
||||
::funcX() (in MyModule)
|
||||
(G) call GLOBAL::funcX()
|
||||
::funcX() (in MyModule)
|
||||
(G) call ::funcX()
|
||||
::funcX() (in MyModule)
|
||||
MyModule::my_event() (in MyModule)
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
# @TEST-DOC: Adapt in v7.1 to check for errors upon GLOBAL accesses.
|
||||
|
||||
# @TEST-EXEC: zeek -b %INPUT >out
|
||||
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff out
|
||||
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff .stderr
|
||||
|
||||
module GLOBAL;
|
||||
|
||||
function test_function() { }
|
||||
|
||||
global X = 42;
|
||||
|
||||
|
||||
module MyModule;
|
||||
|
||||
global X = fmt("shadows ::X (%s)", ::X);
|
||||
|
||||
event zeek_init()
|
||||
{
|
||||
test_function();
|
||||
::test_function();
|
||||
GLOBAL::test_function();
|
||||
|
||||
print "X", X;
|
||||
print "::X", ::X;
|
||||
print "GLOBAL::X", GLOBAL::X;
|
||||
}
|
|
@ -30,7 +30,7 @@ hook my_hook() &priority=9
|
|||
print " MyModule::my_hook()";
|
||||
}
|
||||
|
||||
# This implements GLOBAL::my_hook()
|
||||
# This implements a global my_hook()
|
||||
hook ::my_hook() &priority=8
|
||||
{
|
||||
print " ::my_hook() (in MyModule using ::)";
|
||||
|
@ -63,37 +63,29 @@ event zeek_init() &priority=5
|
|||
print fmt(" %s", X);
|
||||
print "(MyModule) print MyModule::X";
|
||||
print fmt(" %s", MyModule::X);
|
||||
print "(MyModule) print GLOBAL::X";
|
||||
print fmt(" %s", GLOBAL::X);
|
||||
print "(MyModule) print ::X";
|
||||
print fmt(" %s", ::X);
|
||||
print "(MyModule) hook my_hook()";
|
||||
hook my_hook(); # This uses MyModule::my_hook();
|
||||
print "(MyModule) hook MyModule::my_hook()";
|
||||
hook MyModule::my_hook(); # This uses MyModule::hook();
|
||||
print "(MyModule) hook GLOBAL::my_hook()";
|
||||
hook GLOBAL::my_hook();
|
||||
print "(MyModule) hook ::my_hook()";
|
||||
hook ::my_hook();
|
||||
|
||||
print "(MyModule) call func()";
|
||||
func();
|
||||
print "(MyModule) call GLOBAL::func()";
|
||||
GLOBAL::func();
|
||||
print "(MyModule) call ::func()";
|
||||
::func();
|
||||
|
||||
print "(MyModule) call funcX()";
|
||||
funcX();
|
||||
print "(MyModule) call GLOBAL::funcX()";
|
||||
GLOBAL::funcX();
|
||||
print "(MyModule) call ::funcX()";
|
||||
::funcX();
|
||||
|
||||
# This schedules MyEvent::my_event()
|
||||
event my_event();
|
||||
|
||||
# This schedules the GLOBAL::my_event();
|
||||
# This schedules the global ::my_event()
|
||||
event ::my_event();
|
||||
}
|
||||
|
||||
|
@ -106,30 +98,22 @@ event zeek_init() &priority=5
|
|||
print fmt(" %s", X);
|
||||
print "(G) print MyModule::X";
|
||||
print fmt(" %s", MyModule::X);
|
||||
print "(G) print GLOBAL::X";
|
||||
print fmt(" %s", GLOBAL::X);
|
||||
print "(G) print ::X";
|
||||
print fmt(" %s", ::X);
|
||||
print "(G) hook my_hook()";
|
||||
hook my_hook(); # This uses GLOBAL::my_hook();
|
||||
hook my_hook(); # This uses global my_hook();
|
||||
print "(G) MyModule::my_hook()";
|
||||
hook MyModule::my_hook(); # This uses MyModule::hook();
|
||||
print "(G) hook GLOBAL::my_hook()";
|
||||
hook GLOBAL::my_hook();
|
||||
print "(G) hook ::my_hook()";
|
||||
hook ::my_hook();
|
||||
|
||||
print "(G) call func()";
|
||||
func();
|
||||
print "(G) call GLOBAL::func()";
|
||||
GLOBAL::func();
|
||||
print "(G) call ::func()";
|
||||
::func();
|
||||
|
||||
print "(G) call funcX()";
|
||||
funcX();
|
||||
print "(G) call GLOBAL::funcX()";
|
||||
GLOBAL::funcX();
|
||||
print "(G) call ::funcX()";
|
||||
::funcX();
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ type r: record { b: count; };
|
|||
|
||||
event zeek_init()
|
||||
{
|
||||
local x: GLOBAL::r;
|
||||
local x: ::r;
|
||||
x$a = 5;
|
||||
|
||||
local y: test::r;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue