Method code for $root.data()

[Turn off line numbering]
  1: arg @parent;
  2: var par, data, out;
  3: 
  4: if (!.has_flag('variables, sender()))
  5:     throw(~perm, sender().namef('ref) + " is not allowed to read variables on " + .namef('ref));
  6: if (parent) {
  7:     if (type(parent[1]) != 'objnum)
  8:         throw(~type, parent[1] + " is not an object.");
  9:     return (> data(parent[1]) <);
 10: } else {
 11:     data = (> data() <);
 12:     out = #[];
 13:     for par in (data) {
 14:         // if the parent doesn't exist anymore, just let them see the data.
 15:         if (!valid(par[1]) || par[1].has_flag('variables, sender()))
 16:             out = out.add(par[1], par[2]);
 17:         else
 18:             out = out.add(par[1], ["*** Permission Denied ***"]);
 19:     }
 20:     return out;
 21: }

["// Created as a part of ColdCore, see: @help Credit"]

the Cold Dark