leaf corcoran
f98f822891
extract class name from assign statement if anonymous class is being assigned
2012-11-01 09:19:04 -07:00
leaf corcoran
97394fbbc9
classes can be expressions, classes don't require name or body anymore
2012-11-01 08:56:54 -07:00
leaf corcoran
abc2599d15
fix export ^ with class declarations inside of do
2012-10-31 13:44:56 -07:00
leaf corcoran
021d4878a0
class name can be any assignable expression #46
2012-10-31 00:07:59 -07:00
leaf corcoran
b6987fe6d8
wrap class declaration in do instead of anonymous function
2012-10-30 23:34:42 -07:00
leaf corcoran
f8925a46a6
classes can implicitly return #46
2012-10-30 09:44:02 -07:00
leaf corcoran
1be72f57b7
add implicit return to end of files #46
2012-10-30 09:38:47 -07:00
leaf corcoran
8cf92a3591
Allow real statements inside of class
2012-09-30 19:18:21 -07:00
leaf corcoran
bc13b1b8cc
add inherited callback to classes
2012-09-08 18:08:54 -07:00
leaf corcoran
a750523d10
hoist name declarations from statements inside of a class to the top of the class body
2012-09-07 20:20:34 -07:00
leaf corcoran
c93e2d35f5
fixed regression, assign allowed in class decl again
2012-01-22 11:50:30 -08:00
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