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
f6369ba2c4
[ #25 ] No longer using util.isAbstractMethod() for method validation
2011-10-22 00:13:51 -04:00
Mike Gerwitz
9c9759a2b1
Moved validateMethod() function into MemberBuilder prototype to prepare for overriding with FallbackMemberBuilder
2011-10-14 22:14:29 -04:00
Mike Gerwitz
024f3b778c
Began adding FallbackMemberBuilder test case
...
This is the first test case to use the new basic xUnit-style system. This
system is likely to evolve over time. Right now it's purely for
setUp, organizational and output purposes.
2011-10-14 22:05:22 -04:00
Mike Gerwitz
24e9dd2549
Oops. Dummy want to name things correctly? ( #25 )
2011-09-02 22:44:11 -04:00
Mike Gerwitz
bc636637cc
Refactored new and override method wrappers into separate prototypes
...
- Note that, since we're mid-refactor, this is a bit of a mess
2011-08-31 00:24:19 -04:00
Mike Gerwitz
ce1370e025
Now passing getInst() directly into MethodwrapperFactory factory function, like good 'ol times
...
- I seem to have forgotten that this is necessary due to the static implementation
2011-08-31 00:05:07 -04:00
Mike Gerwitz
3c5362db0a
Added MethodWrapperFactory prototype
...
- Not yet used
2011-08-28 17:36:27 -04:00
Mike Gerwitz
2efdbe8969
Added missing MemberBuilder docblocks ( #25 )
2011-08-27 17:08:05 -04:00
Mike Gerwitz
302bc1540b
Removed old member_builder module
2011-08-14 18:53:40 -04:00
Mike Gerwitz
758162ad0f
Began refactoring member_builder module into MemberBuilder prototype ( #25 )
2011-08-14 18:47:48 -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
f3352e6d74
Added VisibilityObjectFactoryFactory ( #25 )
...
- This may be temporary, depending on the ultimate implementation. This is intended to ease into the refactoring.
2011-08-13 23:00:03 -04:00
Mike Gerwitz
b4b09930bd
Added property object comment to VisibilityObjectFactory ( #25 )
2011-08-13 22:42:51 -04:00
Mike Gerwitz
567c9f59a0
Implemented FallbackVisibilityObjectFactory ( #25 )
2011-08-13 22:42:33 -04:00
Mike Gerwitz
79652a1120
Moved non-fallback visibility object into VisibilityObjectFactory (system does not yet use it) ( #25 )
2011-08-11 23:11:37 -04:00
Mike Gerwitz
7a579ab2aa
Initial refactoring of class_builder module into ClassBuilder ctor ( #25 )
2011-08-09 17:27:26 -04:00
Mike Gerwitz
a401c31996
Can no longer override non-virtual methods ( #19 )
2011-08-04 00:44:20 -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
bd4e18acc6
Implicit method hiding warning now applies to virtual methods as well as non-virtual ( #19 )
2011-08-03 22:40:55 -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
bc3e879956
Corrected Warning stack trace
2011-07-06 19:12:08 -04:00
Mike Gerwitz
1b1a4b60d5
Altered warning display and stack trace
2011-07-06 17:55:40 -04:00
Mike Gerwitz
81fa2ae424
Merge branch 'master' into 'virtual/master'
...
- Resolved conflicts
2011-06-30 23:00:13 -04:00
Mike Gerwitz
adb7e088b7
[ #19 ] Cannot declare virtual static methods
2011-06-09 22:22:14 -04:00
Mike Gerwitz
08dc2559b4
[ #19 ] Cannot declare virtual properties
2011-06-09 19:46:13 -04:00
Mike Gerwitz
4fea62a8ed
[ #19 ] Removed 'final' keyword and all associated logic
...
- Kept FinalClass'
2011-06-08 01:26:04 -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
24a04369ae
Properly copying over abstract methods in implement()
2011-06-08 01:10:44 -04:00
Mike Gerwitz
557dcf6904
Fixed static bug and removed late static binding
...
- Late static binding will be revisited in the future
2011-05-31 22:29:07 -04:00
Mike Gerwitz
9db4e8d99f
Supplying alternative to getMethodInstance() for static methods
2011-05-30 23:03:08 -04:00
Mike Gerwitz
85c4c70b7d
Removed unneeded argument
2011-05-30 20:10:52 -04:00
Mike Gerwitz
76bc7361d3
Implemented GH#2 - Keyword restrictions; throw exception when unknown keywords are used
2011-05-22 22:11:57 -04:00
Mike Gerwitz
cf344186fc
Implement GH#1 Provide useful error when attempting to extend from non-constructor
2011-05-22 21:54:41 -04:00
Mike Gerwitz
8c62ee021c
Added support for final subtypes
2011-05-22 21:35:29 -04:00
Mike Gerwitz
a67d704837
Added support for named abstract subclasses
2011-05-22 21:05:46 -04:00
Mike Gerwitz
db9de2712e
Added class_abstract docblocks
2011-05-22 19:15:19 -04:00
Mike Gerwitz
e0de030cee
Implemented AbstractClass
...
- Some of this functionality requires further refactoring
2011-05-22 16:08:48 -04:00
Mike Gerwitz
b359906aa3
Refactored method validations into separate method
2011-05-22 11:25:15 -04:00
Mike Gerwitz
9690663d1c
Added support for final classes
...
- This commit was originally many. Unfortunately, certain Git objects became
corrupt shortly after my 500th commit due to HDD issues. Due to the scope, I
was unable to recover the set of commits I needed (after an hour of trying
every method).
- Fortunately, vim's swap files came to the rescue. Had I been able to
properly shut down my PC, I would have been rather frustrated.
2011-05-22 11:19:51 -04:00
Mike Gerwitz
6e1d796092
Implemented constant properties
2011-05-19 19:48:51 -04:00
Mike Gerwitz
2d91a221aa
Const keyword now results in static property
2011-05-19 19:07:31 -04:00
Mike Gerwitz
030bdef821
Static keyword cannot be used with const for properties
2011-05-19 18:30:55 -04:00
Mike Gerwitz
f3c1d0f9af
Methods cannot be declared as constant
2011-05-19 07:54:51 -04:00
Mike Gerwitz
0c5293991c
Disallowed use of final keyword with properties
2011-05-18 20:51:02 -04:00
Mike Gerwitz
f47fcf4f46
Simplified and enhanced util.freeze()
2011-05-15 19:12:24 -04:00
Mike Gerwitz
4c74f2a1f2
Added final keyword for methods
2011-05-15 19:11:23 -04:00
Mike Gerwitz
775438c1b6
Implemented private static properties
2011-05-13 00:55:09 -04:00
Mike Gerwitz
9b20cdff48
Initial concept for protected static property access
2011-05-12 00:25:34 -04:00
Mike Gerwitz
9067bbf0cf
Static property accessor method is no longer enumerable
2011-05-11 20:53:43 -04:00