summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/support/lua2dox/examples/lua/animals.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/support/lua2dox/examples/lua/animals.lua')
-rw-r--r--Master/texmf-dist/doc/support/lua2dox/examples/lua/animals.lua120
1 files changed, 120 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/support/lua2dox/examples/lua/animals.lua b/Master/texmf-dist/doc/support/lua2dox/examples/lua/animals.lua
new file mode 100644
index 00000000000..4816cd0d4b9
--- /dev/null
+++ b/Master/texmf-dist/doc/support/lua2dox/examples/lua/animals.lua
@@ -0,0 +1,120 @@
+---- Copyright 2012 Simon Dales
+--
+-- This work may be distributed and/or modified under the
+-- conditions of the LaTeX Project Public License, either version 1.3
+-- of this license or (at your option) any later version.
+-- The latest version of this license is in
+-- http://www.latex-project.org/lppl.txt
+--
+-- This work has the LPPL maintenance status `maintained'.
+--
+-- The Current Maintainer of this work is Simon Dales.
+--
+
+--[[!
+ \file
+ \brief test some classes
+
+ ]]
+
+require 'class'
+
+--! \brief write to stdout
+function TIO_write(Str)
+ if Str then
+ io.write(Str)
+ end
+end
+
+--! \brief writeln to stdout
+function TIO_writeln(Str)
+ if Str then
+ io.write(Str)
+ end
+ io.write('\n')
+end
+
+--! \class Animal
+--! \brief a base class
+Animal = class()
+
+--! \brief constructor
+function Animal.init(this)
+ this:setKind('animal')
+end
+
+--! \brief set kind of object
+function Animal.setKind(this,Kind)
+ this.kind = Kind
+end
+
+--! \brief say the call of this animal
+function Animal.call(this)
+ local speigel = this.speigel
+ if speigel then
+ speigel = ' says "' .. speigel .. '"'
+ else
+ speigel = ' <undefined call>'
+ end
+
+ TIO_writeln(this.kind .. speigel)
+end
+
+--! \brief an abstract bird
+Bird = class(Animal)
+
+--! \brief constructor
+function Bird.init(this)
+ Animal.init(this)
+ this:setKind('bird')
+end
+
+--! \brief a subclassed bird
+Pigeon = class(Bird)
+
+--! \brief constructor
+function Pigeon.init(this)
+ Bird.init(this)
+ this:setKind('pigeon')
+ this.speigel = 'oh my poor toe Betty'
+end
+
+--! \brief another subclassed bird
+RedKite = class(Bird)
+
+--! \brief constructor
+function RedKite.init(this)
+ Bird.init(this)
+ this:setKind('red kite')
+ this.speigel = 'weee-ooo ee oo ee oo ee oo'
+end
+
+--! \brief a base mammal
+Mammal = class(Animal)
+
+--! \brief constructor
+function Mammal.init(this)
+ Animal.init(this)
+end
+
+--! \brief a subclassed mammal
+Cat = class(Mammal)
+
+--! \brief constructor
+function Cat.init(this)
+ Mammal.init(this)
+ this:setKind('cat')
+ this.speigel = 'meow'
+end
+
+--! \brief another subclassed mammal
+Dog = class(Mammal)
+
+--! \brief constructor
+function Dog.init(this)
+ Mammal.init(this)
+ this:setKind('dog')
+ this.speigel = 'woof'
+end
+
+--eof \ No newline at end of file