summaryrefslogtreecommitdiffstats
path: root/lib/tolua++/src/bin/lua/template_class.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tolua++/src/bin/lua/template_class.lua')
m---------lib/tolua++0
-rw-r--r--lib/tolua++/src/bin/lua/template_class.lua82
2 files changed, 0 insertions, 82 deletions
diff --git a/lib/tolua++ b/lib/tolua++
new file mode 160000
+Subproject 9181fc9ef73fa1c052f968d68dc60538f144a47
diff --git a/lib/tolua++/src/bin/lua/template_class.lua b/lib/tolua++/src/bin/lua/template_class.lua
deleted file mode 100644
index b1ed05abe..000000000
--- a/lib/tolua++/src/bin/lua/template_class.lua
+++ /dev/null
@@ -1,82 +0,0 @@
-
-_global_templates = {}
-
-classTemplateClass = {
-
- name = '',
- body = '',
- parents = {},
- args = {}, -- the template arguments
-}
-
-classTemplateClass.__index = classTemplateClass
-
-
-function classTemplateClass:throw(types, local_scope)
-
- --if table.getn(types) ~= table.getn(self.args) then
- -- error("#invalid parameter count")
- --end
-
- -- replace
- for i =1 , types.n do
-
- local Il = split_c_tokens(types[i], " ")
- if table.getn(Il) ~= table.getn(self.args) then
- error("#invalid parameter count for "..types[i])
- end
- local bI = self.body
- local pI = {}
- for j = 1,self.args.n do
- --Tl[j] = findtype(Tl[j]) or Tl[j]
- bI = string.gsub(bI, "([^_%w])"..self.args[j].."([^_%w])", "%1"..Il[j].."%2")
- if self.parents then
- for i=1,table.getn(self.parents) do
- pI[i] = string.gsub(self.parents[i], "([^_%w]?)"..self.args[j].."([^_%w]?)", "%1"..Il[j].."%2")
- end
- end
- end
- --local append = "<"..string.gsub(types[i], "%s+", ",")..">"
- local append = "<"..concat(Il, 1, table.getn(Il), ",")..">"
- append = string.gsub(append, "%s*,%s*", ",")
- append = string.gsub(append, ">>", "> >")
- for i=1,table.getn(pI) do
- --pI[i] = string.gsub(pI[i], ">>", "> >")
- pI[i] = resolve_template_types(pI[i])
- end
- bI = string.gsub(bI, ">>", "> >")
- local n = self.name
- if local_scope then
- n = self.local_name
- end
-
- Class(n..append, pI, bI)
- end
-end
-
-
-function TemplateClass(name, parents, body, parameters)
-
- local o = {
-
- parents = parents,
- body = body,
- args = parameters,
- }
-
- local oname = string.gsub(name, "@.*$", "")
- oname = getnamespace(classContainer.curr)..oname
- o.name = oname
-
- o.local_name = name
-
- setmetatable(o, classTemplateClass)
-
- if _global_templates[oname] then
- warning("Duplicate declaration of template "..oname)
- else
- _global_templates[oname] = o
- end
-
- return o
-end