Mike Gerwitz
dfa2966d99
Removed class naming from TODO and updated README to include mention
2011-03-05 22:55:15 -05:00
Mike Gerwitz
b321610cc7
Interface name included in instantiation error, if available
2011-03-05 21:46:44 -05:00
Mike Gerwitz
6f7dabe35e
Interface name is included in declaration errors, if available
2011-03-05 17:27:02 -05:00
Mike Gerwitz
2967cc7a9a
Class name is now provided in all errors where name is available, within class module
2011-03-05 13:13:53 -05:00
Mike Gerwitz
da8be9affa
Interface definition errors now contain class name when available
2011-03-05 12:57:21 -05:00
Mike Gerwitz
5f739e604b
Class name is included in definition errors when available
2011-03-05 12:56:14 -05:00
Mike Gerwitz
635395b303
Merge branch 'master' into visibility/master
2011-03-05 03:23:11 -05:00
Mike Gerwitz
2c2701f4ab
Implemented staging-style named class definition when implementing interfaces
2011-03-05 03:22:45 -05:00
Mike Gerwitz
8749228764
interface() calls now push/pop rather than shift/unshift (performance)
2011-03-05 03:03:50 -05:00
Mike Gerwitz
0f9454b79b
interface() no longer returns a usable class
...
- Number of reasons. First and foremost, it doesn't make sense to return a usable class with no body/definition
- Secondly, to make the following commit(s) possible and consistent
2011-03-05 02:59:21 -05:00
Mike Gerwitz
ace9f4c1ea
Began implementing class name staging (implement() does not yet work with it)
2011-03-05 00:33:47 -05:00
Mike Gerwitz
bedc3c95af
Moved named class argument check error to a more sensible location and amended error message
2011-03-04 23:44:19 -05:00
Mike Gerwitz
0ccdf07145
Implemented strict argument check for interface creation
2011-03-04 23:43:30 -05:00
Mike Gerwitz
649356ef23
Refactored interface module invocation into separate functions for named and anonymous
2011-03-04 23:35:28 -05:00
Mike Gerwitz
ea5797ec4b
Added class module refactoring (due to side) to TODO
2011-03-04 19:50:02 -05:00
Mike Gerwitz
e3075b0479
Refactored class module invocation method into separate functions
...
- The class module is getting too big. Something will have to be done soon.
2011-03-04 19:49:15 -05:00
Mike Gerwitz
b158e542d5
Declaring named class will throw error for extreaneous arguments
2011-03-04 16:36:15 -05:00
Mike Gerwitz
dca7653adf
Merge branch 'master' into visibility/master
2011-03-04 00:26:02 -05:00
Mike Gerwitz
7bb87e370f
No need to recheck the type each time
2011-03-04 00:24:42 -05:00
Mike Gerwitz
009c4a93e9
Interfaces now have sane/useful values when converted to strings
2011-03-04 00:19:02 -05:00
Mike Gerwitz
ec7b4e2b6b
Updated class module docblock
2011-03-04 00:17:25 -05:00
Mike Gerwitz
85e687e29c
Added Interface.isInterface()
2011-03-03 23:59:37 -05:00
Mike Gerwitz
4148f8742d
Merge branch 'master' into visibility/master
...
Conflicts:
test/test-class-extend.js
2011-03-03 23:29:20 -05:00
Mike Gerwitz
81d03cb984
Altered class toString() representations to be more consistent with JS
2011-03-03 23:00:59 -05:00
Mike Gerwitz
e2cba458d8
Class instances now have different default toString() implementations than uninstantiated classes
...
- Instance id is not yet included, as that is currently in a different branch
2011-03-03 22:53:20 -05:00
Mike Gerwitz
840a495017
Began implementing named classes
...
- toString() implementation
2011-03-03 22:33:18 -05:00
Mike Gerwitz
b96aaa35d9
README correction
2011-03-03 20:09:01 -05:00
Mike Gerwitz
ecd46382f3
Added brief mention and example of interfaces to README
2011-03-03 19:47:48 -05:00
Mike Gerwitz
032d1956a6
Altered README to reflect recent 'natural definition' addition
2011-03-03 19:45:03 -05:00
Mike Gerwitz
d23ae6210c
Initial implementation of natural class definition by invoking class module
2011-03-03 19:43:20 -05:00
Mike Gerwitz
15ac62d063
Updated TODO for naming
2011-03-03 19:11:00 -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
4987856a46
Combine process now wraps using module rather than only exports
...
- This will allow us to overwrite the 'exports' object
2011-03-03 14:14:10 -05:00
Mike Gerwitz
27e3eb9370
Added visibility mention to README
2011-03-02 23:48:55 -05:00
Mike Gerwitz
138f3c24e7
Removed protected from TODO
...
- I've been procrastinating.
2011-03-02 23:27:09 -05:00
Mike Gerwitz
bc9e2bb7b2
Fix setting public properties
...
- This currently only works with ES5 engines
- Fallback to follow so this will work with pre-ES5 engines
- As such, I do not recommend using this commit outside of ES5-compliant engines that work properly with getters/setters
- This does NOT include IE8, as IE8 only works with getters/setters on DOM elements
2011-03-02 23:21:10 -05:00
Mike Gerwitz
74c2fc57c1
Initial implementation of protected members
...
- This was quite the pain in the ass
- There are additional considerations. I DO NOT recommend using this commit. Check out a later commit.
2011-03-02 20:43:24 -05:00
Mike Gerwitz
2af7bcf45d
Merge branch 'master' into visibility/master
2011-03-02 07:54:52 -05:00
Mike Gerwitz
d74c01b562
Removed visibility dependency from test-class-abstract
2011-03-02 07:53:58 -05:00
Mike Gerwitz
40228361a1
test-class-parent no longer relies on member visibility to succeed
...
- This is important for pending changes
2011-03-02 07:51:18 -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
02d0c07f98
Extended existing visibility tests to include methods
2011-01-27 22:39:52 -05:00
Mike Gerwitz
38c16048cb
Began adding protected/private member support
...
- No longer adding ANY properties to prototype
- protected/private members no longer part of the public access level
2011-01-27 22:35:40 -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
069ef6717f
Removed direct reference to abstractMethods from README
2011-01-24 23:59:24 -05:00
Mike Gerwitz
194aa02402
{new,} TypeError
2011-01-24 23:57:19 -05:00