Mike Gerwitz
|
3ebe82c0a5
|
Interface does not depend on Class
|
2010-12-01 21:46:36 -05:00 |
Mike Gerwitz
|
287320c09a
|
README.md now reflects abstract method definition change
|
2010-12-01 21:41:32 -05:00 |
Mike Gerwitz
|
c910dafb76
|
Interfaces permit only abstract methods
|
2010-12-01 21:39:41 -05:00 |
Mike Gerwitz
|
2e930482d2
|
Abstract methods of subtypes overriding abstract methods must be compatiable with the previous definition
|
2010-12-01 21:34:57 -05:00 |
Mike Gerwitz
|
2e8097e21e
|
Altered abstract method declaration (using strings to represent arguments rather than a function)
|
2010-12-01 21:13:51 -05:00 |
Mike Gerwitz
|
837422c46f
|
Added util.isAbstractMethod
|
2010-12-01 21:00:15 -05:00 |
Mike Gerwitz
|
54432c78fa
|
abstractMethod() moved to util.defineAbstractMethod
|
2010-12-01 20:45:27 -05:00 |
Mike Gerwitz
|
b3c4b757e7
|
util.canFreeze removed, replaced with util.freeze()
|
2010-12-01 20:41:54 -05:00 |
Mike Gerwitz
|
c29bd010b0
|
define_secure_prop moved to util.defineSecureProp
|
2010-12-01 20:38:50 -05:00 |
Mike Gerwitz
|
2edcb8a75e
|
Only methods are permitted within interface declarations
|
2010-12-01 19:38:30 -05:00 |
Mike Gerwitz
|
b294f84481
|
Began Interface development
|
2010-12-01 19:27:40 -05:00 |
Mike Gerwitz
|
1e2e73c9f0
|
Began moving utility methods into their own module
|
2010-11-15 23:44:15 -05:00 |
Mike Gerwitz
|
0e232b4a2c
|
Freezing class object after creation
|
2010-11-15 23:22:24 -05:00 |
Mike Gerwitz
|
0b4ec19911
|
Case of poor copy-and-paste
|
2010-11-15 18:31:10 -05:00 |
Mike Gerwitz
|
ce038a871b
|
Corrected documentation for abstractMethod
|
2010-11-15 13:28:36 -05:00 |
Mike Gerwitz
|
d8533d6974
|
Updated README.md with some of the new changes
|
2010-11-15 12:11:11 -05:00 |
Mike Gerwitz
|
f632b93d64
|
Refactored constructor creation logic for new classes into its own method and placed both functions (and their shared var) into a closure to remove the 'extending' var from the module's scope
|
2010-11-15 07:07:49 -05:00 |
Mike Gerwitz
|
095683ba42
|
Simply moved extend() function higher up in the source file, since it will be one of the most commonly referenced functions
|
2010-11-15 06:54:37 -05:00 |
Mike Gerwitz
|
f9d7dca4b3
|
Removed old code from attach_extend()
|
2010-11-14 22:07:04 -05:00 |
Mike Gerwitz
|
e26d7971ce
|
Refactored abstract method logic
|
2010-11-14 22:03:55 -05:00 |
Mike Gerwitz
|
52944c4207
|
Grammar
|
2010-11-14 21:52:02 -05:00 |
Mike Gerwitz
|
3f169d87ea
|
Refactored method override logic into its own function
|
2010-11-14 21:50:56 -05:00 |
Mike Gerwitz
|
1a9cc40c31
|
Refactored abstract method regeneration logic into a array_shrink() function
|
2010-11-14 21:39:46 -05:00 |
Mike Gerwitz
|
d4593725a4
|
If a definition is provided for an abstract method, the concrete implementation must be compatiable (proper number of arguments)
|
2010-11-14 21:33:13 -05:00 |
Mike Gerwitz
|
e0657e1c44
|
abstractFlag now defined using define_secure_prop()
|
2010-11-14 21:18:40 -05:00 |
Mike Gerwitz
|
bb631eb706
|
Added test to ensure constructor of abstract supertypes can be called
|
2010-11-14 21:09:24 -05:00 |
Mike Gerwitz
|
0d1ba74415
|
Ensured abstract classes cannot be instantiated and permitted their instantiation during extending so that it may be used in the subclass's prototype
|
2010-11-14 20:48:39 -05:00 |
Mike Gerwitz
|
746a9ee53d
|
Class.isAbstract() now defined using define_secure_prop
|
2010-11-14 20:31:23 -05:00 |
Mike Gerwitz
|
113e3b974f
|
Properly implemented abstract methods list
|
2010-11-14 20:30:33 -05:00 |
Mike Gerwitz
|
ad4b317955
|
Refactored defineProperty() code into define_secure_prop() function to reduce duplicate code
|
2010-11-14 01:37:12 -05:00 |
Mike Gerwitz
|
d5b4477109
|
Abstract methods are now passed to subtypes
|
2010-11-14 01:18:49 -05:00 |
Mike Gerwitz
|
d3ba8a9dfe
|
Corrected abstract class tests (.equals() = .equal())
|
2010-11-14 01:11:24 -05:00 |
Mike Gerwitz
|
de979d07f0
|
Added isAbstract() method to class
|
2010-11-14 01:10:55 -05:00 |
Mike Gerwitz
|
716db6d086
|
prop_copy() will now keep track of abstract methods
|
2010-11-14 01:02:57 -05:00 |
Mike Gerwitz
|
e783713ca7
|
Added a result_data argment to prop_copy()
|
2010-11-14 00:56:54 -05:00 |
Mike Gerwitz
|
9dc025e6b1
|
Added setup_props function to prepare for adding multiple properties to generated classes
|
2010-11-14 00:49:52 -05:00 |
Mike Gerwitz
|
a083313538
|
Began implementing abstract methods
|
2010-11-14 00:47:27 -05:00 |
Mike Gerwitz
|
88b1a72255
|
Added some beginning test cases for abstract classes (will currently fail)
|
2010-11-14 00:41:18 -05:00 |
Mike Gerwitz
|
97f3c5ed5d
|
Added tests to ensure it is possible to extend classes that were not previously created using Class.extend()
|
2010-11-11 21:02:09 -05:00 |
Mike Gerwitz
|
e56ecce61f
|
Added index.js
|
2010-11-11 08:50:05 -05:00 |
Mike Gerwitz
|
72189eeda1
|
Initial commit of README.md
|
2010-11-11 00:12:59 -05:00 |
Mike Gerwitz
|
16a91b728e
|
Methods can no longer be overridden with non-methods (anything other than a Function)
|
2010-11-10 23:42:26 -05:00 |
Mike Gerwitz
|
c34f40db19
|
Converted vars to conventional function delcarations (no difference; just preference)
|
2010-11-10 23:35:57 -05:00 |
Mike Gerwitz
|
4e38898c93
|
Added additional documentation to prop_copy()
|
2010-11-10 23:31:58 -05:00 |
Mike Gerwitz
|
60bf9deaf5
|
Moved class extend() export to the top of the module to make it more noticable in the mess of functions
|
2010-11-10 23:30:30 -05:00 |
Mike Gerwitz
|
86bbef6f77
|
Added documentation for attach_extend()
|
2010-11-10 23:29:28 -05:00 |
Mike Gerwitz
|
61985eea47
|
Added checks for ES5 features
|
2010-11-10 23:28:20 -05:00 |
Mike Gerwitz
|
8422bea1d6
|
Added getter/setter override support
|
2010-11-10 23:19:46 -05:00 |
Mike Gerwitz
|
0c963d1d00
|
Added access to parent prototype via parent property
|
2010-11-10 22:54:24 -05:00 |
Mike Gerwitz
|
607bbf7f4c
|
Added support for _super method
- Motivation from John Reisg's "Simple Javascript Inheritance": http://ejohn.org/blog/simple-javascript-inheritance/
|
2010-11-10 22:49:27 -05:00 |