Commit Graph

17 Commits

Author SHA1 Message Date
leaf corcoran
1ef297349a updated test 2012-01-11 20:39:09 -08:00
leaf corcoran
5933b733ba assigning class variables with @ property names 2012-01-08 23:10:25 -08:00
leaf corcoran
cd240444de updated test 2012-01-08 22:24:58 -08:00
leaf corcoran
d1059b8f98 class level inheritance, changed class representation slightly
Looking up a class property will now search the parent class properties
if parent exists

Classes have a few more built in properties:

  * __name holds the name of the class as it was defined as a string
  * __base holds the instance metatable as it was defined (not dynamic)
  * __parent holds the class's parent class if it exists (not dynamic)

The way class inheritance is handled was CHANGED (uses __base instead of
looking at __index of parents metatable). Make sure you recompile all
your code if using class inheritance because old classes won't work with
new ones.
2011-12-03 19:17:06 -08:00
leaf corcoran
0d232f98e7 super tests, fixed regression when compiling chain dot args 2011-12-03 10:44:41 -08:00
leaf corcoran
5c999fb680 colon_stub on super will pass self as receiver 2011-12-03 10:39:03 -08:00
leaf corcoran
fc72baf423 calling function of super with \ uses self instead of class as first arg 2011-12-02 20:37:47 -08:00
leaf corcoran
6a07d50277 fixed super dot access, made super available as a value 2011-12-02 20:07:42 -08:00
leaf corcoran
5d76a8d741 fixed bug with class value declaring 2011-10-01 22:35:34 -07:00
leaf corcoran
3fb8682f96 moved class from compiler to tree transformation 2011-10-01 22:35:34 -07:00
leaf corcoran
24ae69cfdf fixed bug with comments failing to parse in open tables 2011-08-28 23:19:48 -07:00
leaf corcoran
ba29e159b5 tests pass, fixed some bug 2011-07-14 00:02:07 -07:00
leaf corcoran
a80f8f875e instances store class in __class 2011-07-04 11:40:20 -07:00
leaf corcoran
27836f1d80 super for classes, synthesized init calls super 2011-06-19 12:07:01 -07:00
leaf corcoran
67a59a9622 class inheritance 2011-06-15 22:41:17 -07:00
leaf corcoran
65fdf7e6b2 new class system 2011-06-15 08:52:01 -07:00
leaf corcoran
858608a04d basic class syntax 2011-06-14 23:13:33 -07:00