... call3.1
Please note that this is completely consistent with C, where NSPoint is a struct, which is passed to the called function by value - the Objective-C function/method can not modify the original NSPoint argument, because it is only given a local copy of it. This works from Java in the same way: you pass to your method a Java NSPoint object as the argument; the method will not modify it. This is an important point if you want to compare JIGS with Apple's Java Bridge. Recent releases of Apple's OPENSTEP-like environment add a flock of new C types to their Foundation library - namely, NSPointPointer, NSSizePointer, NSRectPointer, NSRangePointer, NSPointArray, NSSizeArray, NSRectArray and NSRangeArray - which are then all mapped in a different way to Java; correspondingly, they have different Java classes (for example they have NSMutablePoint, corresponding to their new C type NSPointPointer). GNUstep will possibly have these C types for compatibility with Apple, but their use is discouraged, and the same must be said for future implementation of NSMutablePoint and similar. JIGS's wrapping of NSPoint has been designed to be as easy, intuitive and fast as possible - and in the spirit of the original OPENSTEP design/specification.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... class3.2
The Apple Java Bridge has the same memory management problem, but it does not provide this method, so on their platform the Java programmer has to use a hack (an auxiliary array) to deal with it.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.