summaryrefslogtreecommitdiffstats
path: root/lib/tolua++/src/bin/lua/namespace.lua
diff options
context:
space:
mode:
authorAlexander Harkness <bearbin@gmail.com>2013-11-24 15:29:35 +0100
committerAlexander Harkness <bearbin@gmail.com>2013-11-24 15:29:35 +0100
commit998fb17fdc150bc9c6b3d8da0dd37dfd1ae7b39a (patch)
tree51c901fdd30ce632107cd69b3df3b107f4cbb6a5 /lib/tolua++/src/bin/lua/namespace.lua
parentMoved zlib (diff)
downloadcuberite-998fb17fdc150bc9c6b3d8da0dd37dfd1ae7b39a.tar
cuberite-998fb17fdc150bc9c6b3d8da0dd37dfd1ae7b39a.tar.gz
cuberite-998fb17fdc150bc9c6b3d8da0dd37dfd1ae7b39a.tar.bz2
cuberite-998fb17fdc150bc9c6b3d8da0dd37dfd1ae7b39a.tar.lz
cuberite-998fb17fdc150bc9c6b3d8da0dd37dfd1ae7b39a.tar.xz
cuberite-998fb17fdc150bc9c6b3d8da0dd37dfd1ae7b39a.tar.zst
cuberite-998fb17fdc150bc9c6b3d8da0dd37dfd1ae7b39a.zip
Diffstat (limited to 'lib/tolua++/src/bin/lua/namespace.lua')
-rw-r--r--lib/tolua++/src/bin/lua/namespace.lua52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/tolua++/src/bin/lua/namespace.lua b/lib/tolua++/src/bin/lua/namespace.lua
new file mode 100644
index 000000000..6ca80e6e3
--- /dev/null
+++ b/lib/tolua++/src/bin/lua/namespace.lua
@@ -0,0 +1,52 @@
+-- tolua: namespace class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 2003
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Namespace class
+-- Represents a namesapce definition.
+-- Stores the following fields:
+-- name = class name
+-- {i} = list of members
+classNamespace = {
+ classtype = 'namespace',
+ name = '',
+}
+classNamespace.__index = classNamespace
+setmetatable(classNamespace,classModule)
+
+-- Print method
+function classNamespace:print (ident,close)
+ print(ident.."Namespace{")
+ print(ident.." name = '"..self.name.."',")
+ local i=1
+ while self[i] do
+ self[i]:print(ident.." ",",")
+ i = i+1
+ end
+ print(ident.."}"..close)
+end
+
+-- Internal constructor
+function _Namespace (t)
+ setmetatable(t,classNamespace)
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects the name and the body of the namespace.
+function Namespace (n,b)
+ local c = _Namespace(_Container{name=n})
+ push(c)
+ c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces
+ pop()
+end
+