5e999b8167IE doesn't like using reserved words as properties - This is one thing I'll have to complement IE on. Every browser should blow up on reserved words.
Mike Gerwitz
2010-12-20 08:42:05 -0500
72f4dd0757Added make targets: default, mkbuild, combine, clean
Mike Gerwitz
2010-12-19 23:51:22 -0500
78179c3d9d[*] Added tools/combine script for client-side (browser) distributable file - It should be noted that this won't yet work in IE6/7 (I'm not positive on IE7), since they are picky with trailing commas, and currently ease.js uses trailing commas on all array and object declarations
Mike Gerwitz
2010-12-19 23:41:46 -0500
cd9ef1ea71Finished refactoring to remove result_data object in class extend() function
Mike Gerwitz
2010-12-19 13:54:31 -0500
1ff9408885Rearranged util.overrideMethod() arguments to match methodOverride propCopy() action (to avoid unnecessary mistakes and confusion)
Mike Gerwitz
2010-12-19 00:12:41 -0500
600e389b40Refactored abstract method logic out of util.propCopy() into class extend()
Mike Gerwitz
2010-12-19 00:11:39 -0500
2789e5fcf9Abstract map no longer passed to method_override() - it's only used in that method
Mike Gerwitz
2010-12-18 10:57:00 -0500
e39cfea741Now exporting util's array_shrink() as util.arrayShrink()
Mike Gerwitz
2010-12-18 09:38:58 -0500
3a2ddbb29bclass.js 'extending' var is an argument and shouldn't be declared with var keyword
Mike Gerwitz
2010-12-18 08:24:15 -0500
2c49e9719futil.propParse() now ignores instance prototype properties
Mike Gerwitz
2010-12-18 07:07:27 -0500
f2baf82100Removed unneeded var
Mike Gerwitz
2010-12-18 06:59:35 -0500
53a62742c5Added another subtype to test case to ensure parent property intialization of class instances is recursive
Mike Gerwitz
2010-12-17 00:01:22 -0500
ec27eb2286Added index to propCopy() performDefault test message
Mike Gerwitz
2010-12-16 23:57:41 -0500
a06d9a7204Ensured __initProps() is treated as a reserved method and cannot be declared within Classes
Mike Gerwitz
2010-12-16 23:55:56 -0500
a60fe9c2deClass extend() now implements propCopy's performDefault (see previous commit)
Mike Gerwitz
2010-12-16 23:51:22 -0500
6b6ffe0134propCopy() parser function overrides can now invoke default functionality
Mike Gerwitz
2010-12-16 23:49:52 -0500
591434b82f[*] Previous commit (property cloning per instance) now applied to subtypes as well
Mike Gerwitz
2010-12-16 23:37:18 -0500
fe853b505b[*] Properties are no longer shared between class instances - Properties were previously shared on the prototype level, acting as though they were static class properties, which can cause some nasty bugs
Mike Gerwitz
2010-12-16 23:18:30 -0500
6efaba7fc5Added util.clone(); does not yet support deep cloning
Mike Gerwitz
2010-12-16 23:15:42 -0500
a2c894b6bbAdded ability to override propCopy() parser functions
Mike Gerwitz
2010-12-16 21:11:07 -0500
5126c71a2dUsing TypeError instead of Error for property type inconsistiencies
Mike Gerwitz
2010-12-10 00:00:47 -0500
25dc7e031eEnsured properties cannot be overridden with methods
Mike Gerwitz
2010-12-07 20:24:51 -0500
459335cf62attempt_override() within propCopy() no longer needed after previous commit
Mike Gerwitz
2010-12-07 00:49:00 -0500
eced0a7e91Both concrete and abstract methods now use the same callback in propParse() - Now uses an is_abstract parameter - Intended to reduce clutter and duplicate code
Mike Gerwitz
2010-12-07 00:46:50 -0500
52b1ef657fResolved failing test (methods may only be overridden with methods) with propParse() 'each'
Mike Gerwitz
2010-12-07 00:41:30 -0500
994b8e16fa[1 failing test] Added support for 'each' in propParse()
Mike Gerwitz
2010-12-07 00:39:25 -0500
abefb0858b[1 failing test] Crude beginning of implementation of propParse() - Looks ugly now because it is. Attempting to refactor before doing a proper implementation. Baby steps.
Mike Gerwitz
2010-12-07 00:38:51 -0500
fd2b3ccc6dAdded support for getters/setters in propParse()
Mike Gerwitz
2010-12-05 20:50:13 -0500
20b78ba73aMinor formatting change in propParse test
Mike Gerwitz
2010-12-04 14:05:56 -0500
6fd31a8e76Added abstract method support to propParse()
Mike Gerwitz
2010-12-04 14:03:26 -0500
4037cc1343Began adding util.propParse() to simplify design (supports scalar, arr and obj props and concrete methods)
Mike Gerwitz
2010-12-04 13:59:06 -0500
729b977088Fix of unintended global var
Mike Gerwitz
2010-12-03 07:19:16 -0500
60025bd048Added extend method to Interface
Mike Gerwitz
2010-12-01 23:27:31 -0500
78e1913eb9Comment spelling correction
Mike Gerwitz
2010-12-01 23:19:59 -0500
611ee9ab35Added tests to assure that intefaces can be extended from other interfaces
Mike Gerwitz
2010-12-01 23:13:21 -0500
0d45716a43Added missing space to error string
Mike Gerwitz
2010-12-01 23:04:22 -0500
84dcca35d2Interface prototype contains defined methods
Mike Gerwitz
2010-12-01 23:01:20 -0500
789c7f9b5eMoved extend-related tests to their own file for interfaces in preparation for additional extend tests
Mike Gerwitz
2010-12-01 21:54:02 -0500
3ebe82c0a5Interface does not depend on Class
Mike Gerwitz
2010-12-01 21:46:36 -0500
287320c09aREADME.md now reflects abstract method definition change
Mike Gerwitz
2010-12-01 21:41:32 -0500
c910dafb76Interfaces permit only abstract methods
Mike Gerwitz
2010-12-01 21:39:41 -0500
2e930482d2Abstract methods of subtypes overriding abstract methods must be compatiable with the previous definition
Mike Gerwitz
2010-12-01 21:34:57 -0500
2e8097e21eAltered abstract method declaration (using strings to represent arguments rather than a function)
Mike Gerwitz
2010-12-01 21:13:51 -0500
837422c46fAdded util.isAbstractMethod
Mike Gerwitz
2010-12-01 21:00:15 -0500
54432c78faabstractMethod() moved to util.defineAbstractMethod
Mike Gerwitz
2010-12-01 20:45:27 -0500
b3c4b757e7util.canFreeze removed, replaced with util.freeze()
Mike Gerwitz
2010-12-01 20:41:54 -0500
c29bd010b0define_secure_prop moved to util.defineSecureProp
Mike Gerwitz
2010-12-01 20:38:50 -0500
2edcb8a75eOnly methods are permitted within interface declarations
Mike Gerwitz
2010-12-01 19:38:30 -0500
b294f84481Began Interface development
Mike Gerwitz
2010-12-01 19:27:40 -0500
1e2e73c9f0Began moving utility methods into their own module
Mike Gerwitz
2010-11-15 23:44:15 -0500
0e232b4a2cFreezing class object after creation
Mike Gerwitz
2010-11-15 23:22:24 -0500
0b4ec19911Case of poor copy-and-paste
Mike Gerwitz
2010-11-15 18:31:10 -0500
ce038a871bCorrected documentation for abstractMethod
Mike Gerwitz
2010-11-15 13:28:36 -0500
d8533d6974Updated README.md with some of the new changes
Mike Gerwitz
2010-11-15 12:11:11 -0500
f632b93d64Refactored 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
Mike Gerwitz
2010-11-15 07:07:49 -0500
095683ba42Simply moved extend() function higher up in the source file, since it will be one of the most commonly referenced functions
Mike Gerwitz
2010-11-15 06:54:37 -0500
f9d7dca4b3Removed old code from attach_extend()
Mike Gerwitz
2010-11-14 22:07:04 -0500
e26d7971ceRefactored abstract method logic
Mike Gerwitz
2010-11-14 22:03:55 -0500
52944c4207Grammar
Mike Gerwitz
2010-11-14 21:52:02 -0500
3f169d87eaRefactored method override logic into its own function
Mike Gerwitz
2010-11-14 21:50:56 -0500
1a9cc40c31Refactored abstract method regeneration logic into a array_shrink() function
Mike Gerwitz
2010-11-14 21:39:46 -0500
d4593725a4If a definition is provided for an abstract method, the concrete implementation must be compatiable (proper number of arguments)
Mike Gerwitz
2010-11-14 21:33:13 -0500
e0657e1c44abstractFlag now defined using define_secure_prop()
Mike Gerwitz
2010-11-14 21:18:40 -0500
bb631eb706Added test to ensure constructor of abstract supertypes can be called
Mike Gerwitz
2010-11-14 21:09:24 -0500
0d1ba74415Ensured abstract classes cannot be instantiated and permitted their instantiation during extending so that it may be used in the subclass's prototype
Mike Gerwitz
2010-11-14 20:48:39 -0500
746a9ee53dClass.isAbstract() now defined using define_secure_prop
Mike Gerwitz
2010-11-14 20:31:23 -0500
113e3b974fProperly implemented abstract methods list
Mike Gerwitz
2010-11-14 20:30:33 -0500
ad4b317955Refactored defineProperty() code into define_secure_prop() function to reduce duplicate code
Mike Gerwitz
2010-11-14 01:37:12 -0500
d5b4477109Abstract methods are now passed to subtypes
Mike Gerwitz
2010-11-14 01:18:49 -0500
d3ba8a9dfeCorrected abstract class tests (.equals() = .equal())
Mike Gerwitz
2010-11-14 01:11:24 -0500
de979d07f0Added isAbstract() method to class
Mike Gerwitz
2010-11-14 01:10:55 -0500
716db6d086prop_copy() will now keep track of abstract methods
Mike Gerwitz
2010-11-14 01:02:57 -0500
e783713ca7Added a result_data argment to prop_copy()
Mike Gerwitz
2010-11-14 00:56:54 -0500
9dc025e6b1Added setup_props function to prepare for adding multiple properties to generated classes
Mike Gerwitz
2010-11-14 00:49:52 -0500
a083313538Began implementing abstract methods
Mike Gerwitz
2010-11-14 00:47:27 -0500
88b1a72255Added some beginning test cases for abstract classes (will currently fail)
Mike Gerwitz
2010-11-14 00:41:18 -0500
97f3c5ed5dAdded tests to ensure it is possible to extend classes that were not previously created using Class.extend()
Mike Gerwitz
2010-11-11 21:02:09 -0500
e56ecce61fAdded index.js
Mike Gerwitz
2010-11-11 08:50:05 -0500
72189eeda1Initial commit of README.md
Mike Gerwitz
2010-11-11 00:12:59 -0500
16a91b728eMethods can no longer be overridden with non-methods (anything other than a Function)
Mike Gerwitz
2010-11-10 23:42:26 -0500
c34f40db19Converted vars to conventional function delcarations (no difference; just preference)
Mike Gerwitz
2010-11-10 23:35:57 -0500
4e38898c93Added additional documentation to prop_copy()
Mike Gerwitz
2010-11-10 23:31:58 -0500
60bf9deaf5Moved class extend() export to the top of the module to make it more noticable in the mess of functions
Mike Gerwitz
2010-11-10 23:30:30 -0500
86bbef6f77Added documentation for attach_extend()
Mike Gerwitz
2010-11-10 23:29:28 -0500
61985eea47Added checks for ES5 features
Mike Gerwitz
2010-11-10 23:28:20 -0500
8422bea1d6Added getter/setter override support
Mike Gerwitz
2010-11-10 23:19:46 -0500
0c963d1d00Added access to parent prototype via parent property
Mike Gerwitz
2010-11-10 22:54:24 -0500
6ea6fd0bb7Began adding parent tests (parent method call currently fails)
Mike Gerwitz
2010-11-10 22:19:50 -0500
26b70bcd93Changed license to LGPL
Mike Gerwitz
2010-11-10 22:07:03 -0500
fdf389ba2eAdded inheritance instanceof assertions
Mike Gerwitz
2010-11-10 21:39:09 -0500
909542d19bAdded support for extending classes via convenience method and tests for property inheritance
Mike Gerwitz
2010-11-10 21:10:31 -0500
c42598c47bClass.extend() should not be part of the prototype (we're extending the class, not an object instance)
Mike Gerwitz
2010-11-10 21:05:52 -0500
7475fa11c6Corrected makefile to run all tests
Mike Gerwitz
2010-11-10 21:00:38 -0500
0d5afa8d71Moved object extend() assertion to its own file to prepare for extending subtypes
Mike Gerwitz
2010-11-10 20:48:35 -0500
6a14b86777Minor documentation changes
Mike Gerwitz
2010-11-10 20:45:33 -0500
e870310341Added Makefile for testing
Mike Gerwitz
2010-11-10 19:38:06 -0500
9071a158a2Added tests for constructor arguments
Mike Gerwitz
2010-11-10 19:29:56 -0500
bebaee7b46Moved constructor tests into their own file
Mike Gerwitz
2010-11-10 19:21:53 -0500