Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/tolua/lua/define.lua @ 3014

Last change on this file since 3014 was 2710, checked in by rgrieder, 16 years ago

Merged buildsystem3 containing buildsystem2 containing Adi's buildsystem branch back to the trunk.
Please update the media directory if you were not using buildsystem3 before.

  • Property svn:eol-style set to native
File size: 1.4 KB
RevLine 
[1650]1-- tolua: define class
2-- Written by Waldemar Celes
3-- TeCGraf/PUC-Rio
4-- Jul 1998
5-- $Id: define.lua,v 1.2 1999/07/28 22:21:08 celes Exp $
6
7-- This code is free software; you can redistribute it and/or modify it.
8-- The software provided hereunder is on an "as is" basis, and
9-- the author has no obligation to provide maintenance, support, updates,
10-- enhancements, or modifications.
11
12
13-- Define class
14-- Represents a numeric const definition
15-- The following filds are stored:
16--   name = constant name
17classDefine = {
[2710]18    name = '',
[1650]19}
20classDefine.__index = classDefine
21setmetatable(classDefine,classFeature)
22
23-- register define
24function classDefine:register (pre)
[2710]25    if not self:check_public_access() then
26        return
27    end
[1650]28
[2710]29    pre = pre or ''
30    output(pre..'tolua_constant(tolua_S,"'..self.lname..'",'..self.name..');')
[1650]31end
32
33-- Print method
34function classDefine:print (ident,close)
[2710]35    print(ident.."Define{")
36    print(ident.." name = '"..self.name.."',")
37    print(ident.." lname = '"..self.lname.."',")
38    print(ident.."}"..close)
[1650]39end
40
41
42-- Internal constructor
43function _Define (t)
[2710]44    setmetatable(t,classDefine)
45    t:buildnames()
[1650]46
[2710]47    if t.name == '' then
48        error("#invalid define")
49    end
[1650]50
[2710]51    append(t)
52    return t
[1650]53end
54
55-- Constructor
56-- Expects a string representing the constant name
57function Define (n)
[2710]58    return _Define {
59        name = n
60    }
[1650]61end
62
63
Note: See TracBrowser for help on using the repository browser.