aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/annotation.lua
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2026-04-23 17:04:06 +0800
committerLi Jin <dragon-fly@qq.com>2026-04-23 17:04:06 +0800
commitacb80dec2706359027c0461073aded3420eaec56 (patch)
treede4e3393e6af6911f1e292fa2a4677e788062f04 /spec/outputs/annotation.lua
parent7805872d0a1705fa2fc296b6c37a40f675a39591 (diff)
downloadyuescript-acb80dec2706359027c0461073aded3420eaec56.tar.gz
yuescript-acb80dec2706359027c0461073aded3420eaec56.tar.bz2
yuescript-acb80dec2706359027c0461073aded3420eaec56.zip
Add annotation statements and expand annotation tests
Diffstat (limited to 'spec/outputs/annotation.lua')
-rw-r--r--spec/outputs/annotation.lua48
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/outputs/annotation.lua b/spec/outputs/annotation.lua
new file mode 100644
index 0000000..261bd7b
--- /dev/null
+++ b/spec/outputs/annotation.lua
@@ -0,0 +1,48 @@
1local A
2do
3 local _class_0
4 local _base_0 = {
5 setAdd = function(self, x, y)
6 self.x = x
7 self.y = y
8 return self.x + self.y
9 end
10 }
11 if _base_0.__index == nil then
12 _base_0.__index = _base_0
13 end
14 _class_0 = setmetatable({
15 __init = function(self, x, y)
16 if x == nil then
17 x = 0
18 end
19 if y == nil then
20 y = 0
21 end
22 self.x = x
23 self.y = y
24 end,
25 __base = _base_0,
26 __name = "A"
27 }, {
28 __index = _base_0,
29 __call = function(cls, ...)
30 local _self_0 = setmetatable({ }, _base_0)
31 cls.__init(_self_0, ...)
32 return _self_0
33 end
34 })
35 _base_0.__class = _class_0
36 A = _class_0
37end
38---@class A
39---@field x number
40---@field y number
41---@field setAdd fun(self: A, x: number, y: number): number Set fields and add number values.
42---@class AClass
43---@operator call:A
44---@cast A AClass
45local a = A()
46local res = a:setAdd(1, 2)
47print(a.x, a.y, a.y, res)
48return