Commit graph

66 commits

Author SHA1 Message Date
Richard Frith-MacDonald
c7eeb1bb08 Use GSObjCRuntime functions for selector types until/unless we can get
a standard runtime API that handles them.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32240 72102866-910b-0410-8b05-ffd578937521
2011-02-20 07:58:11 +00:00
Richard Frith-MacDonald
474a12b708 minor cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32234 72102866-910b-0410-8b05-ffd578937521
2011-02-19 19:42:42 +00:00
Richard Frith-MacDonald
b9b50a9fef simplify a little
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32229 72102866-910b-0410-8b05-ffd578937521
2011-02-19 17:46:45 +00:00
Richard Frith-MacDonald
b730fa45c0 zero self after dealloc if we are going to call another method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29837 72102866-910b-0410-8b05-ffd578937521
2010-03-04 12:24:43 +00:00
Richard Frith-MacDonald
7b12d4cc8e avoid objc_skip_offset()
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29814 72102866-910b-0410-8b05-ffd578937521
2010-03-01 10:34:35 +00:00
Richard Frith-MacDonald
14b91c9052 fixups for libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29753 72102866-910b-0410-8b05-ffd578937521
2010-02-25 18:49:31 +00:00
Richard Frith-MacDonald
8769dd8b6f deprecates some gnustep runtime wrappers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29697 72102866-910b-0410-8b05-ffd578937521
2010-02-22 10:13:20 +00:00
Richard Frith-MacDonald
7cc69dfaae Simplify header inclusion
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29669 72102866-910b-0410-8b05-ffd578937521
2010-02-19 08:12:46 +00:00
Richard Frith-MacDonald
b662140e16 Apply patch to switch completely to using pthreads
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29367 72102866-910b-0410-8b05-ffd578937521
2010-01-23 17:00:13 +00:00
Richard Frith-MacDonald
e4a6d046be cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28787 72102866-910b-0410-8b05-ffd578937521
2009-10-10 08:16:17 +00:00
Richard Frith-MacDonald
a6c9c8749a lrge changes to remove mframe
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28778 72102866-910b-0410-8b05-ffd578937521
2009-10-05 16:00:28 +00:00
Richard Frith-MacDonald
715bdcaa0a a bit step towards removing obsolete mframe code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28774 72102866-910b-0410-8b05-ffd578937521
2009-10-04 15:26:07 +00:00
Richard Frith-MacDonald
c4a2f62ad0 Applied patch #6677
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27080 72102866-910b-0410-8b05-ffd578937521
2008-11-17 13:45:32 +00:00
Richard Frith-MacDonald
b2b14398d2 allow developers more time to adapt to LGPLv3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26606 72102866-910b-0410-8b05-ffd578937521
2008-06-08 10:38:33 +00:00
Richard Frith-MacDonald
d6cfc0e91c Improve MacOS-X compatibility of headers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25638 72102866-910b-0410-8b05-ffd578937521
2007-11-29 20:53:26 +00:00
Richard Frith-MacDonald
62559023b9 Update to GPL3 and LGPL3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25482 72102866-910b-0410-8b05-ffd578937521
2007-09-14 11:36:11 +00:00
Richard Frith-MacDonald
f342610121 Fix logging level for when unable to open file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25204 72102866-910b-0410-8b05-ffd578937521
2007-05-29 09:07:47 +00:00
Richard Frith-MacDonald
6f2073da6e more work on hding external symbols and simplifying.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23890 72102866-910b-0410-8b05-ffd578937521
2006-10-16 09:30:18 +00:00
Richard Frith-MacDonald
eae859d1c7 Updates to reduce global namespace pollution. Plenty more remaining.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23795 72102866-910b-0410-8b05-ffd578937521
2006-10-09 14:00:01 +00:00
Richard Frith-MacDonald
546aa0c854 Avoid some gcc-4.1 compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22932 72102866-910b-0410-8b05-ffd578937521
2006-05-15 12:07:35 +00:00
Jeremy Bettis
afcdd8bca1 GSFFCallInvocation.m: If the returning context is expecting a void* but we have a different return type just cast it. This normally is because the method was not declared and has defaulted to returning id.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22781 72102866-910b-0410-8b05-ffd578937521
2006-04-12 19:43:49 +00:00
Adam Fedor
fcc13ccd0f * Update FSF Address.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21245 72102866-910b-0410-8b05-ffd578937521
2005-05-22 03:32:16 +00:00
Richard Frith-Macdonald
db7b22a4fb Tidy up use of white space so we have it after if/for/while and not after (
or before ) or padding at end of line.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20773 72102866-910b-0410-8b05-ffd578937521
2005-02-22 11:22:44 +00:00
David Ayers
d5e6b59325 * Source/GSFFCallInvocation.m
* Source/GSFFIInvocation.m (gs_protocol_selector): Skip '-'
        for negative offsets to avoid issues with pre gcc 3.4 generated
        signatures.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19975 72102866-910b-0410-8b05-ffd578937521
2004-09-02 16:35:44 +00:00
David Ayers
8cd30609bf * Headers/Foundation/NSMethodSignature.h:
(NSArgumentInfo): Document limitations of NSArgumentInfo's
        offset and registier information.  Match size for NO_GNUSTEP.
        (NSMethodSignature): Match ivar name with runtime information.

        * Source/GSFFCallInvocation.m
        * Source/GSFFIInvocation.m
        * Source/NSInvocation.m
        (gs_method_for_receiver_and_selector)
        ([-invokeWithTarget:]): Use GSGetMethod instead of deprecated
        GSGetInstanceMethod and GSGetClassMethod.
        * Source/NSConnection.m ([-_service_typeForSelector]): Ditto.
        * Source/NSDistantObject.m ([+respondsToSelector]): Ditto.
        * Source/NSObject.m ([+instanceMethodSignatureForSelector:])
        ([-methodSignatureForSelector:])
        ([+descriptionForInstanceMethod], [-descriptionForMethod]): Ditto.
        * Source/NSProtocolChecker.m ([-methodSignatureForSelector]): Ditto.
        * Source/NSProxy.m ([+methodSignatureForSelector])
        ([-methodSignatureForSelector]): Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19896 72102866-910b-0410-8b05-ffd578937521
2004-08-20 17:53:16 +00:00
David Ayers
977af9c25e * Headers/Additions/GNUstepBase/GSObjCRuntime.h
* Source/Additions/GSObjCRuntime.m (GSSelectorTypesMatch):
        New Function.
        (gs_skip_type_qualifier_and_layout_info): Ditto.

        * Source/callframe.m (callframe_do_call): Use
	GSSelectorTypesMatch instead of sel_types_match.
        * Source/cifframe.m (cifframe_do_call): Ditto.
        * Source/mframe.m (mframe_do_call): Ditto.

        * Source/GSFFCallInvocation.m (GSInvocationCallback): Use
        NSDebugFLog to NSWarnFLog.
        * Source/GSFFIInvocation.m (GSFFIInvocationCallback): Ditto.

        * Testing/nsmethodsignature.m: Use GSSelectorTypesMatch
	instead of sel_types_match.  Test it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19886 72102866-910b-0410-8b05-ffd578937521
2004-08-19 16:19:48 +00:00
David Ayers
1e7e1572e2 * Headers/Foundation/NSMethodSignature.h
* Source/NSMethodSignature.m
        * Source/GSFFCallInvocation.m
        * Source/GSFFIInvocation.m: Revert last mframe patch.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19667 72102866-910b-0410-8b05-ffd578937521
2004-07-02 08:04:54 +00:00
David Ayers
8712b7b537 * Headers/Foundation/NSMethodSignature.h
(_internalMethodTypes): New instance variable.
        * Source/NSMethodSignature.m: ([+signatureWithObjCTypes]): Store
        the runtime signature separately from the mframe signature.
        Document.
        ([-dealloc]): Free new instance variable.
        ([-methodInfo]): Use _internalMethodTypes to build argument
        information.

        * Source/GSFFCallInvocation.m (GSInvocationCallback)
        * Source/GSFFIInvocation.m (GSInvocationCallback): Use the
        selector registered in the runtime for the receiver instead of
        the constructed selector from the stack to avoid mismatches in the
        runtime.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19662 72102866-910b-0410-8b05-ffd578937521
2004-07-01 11:38:19 +00:00
Wim (Willem Rein) Oudshoorn
964cb5e3b3 (GSInvocationCallback): Try to find type information
if not available, also changes wording of exception when no type information is found.
(Fixes #8654)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19190 72102866-910b-0410-8b05-ffd578937521
2004-04-26 07:51:35 +00:00
David Ayers
fda10c748a Various GSObjCRuntime usage cleanups.
See ChangeLog for details.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17533 72102866-910b-0410-8b05-ffd578937521
2003-08-24 23:07:41 +00:00
David Ayers
ac30183cd6 Header reorganizsateion - Please refer to ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17407 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:49:32 +00:00
Richard Frith-Macdonald
cfe8d9e881 Tidyups etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17380 72102866-910b-0410-8b05-ffd578937521
2003-07-28 10:53:18 +00:00
Richard Frith-Macdonald
d96f5b48c8 Minor fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17347 72102866-910b-0410-8b05-ffd578937521
2003-07-26 06:48:44 +00:00
Richard Frith-Macdonald
026f35f821 Tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17163 72102866-910b-0410-8b05-ffd578937521
2003-07-07 05:11:16 +00:00
Richard Frith-Macdonald
33c3cfc8c8 DO type info fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17102 72102866-910b-0410-8b05-ffd578937521
2003-07-04 15:11:15 +00:00
Richard Frith-Macdonald
bde21db4d6 Add a couple of warning logs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17097 72102866-910b-0410-8b05-ffd578937521
2003-07-04 10:52:56 +00:00
Richard Frith-Macdonald
2a99982e1a Fix for fetching type information from remote system.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17095 72102866-910b-0410-8b05-ffd578937521
2003-07-04 09:33:53 +00:00
David Ayers
f6c50c154d * Source/GSFFCallInvocation.m
(gs_method_for_receiver_and_selector): Replace usage of
        class_get_instance/class_method with GSGetInstance/ClassMethod and
        Method_t with GSMethod.
        (gs_find_by_receiver_best_typed_sel): Ditto.
        (GSInvocationCallback): Ditto.
        ([GSFFCallInvocation -invokeWithTarget:]): Ditto.
        * Source/GSFFIInvocation.m
        (gs_method_for_receiver_and_selector): Ditto.
        (gs_find_by_receiver_best_typed_sel): Ditto.
        (GSFFIInvocationCallback): Ditto.
        ([GSFFIInvocation -invokeWithTarget:]): Ditto.
        * Source/NSConnection.m
        ([NSConnection -_service_typeForSelector:]): Ditto.
        * Source/NSInvocation.m
        ([NSInvocation -invokeWithTarget:]): Ditto.
        * Source/NSObject.m
        ([NSObject +instanceMethodSignatureForSelector:]): Ditto.
        ([NDObject -methodSignatureForSelector:]): Ditto.
        ([NSObject +descriptionForInstanceMethod:]): Ditto.
        ([NSOnject -descriptionForMethod:]: Ditto.
        * Source/NSProxy.m
        ([NSProxy +methodSignatureForSelector:]): Ditto.
        ([NSProxy -methodSignatureForSelector:]): Ditto.
        * Source/NSDistantObject.m
        ([NSObject -selectorTypeForProxy:]): Ditto.
        ([NSDistantObject +respondsToSelector:]): Ditto. Corrected
        implementation to check class methods instead of instance methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17016 72102866-910b-0410-8b05-ffd578937521
2003-06-25 10:26:29 +00:00
Adam Fedor
d228cba99b Change syntax of includes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16874 72102866-910b-0410-8b05-ffd578937521
2003-06-07 01:24:41 +00:00
Richard Frith-Macdonald
edfa212583 Encoding/decoding fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16417 72102866-910b-0410-8b05-ffd578937521
2003-04-10 16:26:09 +00:00
Richard Frith-Macdonald
382a204d75 Invocation fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15873 72102866-910b-0410-8b05-ffd578937521
2003-02-04 18:18:47 +00:00
Richard Frith-Macdonald
9e7fe6bf12 Tidied for gcc-3.4
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15476 72102866-910b-0410-8b05-ffd578937521
2003-01-03 20:14:47 +00:00
Adam Fedor
c16674f37a Merge from 1.4.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14208 72102866-910b-0410-8b05-ffd578937521
2002-07-29 19:37:40 +00:00
Adam Fedor
377fd7db34 Libffi support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13506 72102866-910b-0410-8b05-ffd578937521
2002-04-18 16:02:12 +00:00
Richard Frith-Macdonald
3a883d89b5 Invocation related fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12566 72102866-910b-0410-8b05-ffd578937521
2002-02-20 05:08:46 +00:00
Richard Frith-Macdonald
77c70d4df7 Performance tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12526 72102866-910b-0410-8b05-ffd578937521
2002-02-13 18:49:32 +00:00
Richard Frith-Macdonald
d161236d1e Use new GSI api
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12359 72102866-910b-0410-8b05-ffd578937521
2002-02-01 10:41:00 +00:00
Richard Frith-Macdonald
59e387cc17 hashtable bugfix
GSI code version optional.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12358 72102866-910b-0410-8b05-ffd578937521
2002-02-01 10:19:56 +00:00
Richard Frith-Macdonald
1d89ca34a4 put extra info in array, and allow retain/release macros to refer to it.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12324 72102866-910b-0410-8b05-ffd578937521
2002-01-31 07:20:16 +00:00
Richard Frith-Macdonald
b43b20c392 New improved GSI map macros and added support for GSM alphabet.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12210 72102866-910b-0410-8b05-ffd578937521
2002-01-24 17:03:04 +00:00