Mike Gerwitz
|
d23ae6210c
|
Initial implementation of natural class definition by invoking class module
|
2011-03-03 19:43:20 -05:00 |
Mike Gerwitz
|
3f915d3644
|
The interface module may now be invoked, providing a more natural looking means of declaring interfaces
|
2011-03-03 19:08:24 -05:00 |
Mike Gerwitz
|
e239352fc0
|
Resolved bug that was causing the system to think that Object prototype members were part of the abstract member list when attempting to define a method with the same name
|
2011-03-01 12:11:36 -05:00 |
Mike Gerwitz
|
e3561a492f
|
Modified interface property message to be a bit more helpful in a likely common scenerio
|
2011-03-01 09:17:24 -05:00 |
Mike Gerwitz
|
8c7ad787c8
|
Abstract methods list is no longer public
|
2011-01-25 00:24:50 -05:00 |
Mike Gerwitz
|
fb5d541ea3
|
Removed old console.log
|
2011-01-25 00:23:56 -05:00 |
Mike Gerwitz
|
fa8cddea07
|
Meta now uses deep cloning
|
2011-01-25 00:19:48 -05:00 |
Mike Gerwitz
|
881edc0cc6
|
Preparing to remove abstractMethods from public prototype; now uses hash for performance since it no longer needs to be referenced cleanly externally
- It will be later referenced via reflection
|
2011-01-25 00:13:47 -05:00 |
Mike Gerwitz
|
194aa02402
|
{new,} TypeError
|
2011-01-24 23:57:19 -05:00 |
Mike Gerwitz
|
188ad2f4eb
|
Getters/setters are not supported within interface definitions
|
2011-01-24 23:56:54 -05:00 |
Mike Gerwitz
|
c7b262b271
|
Concrete methods cannot be overridden by abstract methods
|
2011-01-24 23:52:06 -05:00 |
Mike Gerwitz
|
37e5b1d94d
|
util.propCopy() no longer needed
|
2011-01-24 23:38:27 -05:00 |
Mike Gerwitz
|
70f5d09c34
|
Interface now uses propParse and member builders
|
2011-01-24 23:35:45 -05:00 |
Mike Gerwitz
|
cd7b2563e5
|
Combined shared conditions in separate if statements
|
2011-01-24 23:30:32 -05:00 |
Mike Gerwitz
|
eba32ed4cb
|
Beginning to move Class over to use member builders
|
2011-01-24 23:28:48 -05:00 |
Mike Gerwitz
|
2a54662716
|
Added getter/setter keywords to propParse
|
2011-01-24 23:27:55 -05:00 |
Mike Gerwitz
|
5a3b401647
|
Began moving abstract logic out of propCopy
|
2011-01-24 20:58:58 -05:00 |
Mike Gerwitz
|
96d2f74dae
|
Method builder wraps overrides in an override function
|
2011-01-21 23:16:20 -05:00 |
Mike Gerwitz
|
e03d5861bb
|
Overridden methods must have >= length parameter lists
|
2011-01-21 22:19:22 -05:00 |
Mike Gerwitz
|
b8a6aa2af6
|
Method builder does not permit overriding properties with methods
|
2011-01-21 21:53:31 -05:00 |
Mike Gerwitz
|
12e5b48a7d
|
Cannot override method with property
|
2011-01-21 21:43:18 -05:00 |
Mike Gerwitz
|
dea6972416
|
Began adding basic method builder (currently operates the same as property builder)
- They are essentially the same, but the method builder will have additional logic (e.g. method overriding) and support different keywords
|
2011-01-21 20:54:55 -05:00 |
Mike Gerwitz
|
94d6fb1655
|
Added params to member_builder.initMembers() docblock
|
2011-01-21 00:09:26 -05:00 |
Mike Gerwitz
|
f55def4f06
|
Preparing class to use member_builder
|
2011-01-21 00:03:41 -05:00 |
Mike Gerwitz
|
2205af8c07
|
Can initialize member object with existing objects for each level of visibility
|
2011-01-20 23:56:39 -05:00 |
Mike Gerwitz
|
96cee9660b
|
Began adding member_builder.initMembers()
|
2011-01-20 23:53:00 -05:00 |
Mike Gerwitz
|
3c45912f25
|
Added getter/setter to member builder
|
2011-01-20 23:50:53 -05:00 |
Mike Gerwitz
|
a58b7989ee
|
Throws TypeError if multiple visibility keywords are given to member builder
|
2011-01-20 22:11:36 -05:00 |
Mike Gerwitz
|
9d9d00388c
|
Presumably private keywords will be used more frequently than protected, if the class is properly encapsulated
|
2011-01-20 21:51:35 -05:00 |
Mike Gerwitz
|
7f92a76e1f
|
Member builder uses public prototype by default
|
2011-01-20 21:50:52 -05:00 |
Mike Gerwitz
|
f27b0b01ab
|
Member builder recognizes private members
|
2011-01-20 21:48:09 -05:00 |
Mike Gerwitz
|
0ba3122db5
|
Member builder recognizes protected members
|
2011-01-20 21:46:49 -05:00 |
Mike Gerwitz
|
23a7d9d540
|
Began adding member_builder
|
2011-01-18 23:47:58 -05:00 |
Mike Gerwitz
|
96f5b8ff58
|
Multiple spaces now properly handled in keyword parser
|
2011-01-18 19:33:33 -05:00 |
Mike Gerwitz
|
7dab5c7b20
|
Keywords are now returned by propParse
|
2011-01-17 22:24:02 -05:00 |
Mike Gerwitz
|
afc5d4668d
|
Abstract classes also have a more intuitive string representation
|
2011-01-17 20:22:30 -05:00 |
Mike Gerwitz
|
d19638be4f
|
Classes now return a more intuitive string representation
|
2011-01-17 20:20:39 -05:00 |
Mike Gerwitz
|
7fb0f6a820
|
Classes now contain implement() method
|
2011-01-10 19:56:09 -05:00 |
Mike Gerwitz
|
ec9f24a926
|
Moved implement() into its own method, accepting destination object as the first parameter
|
2011-01-10 19:00:26 -05:00 |
Mike Gerwitz
|
fba94f2e0b
|
Added todo to profile propParse's use of fvoid vs if statements
|
2011-01-09 19:44:09 -05:00 |
Mike Gerwitz
|
7301ddbac2
|
[minor] formatting fix
|
2011-01-09 19:41:47 -05:00 |
Mike Gerwitz
|
aa1d38b007
|
Added deep cloning for objects
|
2011-01-09 01:46:46 -05:00 |
Mike Gerwitz
|
0f905481bf
|
Added deep cloning for arrays
|
2011-01-09 01:38:40 -05:00 |
Mike Gerwitz
|
3e8dba2fdc
|
Added missing comma to variable list
|
2011-01-09 00:40:35 -05:00 |
Mike Gerwitz
|
56c13b757b
|
isInstanceOf() now works with interfaces
|
2011-01-04 00:37:54 -05:00 |
Mike Gerwitz
|
c3b00ab9b7
|
Encapsulating implemented list (can use isInstanceOf() or a future reflection API)
|
2011-01-03 23:41:45 -05:00 |
Mike Gerwitz
|
0b112dac51
|
Abstract method list is now updated for classes that implement interfaces
|
2011-01-03 23:25:27 -05:00 |
Mike Gerwitz
|
c12ac412cb
|
Class.{implements => implement} - like Class.extend(), we're looking for a verb
|
2010-12-30 09:54:53 -05:00 |
Mike Gerwitz
|
d5d6082bfb
|
Interface methods are now copied to the class prototype (basic implementation - no deep copy for interface subtypes yet)
|
2010-12-29 23:34:12 -05:00 |
Mike Gerwitz
|
459d5e967b
|
Classes now store implemented interfaces in a list (does not yet import methods)
|
2010-12-29 23:33:30 -05:00 |