forked from TypeScriptToLua/TypeScriptToLua
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnamespaceMerge.lua
More file actions
35 lines (35 loc) · 987 Bytes
/
Copy pathnamespaceMerge.lua
File metadata and controls
35 lines (35 loc) · 987 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
MergedClass = MergedClass or {};
MergedClass.__index = MergedClass;
MergedClass.prototype = MergedClass.prototype or {};
MergedClass.prototype.__index = MergedClass.prototype;
MergedClass.prototype.constructor = MergedClass;
MergedClass.new = function(...)
local self = setmetatable({}, MergedClass.prototype);
self:____constructor(...);
return self;
end;
MergedClass.prototype.____constructor = function(self)
self.propertyFunc = function(____)
end;
end;
MergedClass.staticMethodA = function(self)
end;
MergedClass.staticMethodB = function(self)
self:staticMethodA();
end;
MergedClass.prototype.methodA = function(self)
end;
MergedClass.prototype.methodB = function(self)
self:methodA();
self:propertyFunc();
end;
MergedClass = MergedClass or {};
do
MergedClass.namespaceFunc = function()
end;
end
local mergedClass = MergedClass.new();
mergedClass:methodB();
mergedClass:propertyFunc();
MergedClass:staticMethodB();
MergedClass.namespaceFunc();