Martin Carlberg
d4e40faecc
Fixed: the class method +initialize was always sent even if the root class did not implement it. Forwarding and Invocation worked also on the method.
...
To mimic Objective-C correctly the +initialize method should not be sent on a class hierarchy if it does not implement it.
Also the +initialize method should not allowed to be forwarded to another target with Invocation or any other forwarding mechanism.
Added test cases for this and cleaned up some test cases that succeeded for the wrong reason.
This change will not affect many projects as all classes inherit from CPObject.
2019-02-20 23:44:00 +01:00
Martin Carlberg and GitHub
436f736a8e
Merge pull request #2543 from FrankReh/pullreq/cleanup/remove/property/sub_classes
...
Remove objj_class.sub_classes property
2017-09-22 13:03:54 +02:00
Martin Carlberg
1fa8c88f6b
Fixed: Speed up of objj_msgSend function. Don’t need to use complex check if class is initialized.
2017-06-26 16:23:59 +02:00
Frank Rehwinkel
6183f8d4e9
Fix aClass.protocol_list syntax
...
A long standing bug that never mattered because each class is
initialized with a protocol_list set to an empty array. This
is not the case for the protocol objects but there the syntax
was correct already.
2017-05-04 15:58:47 -04:00
Frank Rehwinkel
d98e247665
Remove objj_class.sub_classes property
...
From the first day this class was added to the repo, the sub_classes
property, which is initialized with an empty array, has gone unused.
Removing it. A little less code. A little subsequent processing
and memory used.
2017-05-04 15:57:14 -04:00
Martin Carlberg
c2f95f7953
Fixed: Runtime method argument functions will now comply to how Objective-C runtime works.
2015-11-23 10:48:15 +01:00
Martin Carlberg
141d737ca5
Fixed: Removed old function instead of mark it deprecated
2015-11-20 14:54:11 +01:00
Martin Carlberg
d0fd53a2ca
Added: Function method_getNumberOfArguments
2015-11-20 14:53:46 +01:00
Martin Carlberg
3e0a6ea2cf
Fixed: Return NULL when out of bounce
2015-11-20 14:52:53 +01:00
Martin Carlberg
920daf7fde
Fixed: Marked function 'method_getTypes' as deprecated
2015-11-10 11:30:29 +01:00
Martin Carlberg
ad1a15faaa
New: Added runtime functions 'method_copyReturnType' and 'method_copyArgumentType'.
2015-11-10 11:29:52 +01:00
Martin Carlberg
4ba9a19b5c
Fixed: Speed improvements in objj_msgSend and objj_msgSendSuper functions. More efficient implementation of objj_method.
2015-10-06 13:27:10 +02:00
Antoine Mercadal
8ee443a43c
NEW: @typedef and ivar type warning
...
Previously, ObjJ was ignoring unknow ivar type. This patch adds some check to ensure the type is either a known class, the current class
itself, a global, a basic JS type or a declared custom type.
In order to declare custom types, this patch introduces the @typedef keyword.
For instance, this will throw a warning:
```objj
@import <Foundation/Foundation.j>
@implementation MyClass: CPObject
{
NUSuppaType mode;
}
@end
```
This will not:
```objj
@import <Foundation/Foundation.j>
@typedef NUSuppaType
@implementation NUMyClass: CPObject
{
NUSuppaType mode;
}
@end
```
Declared types are shared accross all application, one type can only be declared once.
2014-11-06 10:10:05 -08:00
Martin Carlberg
0efb7e67c9
Fixed: Use new fast msgSend function for some foundation classes
2014-04-10 11:03:49 +02:00
Martin Carlberg
93e7133076
Fixed: Got decorators working with the fast msgSend
2014-04-09 16:52:14 +02:00
Martin Carlberg
2411edd461
Fixed: Faster objj_msgSend
...
Conflicts:
Objective-J/Runtime.js
2014-04-08 20:51:18 +02:00
Martin Carlberg
ba0604320e
Fixed: Should be 'objj_allocateProtocol' and 'objj_registerProtocol' not 'objc_allocateProtocol' and 'objc_registerProtocol'
2013-08-31 15:33:32 +02:00
Martin Carlberg
0e4ad998d8
Fixed: Remove all protocols in objj_resetRegisterClasses
2013-08-22 16:54:19 +02:00
Martin Carlberg
0afe21dd29
Fixed: Copy method descriptions to an array instead of JSObject
2013-08-22 12:37:29 +02:00
Martin Carlberg
d38125db13
New: Added Objective-J protocol support
...
The Objective-J parser and compiler now handles protocol syntax. The Objective-J runtime has new functions to handle protocols. The method 'conformsToProtocol:' has been added to CPObject as an instance and a class method.
2013-08-09 19:02:45 +02:00
Alexander Ljungberg
d3a44cbc63
New: objj_getClassList().
...
This function obtains the list of registered classes at the time its called.
2013-06-13 18:18:13 +01:00
Aparajita Fishman
eb6cdfe97c
Typo: fixed spelling in comment
2013-03-09 14:35:16 -05:00
Aparajita Fishman
ff35b4a4b6
It turns out function.displayName is no longer necessary with the latest Safari, Chrome, FireFox, and even IE 9+. All of them correctly identify the function name.
2013-02-18 16:13:13 -05:00
Martin Carlberg
c297e926f9
Compiler now works with jake and can compiler the whole Cappuccino framework. A lot of test cases still fail
2012-12-16 17:38:47 +01:00
Alexander Ljungberg
4b82cae638
Add missing semicolons.
2011-10-21 15:58:50 +01:00
Alexander Ljungberg
59aabc150c
Crude but functional infinite recursion checker, optional at compile time.
2011-06-04 01:23:24 -04:00
Francisco Ryan Tolmasky I
671666e842
Fix selector typo.
...
Reviewed by me.
2011-05-31 01:27:41 -07:00
Francisco Ryan Tolmasky I
33e4fea0ec
Fix forwarding in Objective-J (and many infinite recursions, such as when there is no superclass):
...
1. Fix infinite recursion when no superclass and method isn't implemented. Closes #469 .
2. Fix infinite recursion when coercing an object without description implemented into a string. Closes #1289 .
3. Add -forwardingTargetForSelector: support.
Reviewed by @tolmasky.
2011-05-31 00:44:16 -07:00
Francisco Ryan Tolmasky I
d23bf7b927
Some KVC cleanup:
...
1. Added class_getInstanceVariable to runtime.
2. Changed KVC to rely on class-defined variables vs prototypal ones.
3. Modified KVO code to use public APIs.
Reviewed by me.
2010-12-23 23:46:23 -08:00
Francisco Ryan Tolmasky I
f667c39ade
Further versioning fix.
...
Reviewed by me.
2010-12-10 09:04:13 -08:00
cacaodev and Ross Boucher
678563a970
Accidental globals in CPNotificationCenter and Runtime.js
2010-10-18 10:15:40 -07:00
Aparajita Fishman and Alexander Ljungberg
c91c513b60
Proposed method of excluding themed objects from the theme showcase.
...
- Also added class_respondsToSelector, it was a no-brainer.
- Cleaned up trailing whitespace in CPThemeBlend.j. Woo-hoo!
2010-08-22 22:06:22 -04:00
Francisco Ryan Tolmasky I
111ac84a65
Removed unecessary whitespace.
...
Reviewed by me.
2010-08-17 11:23:50 -07:00
Ross Boucher
f5322b39bc
Fix a debug mode bug in IE. Closes #768 .
2010-07-28 15:13:21 -07:00
Tom Robinson
478f2d8134
Name Objective-J allocators to get correct WebKit heap snapshot reports.
2010-06-09 13:16:45 -07:00
Paul Baumgart and Ross Boucher
fc8525e4d8
throw a regular Error() exception in Runtime.js because objj_exception doesn't exist anymore
2010-05-15 12:19:00 -07:00
Francisco Ryan Tolmasky I
db1454c4fe
Add display names to runtime methods.
...
Reviewed by me.
2010-03-07 15:36:32 -08:00
Francisco Ryan Tolmasky I
0881d86998
A number of performance improvements in the loader.
...
Reviewed by me.
2010-03-07 03:58:21 -08:00
Francisco Ryan Tolmasky I
20637fc5e0
Added missing licenses and removed a bit of unused code.
...
Reviewed by me.
2010-02-21 13:52:51 -08:00
Francisco Ryan Tolmasky I
7433c38d92
Pulled @each out into a separate feature branch, so as to not conflict with the 0.8 work: http://github.com/280north/cappuccino/tree/@each .
...
Reviewed by me.
2010-02-21 12:31:13 -08:00
Francisco Ryan Tolmasky I
841ed9ea89
Major cleanup of globals and exports. Removed many accidental globals and no more need for eval in the initialization process. Also fixes Theme Showcase.
...
Reviewed by me.
2010-02-20 01:04:17 -08:00
Francisco Ryan Tolmasky I
4f50f8b83f
Fix for IE Bug that caused stack overflow at line 0 when loading Objective-J every time.
...
Reviewed by me.
2010-02-17 13:39:15 -08:00
Francisco Ryan Tolmasky I
64fd9f615c
Additional performance improvements to CPFastEnumeration.
...
Reviewed by me.
2010-02-16 02:04:31 -08:00
Francisco Ryan Tolmasky I
92d28e468e
Autogenerate the index parameter for Fast Enumeration, and add Fast Enumeration support to CPIndexSet.
...
Reviewed by me.
2010-02-15 22:34:50 -08:00
Francisco Ryan Tolmasky I
f95c3ca46a
Adds fast enumeration to Cappuccino. Currently support for Arrays, dictionaries, single objects, and nil.
...
Closes #472 .
Reviewed by me.
2010-02-15 21:46:50 -08:00
Francisco Ryan Tolmasky I
3a35ab449b
Fixed failing KVO tests.
...
Reviewed by me.
2010-02-12 13:46:26 -08:00
Francisco Ryan Tolmasky I
4b7310d0cb
More consistent naming scheme.
...
Reviewed by me.
2010-01-29 15:16:22 -08:00
Francisco Ryan Tolmasky I
2bc31de69d
Removed alerts.
...
Reviewd by me.
2010-01-27 04:01:11 -08:00
Francisco Ryan Tolmasky I
38fd675f51
Performance improvements and bug fixes.
...
Reviewed by me.
2010-01-27 02:55:56 -08:00
Francisco Ryan Tolmasky I
ec210c49c5
Beginnings of new loader.
...
Reviewed by me.
2010-01-27 00:43:54 -08:00