mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 08:41:03 +00:00
lrge changes to remove mframe
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28778 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
cf82bd5792
commit
a6c9c8749a
43 changed files with 555 additions and 4725 deletions
|
@ -34,44 +34,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if OS_API_VERSION(GS_API_NONE, GS_API_MACOSX)
|
||||
/**
|
||||
* <p>Info about layout of arguments.
|
||||
* Extended from the original OpenStep version to let us know if the
|
||||
* arg is passed in registers or on the stack.</p>
|
||||
*
|
||||
* <p>NB. This no longer exists in Rhapsody/MacOS.</p>
|
||||
<example>
|
||||
typedef struct {
|
||||
int offset;
|
||||
unsigned size;
|
||||
const char *type;
|
||||
unsigned align; // extension, available only in GNUSTEP
|
||||
unsigned qual; // extension, available only in GNUSTEP
|
||||
BOOL isReg; // extension, available only in GNUSTEP
|
||||
} NSArgumentInfo;
|
||||
</example>
|
||||
* <p>NB. The offset and register information may not always be reliable.
|
||||
* In the past it was dependent on locally maintained platform dependent
|
||||
* information. In the future it may depend on layout information
|
||||
* supplied by the compiler.</p>
|
||||
*/
|
||||
typedef struct {
|
||||
int offset;
|
||||
unsigned size;
|
||||
const char *type;
|
||||
#if OS_API_VERSION(GS_API_NONE, GS_API_NONE)
|
||||
unsigned align;
|
||||
unsigned qual;
|
||||
BOOL isReg;
|
||||
#else
|
||||
unsigned _reserved1;
|
||||
unsigned _reserved2;
|
||||
BOOL _reserved3;
|
||||
#endif
|
||||
} NSArgumentInfo;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* <p>Class encapsulating type information for method arguments and return
|
||||
* value. It is used as a component of [NSInvocation] to implement message
|
||||
|
@ -80,7 +42,7 @@ typedef struct {
|
|||
* [NSObject-methodSignatureForSelector:].</p>
|
||||
*
|
||||
* <p>Basically, types are represented as Objective-C <code>@encode(...)</code>
|
||||
* compatible strings, together with size information. The arguments are
|
||||
* compatible strings. The arguments are
|
||||
* numbered starting from 0, including the implicit arguments
|
||||
* <code><em>self</em></code> (type <code>id</code>, at position 0) and
|
||||
* <code><em>_cmd</em></code> (type <code>SEL</code>, at position 1).</p>
|
||||
|
@ -90,11 +52,7 @@ typedef struct {
|
|||
const char *_methodTypes;
|
||||
NSUInteger _argFrameLength;
|
||||
NSUInteger _numArgs;
|
||||
#if OS_API_VERSION(GS_API_NONE, GS_API_MACOSX)
|
||||
NSArgumentInfo *_info;
|
||||
#else
|
||||
void *_info;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -103,14 +61,6 @@ typedef struct {
|
|||
*/
|
||||
+ (NSMethodSignature*) signatureWithObjCTypes: (const char*)t;
|
||||
|
||||
#if OS_API_VERSION(GS_API_OPENSTEP, GS_API_MACOSX)
|
||||
/**
|
||||
* Returns full information on given argument. Indices start at 0. Provide
|
||||
* -1 to get info on return value.
|
||||
*/
|
||||
- (NSArgumentInfo) argumentInfoAtIndex: (NSUInteger)index;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Number of bytes that the full set of arguments occupies on the stack, which
|
||||
* is platform(hardware)-dependent.
|
||||
|
@ -121,7 +71,8 @@ typedef struct {
|
|||
* Returns Objective-C <code>@encode(...)</code> compatible string. Arguments
|
||||
* are numbered starting from 0, including the implicit arguments
|
||||
* <code><em>self</em></code> (type <code>id</code>, at position 0) and
|
||||
* <code><em>_cmd</em></code> (type <code>SEL</code>, at position 1).
|
||||
* <code><em>_cmd</em></code> (type <code>SEL</code>, at position 1).<br />
|
||||
* Type strings may include leading type qualifiers.
|
||||
*/
|
||||
- (const char*) getArgumentTypeAtIndex: (NSUInteger)index;
|
||||
|
||||
|
@ -138,10 +89,9 @@ typedef struct {
|
|||
- (NSUInteger) methodReturnLength;
|
||||
|
||||
/**
|
||||
* Returns Objective-C <code>@encode(...)</code> compatible string. Arguments
|
||||
* are numbered starting from 0, including the implicit arguments
|
||||
* <code><em>self</em></code> (type <code>id</code>, at position 0) and
|
||||
* <code><em>_cmd</em></code> (type <code>SEL</code>, at position 1).
|
||||
* Returns an Objective-C <code>@encode(...)</code> compatible string
|
||||
* describing the return type of the method. This may include type
|
||||
* qualifiers.
|
||||
*/
|
||||
- (const char*) methodReturnType;
|
||||
|
||||
|
@ -153,26 +103,6 @@ typedef struct {
|
|||
|
||||
@end
|
||||
|
||||
#if GS_API_VERSION(GS_API_NONE, 011700)
|
||||
/**
|
||||
* Declares a convenience method for getting the entire array of raw type and
|
||||
* size information.
|
||||
*/
|
||||
@interface NSMethodSignature(GNUstep)
|
||||
/**
|
||||
* Convenience method for getting the entire array of raw type and size
|
||||
* information.
|
||||
*/
|
||||
- (NSArgumentInfo*) methodInfo;
|
||||
|
||||
/**
|
||||
* Returns a string containing all Objective-C
|
||||
* <code>@encode(...)</code> compatible type information.
|
||||
*/
|
||||
- (const char*) methodType;
|
||||
@end
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue