mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
45 lines
532 B
Perl
45 lines
532 B
Perl
local S = require "std"
|
|
|
|
c = global(int,0)
|
|
|
|
struct A(S.Object) {
|
|
a : int;
|
|
b : int[5];
|
|
}
|
|
struct C {
|
|
a : int
|
|
}
|
|
struct B(S.Object) {
|
|
a : A;
|
|
b : A[2];
|
|
c : C[3];
|
|
c2 : C;
|
|
c3 : C[2];
|
|
}
|
|
|
|
terra A:__destruct()
|
|
S.printf("A dtor!\n")
|
|
c = c + 1
|
|
end
|
|
terra B:__destruct()
|
|
c = c + 10
|
|
end
|
|
terra foo()
|
|
var a = A.salloc()
|
|
end
|
|
|
|
foo()
|
|
assert(c:get() == 1)
|
|
|
|
terra bar()
|
|
var b = B.salloc()
|
|
end
|
|
bar()
|
|
assert(c:get() == 14)
|
|
|
|
terra baz()
|
|
var b = B.alloc()
|
|
b:delete()
|
|
end
|
|
baz()
|
|
assert(c:get() == 27) |