1
0
Fork 0
Commit Graph

28 Commits (closure/master)

Author SHA1 Message Date
Mike Gerwitz e0254f6441 Removed invalid @package tags
Not a valid tag in jsdoc
2011-12-06 20:19:31 -05:00
Mike Gerwitz f15fa03a3b [#25] Began moving test-class-visibility over to new test case style 2011-11-02 22:04:53 -04:00
Mike Gerwitz 6e7e031ff9 [#25] [#25] Re-added accidently removed portion of test 2011-10-22 11:06:03 -04:00
Mike Gerwitz e6830b741f [#25] Now using keywords to compare visibility levels in validations to eliminiate fallback inconsistencies
Ironic, considering the current refactoring (not yet committed) of MemberBuilder to split validation logic into MemberBuilderValidator was partially to be able to easily override the fallback logic. It's a useful refactoring nonetheless, but it could have waited.
2011-10-22 00:32:59 -04:00
Mike Gerwitz fd95f38c87 Integrated VisibilityObjectFactory and removed old propobj (#25)
- Note that the excessive gluing is temporary
2011-08-13 23:58:08 -04:00
Mike Gerwitz 2569dacf15 Override keyword is now required to override a virtual method (#19) 2011-08-04 00:32:10 -04:00
Mike Gerwitz db18a61d30 [#19] Began implementing method hiding (added warning for implicit hiding) 2011-07-06 19:35:00 -04:00
Mike Gerwitz 8b83e85c43 [#19] Implemented 'virtual' keyword
- Baby steps. 'override' keyword is not yet necessary.
- Final not yet removed
2011-06-08 01:11:53 -04:00
Mike Gerwitz 63a4f95f65 Fix for overriding protected with protected
- A better solution may be explored
2011-04-13 14:48:20 -04:00
Mike Gerwitz 1abf127ccc Protected property values, when set by the parent, are now available to subtypes 2011-04-02 10:58:26 -04:00
Mike Gerwitz 61f2f7e22d Methods can now be properly overridden when visibility is escalated 2011-04-01 06:28:45 -04:00
Mike Gerwitz 7070e55254 Added test to ensure same visibility de-escalation rules apply to concrete implementations of Interface methods 2011-03-18 23:55:56 -04:00
Mike Gerwitz 10ef0b2139 Added test to ensure __super() works properly with protected method overrides 2011-03-18 23:49:28 -04:00
Mike Gerwitz ce736bea55 Visibility de-escalation no longer permitted 2011-03-18 23:42:07 -04:00
Mike Gerwitz d05652f880 Fixed visibility issues in IE6
- Wasn't properly falling back
2011-03-13 21:47:40 -04:00
Mike Gerwitz e1bb48a8d9 Added visibility test to ensure supertypes do not have access to private members of subtypes when invoked 2011-03-13 15:39:14 -04:00
Mike Gerwitz e03c081cfd Fixed bug that made private members of a supertype inaccessible to methods that have not been overridden by a subtype
- In doing so, abandoned the super identifier (sid) for a more elegant solution with class ids (cid's)
- This permits fast and easy private member swapping via getMethodInstance() in class.js
2011-03-13 04:51:00 -04:00
Mike Gerwitz e0fb37daa0 Overridden methods now property return instance when returning 'this'
- There may be a cleaner way to do this. This is a quick fix.
2011-03-10 12:40:55 -05:00
Mike Gerwitz 84363aca45 Added test to ensure correct instance is returned when returning 'this' from a parent method 2011-03-10 12:24:59 -05:00
Mike Gerwitz 7427958ec0 Returning 'this' from a method will now return the object instance, not the internal property object 2011-03-10 12:19:39 -05:00
Mike Gerwitz 4e2f174667 Added test for good measure to ensure class instances do not share protected member values 2011-03-07 00:19:56 -05:00
Mike Gerwitz e05a65d5fa Initial concept of inheriting protected/private members 2011-03-07 00:14:43 -05:00
Mike Gerwitz 30bfde50cd Tada! Private members. 2011-03-06 23:03:39 -05:00
Mike Gerwitz c1765cd720 Using visibility fallback for browsers that do not support getters/setters 2011-03-06 22:43:14 -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 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