maybe finished NSInvocation

This commit is contained in:
Matvii Jarosh 2024-11-25 19:22:39 +02:00
parent 410b295b01
commit 64308292a8
3 changed files with 50 additions and 5 deletions

View file

@ -1,3 +1,10 @@
2024-11-25 Matvii Jarosh <matviijarosh@gmail.com>
* NSInvocation.h: add enum _NSObjCValueType and
typedef structNSObjCValue. There are no functions not implemented
in NSInvocation.h left.
* MISSING:
2024-11-21 Matvii Jarosh <matviijarosh@gmail.com>
* NSValue: add valueWithEdgeInsets and edgeInsetsValue.

View file

@ -27,6 +27,7 @@
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSMethodSignature.h>
#include <stdbool.h>
#if defined(__cplusplus)
extern "C" {
@ -154,6 +155,47 @@ GS_EXPORT_CLASS
[NSInvocation _returnInvocationAndDestroyProxy: __proxy]; \
})
typedef NS_ENUM(char, _NSObjCValueType)
{
NSObjCArrayType = '[',
NSObjCBitfield = 'b',
NSObjCBoolType = 'B',
NSObjCCharType = 'c',
NSObjCDoubleType = 'd',
NSObjCFloatType = 'f',
NSObjCLonglongType = 'q',
NSObjCLongType = 'l',
NSObjCNoType = '\0',
NSObjCObjectType = '@',
NSObjCPointerType = '^',
NSObjCSelectorType = ':',
NSObjCShortType = 's',
NSObjCStringType = '*',
NSObjCStructType = '{',
NSObjCUnionType = '(',
NSObjCVoidType = 'v',
};
typedef struct
{
_NSObjCValueType type;
union
{
bool boolValue;
char charValue;
double doubleValue;
float floatValue;
long long longlongValue;
long longValue;
id objectValue;
void *pointerValue;
SEL selectorValue;
short shortValue;
char *cStringLocation;
void *structLocation;
} value;
} NSObjCValue;
#if defined(__cplusplus)
}
#endif

View file

@ -257,12 +257,7 @@ NSIndexSet:
- enumerateRangesUsingBlock:
- enumerateRangesWithOptions:usingBlock:
- enumerateRangesInRange:options:usingBlock:
-------------------------------------------------------------
NSInvocation:
<stdbool.h>
enum _NSObjCValueType
typedef struct NSObjCValue
-------------------------------------------------------------
NSKeyedArchiver:
<NSGeometry.h>
@ -885,3 +880,4 @@ Good headers:
<NSXMLDTD.h>
<NSXMLDTDNode.h>
<NSXMLElement.h>
<NSInvocation.h>