ShowobjSub (lines 4319-4372)
Back to List
Browsing parserm.h
4319 [ ShowobjSub c f l a n x;
4320 if (noun==0) noun=location;
4321 objectloop (c ofclass Class) if (noun ofclass c) { f++; l=c; }
4322 if (f == 1) print (name) l, " ~"; else print "Object ~";
4323 print (name) noun, "~ (", noun, ")";
4324 if (parent(noun)~=0) print " in ~", (name) parent(noun), "~";
4325 new_line;
4326 if (f > 1)
4327 { print " class ";
4328 objectloop (c ofclass Class) if (noun ofclass c) print (name) c, " ";
4329 new_line;
4330 }
4331 for (a=0,f=0:a<48:a++) if (noun has a) f=1;
4332 if (f)
4333 { print " has ";
4334 for (a=0:a<48:a++) if (noun has a) print (DebugAttribute) a, " ";
4335 new_line;
4336 }
4337 if (noun ofclass Class) return;
4338
4339 f=0; l = #identifiers_table-->0;
4340 for (a=1:a<=l:a++)
4341 { if ((a~=2 or 3) && noun.&a)
4342 { if (f==0) { print " with "; f=1; }
4343 print (property) a;
4344 n = noun.#a;
4345 for (c=0:2*c<n:c++)
4346 { print " ";
4347 x = (noun.&a)-->c;
4348 if (a==name) print "'", (address) x, "'";
4349 else
4350 { if (a==number or capacity or time_left)
4351 print x;
4352 else
4353 { switch(x)
4354 { NULL: print "NULL";
4355 0: print "0";
4356 1: print "1";
4357 default:
4358 switch(metaclass(x))
4359 { Class, Object: print (name) x;
4360 String: print "~", (string) x, "~";
4361 Routine: print "[...]";
4362 }
4363 print " (", x, ")";
4364 }
4365 }
4366 }
4367 }
4368 print ",^ ";
4369 }
4370 }
4371 ! if (f==1) new_line;
4372 ];
Last updated 27 February 2004.
This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation.
Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.