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:
Richard Frith-MacDonald 2009-10-05 16:00:28 +00:00
parent cf82bd5792
commit a6c9c8749a
43 changed files with 555 additions and 4725 deletions

View file

@ -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