static tom.MutableDictionary units;
static public Unit builtin_unit;
_builtin
unit, i.e. the top unit.
static int search_mark;
redefine void load tom.Array arguments;
instance (id) named tom.String name load: boolean load_p = NO;
load_p
is TRUE
, it will be loaded, plus
anything upon which it depends. Adjusts all_user_units
and
all_units
.
tom.Mapped units;
tom.Mapped
tom.Collection
of units.
public tom.String name;
public tom.String directory;
tom.MutableArray used;
tom.MutableDictionary files;
tom.MutableDictionary metas;
U.M
is in
the metas
of the unit U
.
tom.MutableSet unit_types;
int mark;
id init tom.String n directory tom.String d;
void addMeta Meta m;
TomFile fileNamed tom.String name;
name
.
Meta metaNamed tom.String meta_name recurse: boolean rec_p = NO;
!rec_p
, only the receiving
unit will be searched. Otherwise, all units transitively being
depended upon are also searched. Upon multiple meta's with the same
name being found, it is not an error if the receiving unit defines
one, since that one will be returned.
private (boolean, Meta) metaNamed tom.String meta_name found Meta found mark int k;
meta_name
, using the mark k
to prevent
multiple visits. found
is the meta already found.
tom.Mapped files;
tom.Mapped
collection of files
.
tom.Mapped metas;
tom.Mapped
collection of metas
.
tom.MutableSet types;
unit_types
, creating it if necessary.
void types tom.MutableSet set mark int k;
set
.
tom.Indexed used;
nil
if this unit uses no other
units.
tom.OutputStream writeFields tom.OutputStream s;
name
.
TomFile fileWithName tom.String name;
void uses tom.String name;