1
0
Fork 0
Commit Graph

243 Commits (ea5797ec4b79dc7de22a451418fafdf1aecdfe9d)

Author SHA1 Message Date
Mike Gerwitz 53a62742c5 Added another subtype to test case to ensure parent property intialization of class instances is recursive 2010-12-17 00:01:22 -05:00
Mike Gerwitz ec27eb2286 Added index to propCopy() performDefault test message 2010-12-16 23:57:41 -05:00
Mike Gerwitz 755b79725f Corrected attach_prop_init() documentation (__propInit => __initProps) 2010-12-16 23:56:35 -05:00
Mike Gerwitz a06d9a7204 Ensured __initProps() is treated as a reserved method and cannot be declared within Classes 2010-12-16 23:55:56 -05:00
Mike Gerwitz a60fe9c2de Class extend() now implements propCopy's performDefault (see previous commit) 2010-12-16 23:51:22 -05:00
Mike Gerwitz 6b6ffe0134 propCopy() parser function overrides can now invoke default functionality 2010-12-16 23:49:52 -05:00
Mike Gerwitz 591434b82f [*] Previous commit (property cloning per instance) now applied to subtypes as well 2010-12-16 23:37:18 -05:00
Mike Gerwitz 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
2010-12-16 23:18:30 -05:00
Mike Gerwitz 6efaba7fc5 Added util.clone(); does not yet support deep cloning 2010-12-16 23:15:42 -05:00
Mike Gerwitz a2c894b6bb Added ability to override propCopy() parser functions 2010-12-16 21:11:07 -05:00
Mike Gerwitz 5126c71a2d Using TypeError instead of Error for property type inconsistiencies 2010-12-10 00:00:47 -05:00
Mike Gerwitz 25dc7e031e Ensured properties cannot be overridden with methods 2010-12-07 20:24:51 -05:00
Mike Gerwitz 459335cf62 attempt_override() within propCopy() no longer needed after previous commit 2010-12-07 00:49:00 -05:00
Mike Gerwitz eced0a7e91 Both concrete and abstract methods now use the same callback in propParse()
- Now uses an is_abstract parameter
- Intended to reduce clutter and duplicate code
2010-12-07 00:46:50 -05:00
Mike Gerwitz 52b1ef657f Resolved failing test (methods may only be overridden with methods) with propParse() 'each' 2010-12-07 00:41:30 -05:00
Mike Gerwitz 994b8e16fa [1 failing test] Added support for 'each' in propParse() 2010-12-07 00:39:25 -05:00
Mike Gerwitz 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.
2010-12-07 00:38:51 -05:00
Mike Gerwitz fd2b3ccc6d Added support for getters/setters in propParse() 2010-12-05 20:50:13 -05:00
Mike Gerwitz 20b78ba73a Minor formatting change in propParse test 2010-12-04 14:05:56 -05:00
Mike Gerwitz 6fd31a8e76 Added abstract method support to propParse() 2010-12-04 14:03:26 -05:00
Mike Gerwitz 4037cc1343 Began adding util.propParse() to simplify design (supports scalar, arr and obj props and concrete methods) 2010-12-04 13:59:06 -05:00
Mike Gerwitz 729b977088 Fix of unintended global var 2010-12-03 07:19:16 -05:00
Mike Gerwitz 60025bd048 Added extend method to Interface 2010-12-01 23:27:31 -05:00
Mike Gerwitz 78e1913eb9 Comment spelling correction 2010-12-01 23:19:59 -05:00
Mike Gerwitz 611ee9ab35 Added tests to assure that intefaces can be extended from other interfaces 2010-12-01 23:13:21 -05:00
Mike Gerwitz 0d45716a43 Added missing space to error string 2010-12-01 23:04:22 -05:00
Mike Gerwitz 84dcca35d2 Interface prototype contains defined methods 2010-12-01 23:01:20 -05:00
Mike Gerwitz 789c7f9b5e Moved extend-related tests to their own file for interfaces in preparation for additional extend tests 2010-12-01 21:54:02 -05:00
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