parent $foundation
object $old_command_environment
var $root dbref 'old_command_environment
var $root child_index 0
var $root fertile 0
var $root manager $old_command_environment
var $root owned [$old_command_environment]
var $root owners [$old_command_environment]
var $root writable []
var $root readable ['parameters, 'methods, 'code]
var $root inited 1
var $old_command_environment cache 0
var $old_command_environment verb_cache #[]
var $old_command_environment command_cache #[]
var $old_command_environment shortcuts_cache #[]
method uninit_old_command_environment
verb_cache = #[];
command_cache = [];
shortcuts_cache = [];
.
method init_old_command_environment
verb_cache = #[];
command_cache = [];
shortcuts_cache = [];
.rehash_command_environment();
.
method verb_cache
return verb_cache;
.
method command_cache
return command_cache;
.
method shortcuts_cache
return shortcuts_cache;
.
method purge_command_environment
verb_cache = #[];
command_cache = [];
shortcuts_cache = [];
.
method rehash_command_environment
var obj;
(> .perms(sender(), 'this) <);
.purge_command_environment();
if (.has_ancestor($location)) {
for obj in (.contents())
.add_to_command_environment(obj);
}
command_cache = .all_commands();
shortcuts_cache = .all_shortcuts();
.
method del_from_command_environment
arg obj;
var obj_verbs, all_verbs, t;
(> .perms(sender(), 'this) <);
obj_verbs = obj.all_verbs();
for t in (obj_verbs)
verb_cache = verb_cache.del_elem(t[1], obj);
.
method add_to_command_environment
arg obj;
var obj_verbs, all_verbs, t;
(> .perms(sender(), 'this) <);
obj_verbs = obj.all_verbs();
for t in (obj_verbs)
verb_cache = verb_cache.add_elem(t[1], obj);
.
method xcommand_cache
return command_cache;
.
method xverb_cache
return verb_cache;
.
method xshortcuts_cache
return shortcuts_cache;
.