cfad47cfa3/t3compiler/tads3/test/data/listobjs.t

4b825dc642cb6eb9a060e54bf8d69288fbee4904cfad47cfa334b206c65f22086bcc5d63e6f70944
1
#include <tads.h>
2
#include <lookup.h>
3
4
myObj: object
5
    prop1 = 'hello'
6
    prop2 = 'there'
7
;
8
9
global: PreinitObject
10
    execute()
11
    {
12
        symtab = t3GetGlobalSymbols();
13
        reverseSymtab = new LookupTable();
14
        symtab.forEachAssoc({key, val: global.reverseSymtab[val] = key});
15
    }
16
    symtab = nil
17
    reverseSymtab = nil
18
;
19
20
main(args)
21
{
22
    t3RunGC();
23
    
24
    "Classes:\n";
25
    listObjects(ObjClasses);
26
27
    "\bObjects:\n";
28
    listObjects(ObjInstances);
29
30
    "\b";
31
}
32
33
listObjects(typeFlags)
34
{
35
    for (local obj = firstObj(typeFlags) ; obj != nil ;
36
         obj = nextObj(obj, typeFlags))
37
    {
38
        local name;
39
        
40
        name = global.reverseSymtab[obj];
41
        if (name == nil)
42
            "unknown\n";
43
        else
44
            "<<name>>\n";
45
    }
46
}
47