Comment: | Remove forwarding methods. See long commit message for details.
There are two resons for removing it: First, OFPlugin does not need forwarding anymore. Second is that In GNU libobjc, objc_msg_sendv is implemented using __builtin_apply, Now the Apple runtime has a similar problem: There is no objc_msgSendv Writing those 3 ASM implementations (or 5, so we don't depend on ObjC1 forward:: and performv:: were only designed to return scalar types. But While this works for forwarding due to the ABI on x86 (and the ABIs on This is why I decided to remove forwarding and performv:: from libobjfw |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
57fb5578ccbf50db7566a37efd04b402 |
User & Date: | js on 2009-04-19 17:37:52 |
Other Links: | manifest | tags |
2009-04-19
| ||
18:13 | Minor cleanups. check-in: 54850dda81 user: js tags: trunk | |
17:37 | Remove forwarding methods. See long commit message for details. check-in: 57fb5578cc user: js tags: trunk | |
17:06 | Don't use forwarding for OFPlugin. check-in: 179174571e user: js tags: trunk | |
Modified src/OFObject.h from [e051be24f6] to [9fc0378e5d].
︙ | ︙ | |||
98 99 100 101 102 103 104 | /** * \param selector The selector for which the method should be returned * * \return The implementation for the specified selector */ - (IMP)methodFor: (SEL)selector; | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | /** * \param selector The selector for which the method should be returned * * \return The implementation for the specified selector */ - (IMP)methodFor: (SEL)selector; /** * Compare two objects. * Classes containing data (like strings, arrays, lists etc.) should reimplement * this! * * \param obj The object which is tested for equality * \return A boolean whether the object is equal to the other object |
︙ | ︙ |
Modified src/OFObject.m from [7381da9158] to [a0cbb15bb4].
1 2 3 4 5 6 7 8 9 10 11 | /* * Copyright (c) 2008 - 2009 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of libobjfw. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ | < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /* * Copyright (c) 2008 - 2009 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of libobjfw. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ #import "config.h" #include <stdlib.h> #include <string.h> #include <limits.h> #import "OFObject.h" |
︙ | ︙ | |||
183 184 185 186 187 188 189 | else return method_get_imp(class_get_class_method(isa, selector)); #else return class_getMethodImplementation(isa, selector); #endif } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | else return method_get_imp(class_get_class_method(isa, selector)); #else return class_getMethodImplementation(isa, selector); #endif } - (BOOL)isEqual: (id)obj { /* Classes containing data should reimplement this! */ return (self == obj ? YES : NO); } - (uint32_t)hash |
︙ | ︙ |