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

4b825dc642cb6eb9a060e54bf8d69288fbee4904cfad47cfa334b206c65f22086bcc5d63e6f70944
1
#include <tads.h>
2
3
class myClass: object
4
    prop1(a, b)
5
    {
6
        local lst;
7
8
        lst = t3GetStackTrace();
9
10
        "myClass.prop1:\n";
11
        for (local i = 1, local len = lst.length() ; i <= len ; ++i)
12
            "<<i>>: <<reflectionServices.formatStackFrame(lst[i], true)>>\n";
13
        "\b";
14
    }
15
;
16
17
myObj: myClass
18
    prop2(x, y)
19
    {
20
        local lst;
21
22
        lst = t3GetStackTrace();
23
24
        "myObj.prop2:\n";
25
        for (local i = 1, local len = lst.length() ; i <= len ; ++i)
26
            "<<i>>: <<reflectionServices.formatStackFrame(lst[i], true)>>\n";
27
        "\b";
28
29
        prop1(x, y);
30
    }
31
;
32
33
func2(str, len, num)
34
{
35
    local lst;
36
    
37
    lst = t3GetStackTrace();
38
39
    "func2:\n";
40
    for (local i = 1, local len = lst.length() ; i <= len ; ++i)
41
        "<<i>>: <<reflectionServices.formatStackFrame(lst[i], true)>>\n";
42
    "\b";
43
44
    myObj.prop2(str, num);
45
}
46
47
func1(x, y)
48
{
49
    func2(x, x.length(), y*2);
50
}
51
52
main(args)
53
{
54
    func1('abc', 123);
55
    func1('def', 456);
56
}
57