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
|
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
|
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
|
2a54662716
|
Added getter/setter keywords to propParse
|
2011-01-24 23:27:55 -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
|
906e468cdf
|
Refactored test logic that will be shared between multiple members into inc-member_builder-common.js to reduce code duplication
|
2011-01-21 20:46:24 -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
|
b34e0b45f6
|
Property member builder tests now use object and deepEqual() to ensure that property is copied as intended
|
2011-01-20 22:22:12 -05:00 |
Mike Gerwitz
|
f25ae7cb43
|
Made property member builder tests more specific to ensure that properties are not copied to multiple prototypes
|
2011-01-20 22:19:06 -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
|
9a5fe96c3e
|
Result of buildProp() in tests unneeded
|
2011-01-20 21:53:18 -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
|
1f661bebcd
|
Altered property keyword parser tests to be more easily recognizable
|
2011-01-17 20:41:04 -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
|
1b40451aad
|
Put class-implement tests into self-executing functions in testdox format to make them more easily recognized
- Eventually, I'd like for all the tests to be in this format
|
2011-01-11 19:03:30 -05:00 |
Mike Gerwitz
|
7fb0f6a820
|
Classes now contain implement() method
|
2011-01-10 19:56:09 -05:00 |
Mike Gerwitz
|
e822bc8840
|
Combined test now testing for Interface export
|
2011-01-09 02:00:36 -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
|
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
|
5b3ecf853b
|
Exposed Interface
|
2010-12-30 09:24:52 -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 |
Mike Gerwitz
|
80b0732be1
|
Interfaces cannot be instantiated
|
2010-12-29 22:40:23 -05:00 |
Mike Gerwitz
|
b357293890
|
Classes now tested using isInstanceOf()
|
2010-12-29 21:45:33 -05:00 |
Mike Gerwitz
|
76969201fb
|
Added isA() as an alias for isInstanceOf()
|
2010-12-29 21:37:11 -05:00 |
Mike Gerwitz
|
6a24f2ad13
|
Added isInstanceOf() partially applied function to class instances
|
2010-12-29 21:32:16 -05:00 |
Mike Gerwitz
|
83cecb5fdc
|
Instantiating test object only once
|
2010-12-29 21:18:03 -05:00 |
Mike Gerwitz
|
96909732db
|
Began adding isInstanceOf, starting with prototype chain checks
|
2010-12-29 21:13:21 -05:00 |
Mike Gerwitz
|
004ccfa05b
|
Interfaces cannot inherit from Classes
|
2010-12-28 21:56:55 -05:00 |
Mike Gerwitz
|
c9d0e027fa
|
Added isClass() and isClassInstance() methods
|
2010-12-28 20:58:42 -05:00 |